Kreis berechnung Hife!!!

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Andyh
User
Beiträge: 319
Registriert: Dienstag 8. Januar 2008, 19:52
Kontaktdaten:

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
Meinen Dickschädel schon bemerkt?
Ich bin jetzt FACHARBEITER (Zerspanungsmechaniker)!!!
[code]import sys

if sys.platform == "win32":
print "this program only runs on operating systems!!!"
sys.TotalError()[/code]
DasIch
User
Beiträge: 2718
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

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.
pythonist
User
Beiträge: 40
Registriert: Sonntag 14. Mai 2006, 17:28

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
schorsch
User
Beiträge: 18
Registriert: Montag 26. November 2007, 18:39

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.
Andyh
User
Beiträge: 319
Registriert: Dienstag 8. Januar 2008, 19:52
Kontaktdaten:

Hallo

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

Ich werds mal Probieren.

Gruß
Andyh
Meinen Dickschädel schon bemerkt?
Ich bin jetzt FACHARBEITER (Zerspanungsmechaniker)!!!
[code]import sys

if sys.platform == "win32":
print "this program only runs on operating systems!!!"
sys.TotalError()[/code]
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

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.
Benutzeravatar
birkenfeld
Python-Forum Veteran
Beiträge: 1603
Registriert: Montag 20. März 2006, 15:29
Wohnort: Die aufstrebende Universitätsstadt bei München

Und xturtle ist in Python 3 :)
Dann lieber noch Vim 7 als Windows 7.

http://pythonic.pocoo.org/
Antworten