AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Spirolaterkurve

Ein Thema von TeddyPicker · begonnen am 8. Okt 2007 · letzter Beitrag vom 8. Okt 2007
Antwort Antwort
TeddyPicker

Registriert seit: 24. Sep 2007
3 Beiträge
 
#1

Spirolaterkurve

  Alt 8. Okt 2007, 09:47
Das ist der Quelltext und Formular zur Aufgabe und ich komme einfach nicht weiter habe echt schon alles ausprobiert und frage deshalb ob mir jemand helfen kann...(ich hoffe es wird angezeigt )
Angehängte Dateien
Dateityp: dpr project1_196.dpr (188 Bytes, 3x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Spirolaterkurve

  Alt 8. Okt 2007, 09:54
Bei konkreten Problem helfen wir gerne. Es wird dir hier aber keine deine Hausaufgaben machen. Und so wie du hier dein Posting eingestellt hast, wird die Bereitschaft dir zu helfen gleich null sein. Also setz dich noch mal hin und überleg, wo du nicht weiterkommst, dann stell uns etwas Quelltext von der betreffenden Stelle zur Verfügung und wir können dir eventuell helfen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
TeddyPicker

Registriert seit: 24. Sep 2007
3 Beiträge
 
#3

Re: Spirolaterkurve

  Alt 8. Okt 2007, 09:57
hier ist der quelltext ..und ich wurd nicht fragen wenn ich nicht echt schon alles probiert habe denn sonst könnt ich auch allein ...es ist auch keine hausaufgabe (ich weiß das das hier kein hausaufgaben forum ist)..ich dachte man kann mir hier helfen eine lösung für das problem zu finden

Delphi-Quellcode:
unit Unit1;


var
  Form1: TForm1;

implementation

{$R *.dfm}
function f(x:real):real;
begin f:=(((x-4)*x-2)*x+4)*x+5
end;

procedure TForm1.Imageleeren;
begin
  image1.Canvas.Brush.Color:=clWhite;
  image1.Canvas.Pen.Color:=clWhite;
  image1.Canvas.Rectangle(0,0,image1.Width,image1.Height);
  image1.Canvas.Pen.Color:=clBlack;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Imageleeren;
  SpinEditx.Value:=image1.Width div 3;
  SpinEdity.Value:=image1.Height div 2;
end;

procedure TForm1.ButtonZeichnenClick(Sender: TObject);

//var
//x,y:real;
//xs:integer;

begin
 //for xs:=0 to xsMax do begin
//x:= xmin + xs;
//y:=f(x);
//ys:= round ((yMax-y)* yMF);


//end;
//write;readln
end ;
procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  SpinEditx.Value:=x;
  SpinEdity.Value:=y;
  ButtonZeichnenClick(self);
end;

end.
[edit=Luckie]Delphi-Codetags eingefügt. Beim nächsten mal bitte selber machen. Mfg, Luckie[/edit]
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Spirolaterkurve

  Alt 8. Okt 2007, 10:07
Wir wissen immer noch nicht, was dein Problem ist. Bisher sagst du uns nicht mehr, wie "Geht nicht." Was sollen wir damit anfangen?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
TeddyPicker

Registriert seit: 24. Sep 2007
3 Beiträge
 
#5

Re: Spirolaterkurve

  Alt 8. Okt 2007, 10:12
um es genau zu sagen sollen das programm kurven zeichnen und ich soll mir dazu ein programm ausdenken dazu und ich hab schon in nbüchern dazu nachgelen komm aber trotzdem nicht weiter --> also kann ich dir nicht genau sagen was mein problem ist
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.640 Beiträge
 
#6

Re: Spirolaterkurve

  Alt 8. Okt 2007, 10:23
Gut.

Jetzt stell Dir mal vor, Du würdest diese Kurven von Hand auf einem Blatt Papier zeichnen müssen.
Wie würdest Du da vorgehen?

Du würdest im einfachsten Ansatz zu jedem x-Wert den korrespondierenden y-Wert ausrechnen, diese Punkte in ein Koordinatensystem einzeichnen und diese Punkte dann alá Malen nach Zahlen verbinden.

Das Koordinatensystem liefert Dir das Pixelsystem Deines Bildschirms. Hier musst Du nur aufpassen: X wird wie bekannt nach rechts aufgetragen, der Y-Wert 0 ist aber oben und wird größer, je weiter Du nach unten gehst. Also musst Du Deinen ausgerechneten Y-Wert von der gesamthöhe der Zeichenfläche abziehen, um die Kurve nicht gespiegelt zu zeichnen.

Je nachdem, wie groß Du das Zeichnen willst, musst Du eine entsprechende Skalierung wählen. Für jedes Pixel einen Wert zu nehmen dürfte nicht ansehnlich sein. Du könntest also z.B. 10 Pixel für einen Wert wählen, und rechnest dann in Zehntelschritten, also 0,1 ; 0,2 ; ... 0,9 ; 1,0. Das Ergebnis rundest Du auf eine Nachkommastelle. Dann das ganze mal 10 und Du hast Deine Wert -> Koordinaten Zuordnung.

Und wenn Du das dann von xMin bis xMax ausgerechnet hast (Stichwort zur Speicherung der Ergebnisse: Array), dann brauchst Du nur noch jeden Wert daraus als Pixel zu zeichnen und Du hast die Aufgabe gelöst.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:37 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz