Hallo Forum,
folgendes Problem:
Ich berechne mit dem nachfolgenden Codeteil die kartesischen Koordinaten eines Polygonprofil's für die X und Y Achse einer CNC-Fräsmaschine.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18:
| i:=0; while i < 360 do begin
Boglen := Pi() * i / 180; Korv[i].X := ((Rm - Data.e * cos(Data.n * Boglen)) * cos(Boglen) - Data.n * Data.e * sin(Data.n * Boglen) * sin(Boglen));
Korv[i].Y := ((Rm - Data.e * cos(Data.n * Boglen)) * sin(Boglen) + Data.n * Data.e * sin(Data.n * Boglen) * cos(Boglen));
inc(i); end; |
Beispiel-Profil einer kommerziellen Software:
www.gopion.com/epion...in_body/1/wn6_1e.gif
Mein Problem liegt nun darin, daß das Profil immer die gleiche Ausgangslage besitzt. Eine Ecke liegt links und die anderen beide sind rechts oben bzw. rechts unten. Durch vertauschen der trigonometrischen Funktionen ist es mir möglich das Profil um 180° zu drehen, was mir alledings nicht ausreicht.
Hat jemand eine Idee wie man die Formel anpassen müsste um das Profil z.B in 90°-Schritten zu drehen?
Grüsse
Moderiert von
Narses: Code- durch Delphi-Tags ersetzt
Moderiert von
Narses: Überflüssige Zeilenumbrüche/Leerzeilen entfernt.
---
Moderiert von
Narses: Beiträge zusammengefasst---
Durch rumprobieren herausgefunden:
Durch vertauschen aller Winkelfunktionen (cos <-> sin) + vertauschen der Achsen lässt sich die Kontur in 90° Schritten drehen.
Problem gelöst!