Seite 1 von 1

Kreis berechnung Hife!!!

Verfasst: Sonntag 20. Juli 2008, 18:04
von Andyh
Hallo

Mathe ist eigentlich mein lieblingsfach und ich bin auch nicht schlecht(naja besser als eins geht halt nicht :roll: )


Ich will einen CNC Simulator bauen.
die bewegungeungen des Werkzeuges werden mit Turtle gezeichnet. Wenn jetzt ein kreis kommt wird der in der CNC-Technik so angegeben:

G1 X20 Y20 #Fahre auf X20 Y20
G2 X40 Y40 R20 #Fahre eine kreis nach recht auf X40 Y40 mit einem Radius von 20

Mein Problem:
in Turtle wir ein kreis so angegeben:
circle(radius, winkel)

raduis habe ich, nur wie rechne ich den Winkel in bezug auf den endpunkt aus.

Oder gibt es ein besseres Modul zum zeichen wo ich die kreise leichter machen kann?

Gruß
Andyh

Verfasst: Sonntag 20. Juli 2008, 21:53
von DasIch
Also ich habe dass hier gefunden:
http://docs.python.org/lib/module-turtle.html hat geschrieben:circle( radius[, extent])
Draw a circle with radius radius whose center-point is radius units left of the turtle. extent determines which part of a circle is drawn: if not given it defaults to a full circle.

If extent is not a full circle, one endpoint of the arc is the current pen position. The arc is drawn in a counter clockwise direction if radius is positive, otherwise in a clockwise direction. In the process, the direction of the turtle is changed by the amount of the extent.

Verfasst: Sonntag 20. Juli 2008, 22:20
von pythonist
Abend,
G1 X20 Y20 #Fahre auf X20 Y20
G2 X40 Y40 R20 #Fahre eine kreis nach recht auf X40 Y40 mit einem Radius von 20
Ich hab das anderst gelernt:

Code: Alles auswählen

G1 X20 Y20  
G2 X40 Y40 I20 J0
Aber nun zu deinem Problem, ich hab mir das mal theoretisch ausgedacht ohne Anspruch auf Richtigkeit, ist ja auch schon n bischen später.
Also zuerst brauchst du den Mittelpunkt des Kreises und der ist genau R vom Anfangs- und Endpunkt entfernt also legst du jeweil einen Kreis mit dem Radius R um Anfangs- und Endpunkt, diese Kreise berühren sich dann an einem Punkt den du Berechnen musst wie das genau geht weiß ich auf Anhieb nicht mehr aber ich glaub du Musst die Schnittmenge der 2 Kreislinien bestimmen.
Dann hast den Mittelpunkt, jetzt stellst du 2 Vektoren auf einen vom Mittelpunkt zum Anfangspunkt und einen vom Mittelpunkt zum Endpunkt.
Dann kannst du den Winkel zwischen den 2 Vektoren ausrechen hier wird das beschrieben.

Ich hoffe ich konnte n bischen Helfen

pythonist

Verfasst: Montag 21. Juli 2008, 07:53
von schorsch
pythonist hat geschrieben:Abend,
G1 X20 Y20 #Fahre auf X20 Y20
G2 X40 Y40 R20 #Fahre eine kreis nach recht auf X40 Y40 mit einem Radius von 20
Ich hab das anderst gelernt:

Code: Alles auswählen

G1 X20 Y20  
G2 X40 Y40 I20 J0
Erinnert mich an eine Maho-Steuerung, dort kann man bei Kreisbögen unter 180° einfach den Radius angeben.

Verfasst: Montag 21. Juli 2008, 17:11
von Andyh
Hallo

Hier sind ja viel mehr CNC-Fachleute als ich gedacht hätte.

Ich werds mal Probieren.

Gruß
Andyh

Re: Kreis berechnung Hife!!!

Verfasst: Samstag 26. Juli 2008, 22:07
von numerix
Andyh hat geschrieben:Oder gibt es ein besseres Modul zum zeichen wo ich die kreise leichter machen kann?
Ob es damit insgesamt "leichter" wird, kann ich nicht beurteilen.
Aber wenn du ein Freund des turtle-Moduls bist (und es nicht direkt mit Tkinter machen willst), dann dürftest du hiermit auf jeden Fall mehr Freude haben:

xturtle: http://xturtle.rg16.at/

ODER

frog: http://pypi.python.org/pypi/frog/0.75

Funktioniert beides ähnlich wie turtle, kann aber VIEL mehr und macht einfach mehr Spaß. Zu xturtle gibt es ein dt. gedrucktes Buch (Python für Kids von Gregor Lingl), bei frog ist eine brauchbare dt. Dokumentation enthalten.

Verfasst: Sonntag 27. Juli 2008, 08:29
von birkenfeld
Und xturtle ist in Python 3 :)