turtlegrafik

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
haeuslermartin
User
Beiträge: 66
Registriert: Sonntag 21. April 2013, 10:12

Hallo Experten,

soweit ich es checke, gibts für die Linie mit der turtle nur den Befehl forward und die Winkelangabe: fd(29), left(39), -(goto ist ja immer absolut)

es wäre doch äußerst praktisch, wenn man eine line direkt vom letzten Punkt aus mit x und y Werten angeben könnte, wie z. B.
forward mit zwei Argumenten fd(30,-40), Zielpunkt also 30px vorwärts und 40px nach unten, -der Winkel ergibt sich von selbst-, kaum zu glauben, dass es sowas einfaches nicht gibt, oder habe ich da was übersehen? :?:
nezzcarth
User
Beiträge: 1635
Registriert: Samstag 16. April 2011, 12:47

Man muss vielleicht bedenken, dass dem Turtle-Modul ein pädagogischer Anspruch zugrunde liegt; da geht es weniger um ein ausgefeiltes Zeichenpaket.

Solche Lehrsprachen haben nicht selten den Ansatz, dass bestimmte Dinge bewusst nicht implementiert sind, um Konzepte wie Funktionen/Prozeduren nahezulegen. Entsprechend kannst du es ja einfach selbst implementieren ;)
Zuletzt geändert von nezzcarth am Sonntag 10. Mai 2015, 13:20, insgesamt 1-mal geändert.
haeuslermartin
User
Beiträge: 66
Registriert: Sonntag 21. April 2013, 10:12

ja, aber ich denke, eine Linie von Punkt zu Punkt zu ziehen, ist elementarer, als mit Winkeln zu arbeiten, auch im Hinblick auf spätere
3-D Modellierungen ..
ich muß leider zugeben, dass meine Kenntnisse nicht reichen um in eine Programmiersprache selbst etwas zu implementieren,
oder meinst Du eine Funktion schreiben? :K
haeuslermartin
User
Beiträge: 66
Registriert: Sonntag 21. April 2013, 10:12

es ist scheinbar nicht möglich, mit der turtle eine Linie von dem Punkt, an dem sie sich gerade befindet, zu einem nach y versetztem Punkt zu machen, ohne einen Winkel angeben zu müssen ... :roll:
die Koordinaten wären ja bekannt ...
gerpark
User
Beiträge: 7
Registriert: Montag 19. Januar 2015, 20:58

ganz so schlimm ist es ja nun nicht.
Vektorgrafik ist eine feine Sache,
aber Du kannst natürlich auch mit Koordinaten arbeiten.
Mit ycor() erhälst du den Y-Wert und mit sety(y)
setzt Du den neuen Wert.
Derjenige, der die Turtle Grafik entwickelt hat,
hat auch eine deutsche Dokumentation zu den Befehlen geschrieben,
vielleicht schaust Du da mal rein :wink:
http://python4kids.net/downloads.html
nezzcarth
User
Beiträge: 1635
Registriert: Samstag 16. April 2011, 12:47

haeuslermartin hat geschrieben: ich muß leider zugeben, dass meine Kenntnisse nicht reichen um in eine Programmiersprache selbst etwas zu implementieren,
oder meinst Du eine Funktion schreiben? :K
Ja, so war das gemeint.

Wenn ich dich richtig verstanden habe, suchst du soetwas:

Code: Alles auswählen

def fd_xy(x,y):
    current_x, current_y = turtle.position()
    turtle.setpos(current_x+x, current_y+y)
(Nachteil: Die (optische) Ausrichtung der Schildkröte stimmt nicht, hat aber auch keinen Einfluss.)
haeuslermartin
User
Beiträge: 66
Registriert: Sonntag 21. April 2013, 10:12

danke,
hab's kurz ausprobiert mit current - werten 0 nach x=20 und y= 40, bekomme aber Fehlermelung 'turtle is not defined'
was habe ich falsch gemacht? :?:

>>> def fd_xy(x,y):
current_x, current_y = turtle.position(0,0)
turtle.setpos(current_x+x, current_y+y)


>>> fd_xy(20,40)
Traceback (most recent call last):
File "<pyshell#9>", line 1, in <module>
fd_xy(20,40)
File "<pyshell#8>", line 2, in fd_xy
current_x, current_y = turtle.position(0,0)
NameError: name 'turtle' is not defined

:?
BlackJack

@haeuslermartin: Wenn man das `turtle`-Modul benutzen möchte, dann muss man das natürlich auch importieren. :roll:
Antworten