Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Rotierenden Vektor ausgeben (https://www.delphipraxis.net/15047-rotierenden-vektor-ausgeben.html)

DeadEternity 21. Jan 2004 09:39


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

Jens Schumann 21. Jan 2004 10:12

Re: Rotierenden Vektor ausgeben
 
Hallo,
schau mal dort nach http://www.delphipraxis.com/topic520...ght=sonne+mond

In meinem Beispiel rotiert die Erde um die Sonne und der Mond um die Erde.
Delphi-Quellcode:
    FXmoveEarth:=Xm+Round((FSun.Width-25)*sin(2*Pi*FTime/360));
    FYmoveEarth:=Ym+Round((FSun.Width-25)*cos(2*Pi*FTime/360));
Der X-Wert wird mit dem sin und der Y-Wert wird mit cos berechnet.

Seniman 21. Jan 2004 23:04

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:
x:=mx+laenge*cos(Winkel);
y:=my+laenge*sin(Winkel);
Falls x und y unbedingt Integer sein müssen, dann mache es so:

Delphi-Quellcode:
x:=Round(mx+laenge*cos(Winkel));
y:=Round(my+laenge*sin(Winkel));
(Das ist im Prinzip der gleiche Code wie von Jens, nur übersichtlicher, wegen der eindeutigeren Bezeichnungen)
Beim Berechnen von Sinus und Kosinus musst du beachten, dass der Winkel in Bogenmaß angegeben werden muss.

Grüße
Seniman

DeadEternity 10. Feb 2004 15:14

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