Python Turtles Цветная начинка - PullRequest
0 голосов
/ 17 апреля 2019

Это может быть проблема с моим треугольником, возможно, края не соединяются должным образом, но мой треугольник не заполняет так, как я хочу:

#Draw
bob.pen(fillcolor="#b11874")
bob.pensize(3)
#Sierpinski 1
bob.begin_fill()
bob.forward(150)
bob.left(120)
bob.forward(150)
bob.left(120)
bob.forward(150)
bob.end_fill()
#colouring2
bob.pen(fillcolor="#ff6600")
bob.begin_fill()
bob.left(180)
bob.forward(75)
bob.right(60)
bob.forward(75)
bob.right(120)
bob.end_fill()

Первая заливка работает нормально и цветатреугольник фиолетовый, но когда я начинаю 2-ую заливку, он разрезает треугольник пополам.

Я рисую Серпинскиса и пытаюсь раскрасить внешние треугольники одним цветом, а внутренние треугольники - другим.Вот весь код:

https://drive.google.com/file/d/1BaPrU0N4AaVL9w4zp9WIe-c4LOFp9EPO/view?usp=sharing, если вы хотите проверить это самостоятельно.

1 Ответ

0 голосов
/ 18 апреля 2019

Вы не показываете, как вы хотите, чтобы ваш треугольник был цветным, поэтому трудно точно определить правильный ответ. По сути, если вы не заполните закрытый полигон, который вы не делали во второй раз, то черепаха соединит первую и последнюю точку перед заполнением. Поэтому, если мы хотим, чтобы основание было заполнено другим цветом, мы могли бы сделать:

import turtle         
bob = turtle.Turtle()
window = turtle.Screen()

# Draw
bob.pen(fillcolor="purple")
bob.pensize(3)

# Sierpinski 1
bob.begin_fill()
bob.forward(150)
bob.left(120)
bob.forward(150)
bob.left(120)
bob.forward(150)
bob.end_fill()

# colouring 2
bob.pen(fillcolor="orange")
bob.begin_fill()
bob.left(180)
bob.forward(75)
bob.right(60)
bob.forward(75)
bob.right(60)
bob.forward(75)
bob.end_fill()

window.exitonclick()

Я тоже не закрывал многоугольник, я просто позволил черепахе соединить конечные точки.

enter image description here

...