![]() |
Rotierenden Vektor ausgeben
Hi Leute
Ich brauch einen um 360 Grad rotierenden Vektor, der mir bei jedem Grad einen Punkt zeichnet. Außerdem muss ich noch die Vektorlänge verändern können. Ich möchte damit die Richtcharakteristik eines Lautsprechers graphisch darstellen. Vielen Dank im Voraus MfG Daniel |
Re: Rotierenden Vektor ausgeben
Hallo,
schau mal dort nach ![]() In meinem Beispiel rotiert die Erde um die Sonne und der Mond um die Erde.
Delphi-Quellcode:
Der X-Wert wird mit dem sin und der Y-Wert wird mit cos berechnet.
FXmoveEarth:=Xm+Round((FSun.Width-25)*sin(2*Pi*FTime/360));
FYmoveEarth:=Ym+Round((FSun.Width-25)*cos(2*Pi*FTime/360)); |
Re: Rotierenden Vektor ausgeben
Hallo DeadEternity,
probier es mal so: Wenn (mx,my) der Mittelpunkt ist, um den sich der Vektor dreht, "laenge" die Länge des Vektors ist und "winkel" der Winkel ist, dann berechnest du die Koordinaten x und y des zu zeichnenden Punktes so:
Delphi-Quellcode:
Falls x und y unbedingt Integer sein müssen, dann mache es so:
x:=mx+laenge*cos(Winkel);
y:=my+laenge*sin(Winkel);
Delphi-Quellcode:
(Das ist im Prinzip der gleiche Code wie von Jens, nur übersichtlicher, wegen der eindeutigeren Bezeichnungen)
x:=Round(mx+laenge*cos(Winkel));
y:=Round(my+laenge*sin(Winkel)); Beim Berechnen von Sinus und Kosinus musst du beachten, dass der Winkel in Bogenmaß angegeben werden muss. Grüße Seniman |
Re: Rotierenden Vektor ausgeben
Danke, genau das hab ich gebraucht! :hello:
Jetzt muss ich das Ganze nur noch irgendwie graphisch darstellen. Wird schon irgendwie werden... MfG Daniel |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:27 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz