Autor Beitrag
stark
Hält's aus hier
Beiträge: 3


Borland Developerstudio Pro 2006
BeitragVerfasst: Mo 21.07.08 01:07 
Hi,

ich möchte die Abwicklung eines Kegelstumpsberechnen und diese dann graphisch darstellen. Ich habe den Winkel (die Rechnung habe ich auch mit einem anderen Verfahren verifiziert), ich hab die Radien.
Nun zeichne ich zwei Vollkreise, anschliessend möchte ich auf den Kreisen jeweils den Umfang des Kegelstumpfbodens und des Kegelstumpf (Kopf? wie nennt man das?) auftragen. Dieser Umfang ist ein Bogen, damit ich den Bogen aber richtig zeichnen kann muss ich die Koordinate des Endpunktes berechnen.
Die Formel lautet:
x := cos(winkel) * kreisRadius
y := sin(winkel) * kreisRadius

Wenn ich diese Fromel anwende kommt nix sinnvolles raus, da Delphi mit rad rechnet. eine Formel die mir einen (fast korrekten) Bogen zeichnet ist:

x := floor((1/arccos(winkel)) * radius)
y := floor((1/arcsin(winkel)) * radius)

Der x-Wert liegt in einem sinnvollen Bereich (vermutlich aber bis zu 10 Pixel zu weit), während der y-Wert bei an die 20000 liegt, das Image-Objekt in welches ich hinein zeichne hat eine Größe von 320x320.

Hat jemand eine Idee wie ich das Problem lösen kann?

MfG & Danke

Alexander


Moderiert von user profile iconNarses: Topic aus VCL (Visual Component Library) verschoben am Mo 21.07.2008 um 01:15
Martok
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 3661
Erhaltene Danke: 604

Win 8.1, Win 10 x64
Pascal: Lazarus Snapshot, Delphi 7,2007; PHP, JS: WebStorm
BeitragVerfasst: Mo 21.07.08 02:46 
user profile iconstark hat folgendes geschrieben:

Die Formel lautet:
x := cos(winkel) * kreisRadius
y := sin(winkel) * kreisRadius

Wenn ich diese Fromel anwende kommt nix sinnvolles raus, da Delphi mit rad rechnet. eine Formel die mir einen (fast korrekten) Bogen zeichnet ist:


ausblenden Delphi-Quelltext
1:
2:
x := cos(degtorad(winkel)) * kreisRadius
y := sin(degtorad(winkel)) * kreisRadius

_________________
"The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."