Autor Beitrag
mhsteuer
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 23



BeitragVerfasst: Do 16.12.04 11:23 
Hi Leute!

Habe mal eine kleines Programm geschrieben, welches die Bewegung eines Rades mit einer Speiche simulieren soll. Die Speiche im oberen Halbkreis zu drehen war kein großes Problem. Aber wie funktioniert das beim unteren Halbkreis, d.h. wenn sich die Speiche entgegen der Fahrtrichtung bewegt. Den bisherigen Quelltext füge ich unten ein.

Danke!

Quelltext:

procedure TForm1.Kreis(mx,my,r,x: integer; var y1,y2: integer);
begin
y1:=round(my+sqrt(sqr(my)-(sqr(my)-sqr(r)+sqr(x-mx))));
y2:=round(my-sqrt(sqr(my)-(sqr(my)-sqr(r)+sqr(x-mx))));
end;

procedure TForm1.Button1Click(Sender: TObject);
var i,y1,y2: integer;
begin
with image1.Canvas do
begin
x:=100;
y:=150;
r:=50;
for i:=0 to 100 do
begin
pen.color:=clwhite;
ellipse(x+i-50,y-50,x+i+50,y+50); //Kreis übermalen
pen.color:=clblack;
ellipse(x+(i+1)-50,y-50,x+(i+1)+50,y+50); //neuer Kreis
Kreis(x+(i+1),y,r,x-49+(i*2),y1,y2); //y-Koordinaten der Kreispunkte
moveto(x+(i+1),y); //Startpunkt der Speiche
lineto(x-49+(i*2),y2); //Endpunkt der Speiche
sleep(50);
image1.Update;
end;
end;
end;

_________________
Mittsommernacht
Tilo
ontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 1098
Erhaltene Danke: 13

Win7 geg. WInXP oder sogar Win98
Rad2007
BeitragVerfasst: Do 16.12.04 19:59 
Wie währe es eine ähnliche Routine mit I:=100 downto 0 und invertieter Vertikalkomponeten?