 |
| |
|
|
 |
Autor |
Nachricht |
 |
| |
| erich.wanker |
#1| Verfasst am: 29.08.2008, 13:48 Titel: Mathematische Frage: Punkt auf Kreislinie finden… |
 |
 |
 |
|
Mitglied Status: offline Beiträge: 20 angemeldet: 31.01.2008 Delphi 7 Professional

|
Sprache: Delphi (Win32) Hallo Leute,
Ich will Labels untereinander darstellen. Die sollen aber nicht linksbündig untereinander stehen, sondern einen Kreisausschnitt bilden.
Ich geh mal davon aus, das der oberste punkt auf einem Kreis den Winkel 0 hat..
Mittelpunkt des Kreises: 100 / 300
Radius: 200 Pixel
Winkelschritte: 10 Grad
Start bei 10 Grad ( ca. 2 Minuten nach zwölf Uhr )
Anzahl Labels 10 Stk.
Irgendwie schaff ich´s nicht
Im rechtwinkligen Dreieck:
Ich hab den Winkel Alpha, Die Hypotenuse ist der Radius und gesucht sind die 2 Katheten
Hoffe, es kann mir jemand helfen..
Vielen Dank
Erich
----------------------------------------------------
// kleiner Blindtext…//
uses math...
procedure TForm1.SpeedButton1Click(Sender: TObject);
Var
My_label: array [0..9] of tlabel;
Winkelschritte,
Startwinkel,
Kreis_x,
Kreis_y,
Kreisradius,
Aktueller_Winkel: Integer;
i:Integer;
x,y:Integer;
begin
// init..
Label1:=my_label[0];
Label2:=my_label[1];
Label3:=my_label[2];
Label4:=my_label[3];
Label5:=my_label[4];
Label6:=my_label[5];
Label7:=my_label[6];
Label8:=my_label[7];
Label9:=my_label[8];
Label10:=my_label[9];
Winkelschritte:=10;
Startwinkel:=10;
Kreis_x:=300;
Kreis_y:=300;
Kreisradius:=200;
Aktueller_Winkel:=0;
For i:= 0 to 9 do
Begin
Aktueller_Winkel:=Startwinkel+(Winkelschritte*i);
// HIER GEHT´S LOS !! //
X:=Kreis_x+ Trunc((sin (Aktueller_Winkel)) * Kreisradius);
Y:=Kreis_y+ Trunc((cos (Aktueller_Winkel)) * Kreisradius);
// HIER ENDET´S !! //
my_label[i].left:= x;
my_label[i].top:= y;
End; // for i
End; //procedure
end. |
|
 |
|
|
|
| |
| inherited |
#2| Verfasst am: 29.08.2008, 15:28 Titel: Re: Mathematische Frage: Punkt auf Kreislinie finden… |
 |
 |
 |
|
"Rüsselmops" ;-) Alter: 17 Beiträge: 1.846 angemeldet: 19.12.2005 Wohnort: Rosdorf Turbo Delphi für Win32

|
Vermutlich ist das problem, dass sin und cos Bogemaß als Parameter erwartet und nicht Winkel. Du musst den Winkel zuerst mit DegToRad() in Bogenmaß umrechnen |

SWIM SWIM HUNGRY!
Neuer Blog: hier! |
 |
|
|
|
| |
| erich.wanker |
#3| Verfasst am: 29.08.2008, 16:35 Titel: Re: Mathematische Frage: Punkt auf Kreislinie finden… |
 |
 |
 |
|
Mitglied Status: offline Beiträge: 20 angemeldet: 31.01.2008 Delphi 7 Professional

|
Yeppp .. das war´s , danke !
X:=Kreis_x+Trunc((sin (DegToRad(Aktueller_Winkel) )) * Kreisradius);
Y:=Kreis_y+Trunc((cos (DegToRad(Aktueller_Winkel) )) * Kreisradius);
....
vielen Dank
Erich |
|
 |
|
|
|
 |
|
 |
| |
|
|
| |
 
|
|
| |
|
Du darfst keine Beiträge in dieses Forum schreiben. Du darfst auf Beiträge in diesem Forum nicht antworten. Du darfst Deine Beiträge in diesem Forum nicht bearbeiten. Du darfst Deine Beiträge in diesem Forum nicht löschen. Du darfst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum nicht posten. Du kannst Dateien in diesem Forum nicht herunterladen.
|
|
 |