![]() |
Mathematische Frage: Punkt auf Kreislinie finden…
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. |
Re: Mathematische Frage: Punkt auf Kreislinie finden…
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
|
Re: Mathematische Frage: Punkt auf Kreislinie finden…
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 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:08 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-2025 by Thomas Breitkreuz