Ich versuche eine Blume zu machen, wo gelbe Linien aus ihrer ungefähren Mitte gezogen werden, für den gesamten Umfang.Turtle Mini-Projekt - Udacity - Python - Zeichnen/Bewegen einer Form um eine andere Form
Das Problem, das ich habe, ist eine Linie zu ziehen, in die Mitte zu gehen und wieder die gleiche Länge zu ziehen, aber 10 Grad größer als die vorherige.
Ich kann mir nicht vorstellen, wie das geht, die Linie springt entweder immer wieder hin und her, ODER sie schwenkt um die Seite (wie wenn ich eine spitze Form anlege).
Also wie bekomme ich diese gelbe Linie, um zurückzurufen, und inkrementell Feder aus/bekommen diese spitze Form, um sich kontinuierlich die volle 360 Grad zu zeichnen?
Dies ist mein erstes "echtes" Programm, denke ich. Ich habe keine Programmiererfahrung und habe erst seit ein paar Tagen damit begonnen. Der Code, den ich in der Funktion "draw_feather()" verwendet habe, stammt von einer anderen Seite, weil ich nicht wusste, wie man ein Dreieck in einem Kreis dreht.
import turtle
def draw_fractal(ink):
for i in range(1,37):
ink.circle(50)
ink.right(10)
def draw_feather(ink):
while True:
ink.forward(200)
ink.left(170)
if abs(ink.pos()) < 1:
break
def draw_stem(ink):
ink.goto(1,-400)
ink.home()
ink.goto(5,-400)
ink.home()
ink.goto(3,-400)
def Draw():
window = turtle.Screen()
window.bgcolor =("White")
R = turtle.Turtle()
R.shape("circle")
R.color("Red")
R.setpos(4,3)
R.speed(100)
G = turtle.Turtle()
G.shape("circle")
G.color("Green")
G.setpos(3,3)
G.speed(100)
B = turtle.Turtle()
B.shape("circle")
B.color("Blue")
B.setpos(2,3)
B.speed(100)
Stem = turtle.Turtle()
Stem.shape("circle")
Stem.speed(100)
Feather = turtle.Turtle()
Feather.shape("circle")
Feather.speed(100)
Feather.color("Yellow")
draw_fractal(R)
draw_fractal(G)
draw_fractal(B)
draw_feather(Feather)
draw_stem(Stem)
window.exitonclick()
Draw()
Danke. Ich hatte einen Weg gefunden, zu tun, was ich wollte. Es ist schön, die gleichen Ergebnisse zu sehen, aber auf andere Weise. Ich dachte darüber nach wie ein Diagramm und wusste, dass es Quadranten hatte, also rief ich es jedes Mal in einen neuen Quadranten zurück. 'def draw_feather (Tinte): \t für i im Bereich (1,73): \t \t x = -4 \t \t y = -4 \t \t ink.goto (x, y) \t \t Tinten .forward (150) \t \t ink.left (5) \t \t x = x + 1 \t \t y = y + 1 \t ink.home() ' – Rhys
I konnte nicht herausfinden, wie man SEPARA Tue es und mach es richtig formatieren, und natürlich mein 5-Minuten Editierfenster geschlossen! – Rhys