Цвет черепахи Python не заполняется должным образом - PullRequest
0 голосов
/ 10 ноября 2018

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

Вот рисунок Я пытаюсь сделать, с это цвета , но это , что я получил. Это мой код:

from turtle import *
"""corps"""
import turtle

def corps():

    speed("fast")
    color('black'),width(2)
    begin_fill()
    up()
    #right side down
    goto(0,-200)
    down()
    right(90)
    forward(4)
    circle(5,90)
    forward(70)
    circle(130,90)
    forward(140)
    circle(50,20)
    up()
    #left side down
    right(-160)
    goto(0,-200)
    down()
    forward(4)
    circle(-5,90)
    forward(70)
    circle(-130,90)
    forward(140)
    circle(-50,20)
    up()
    #right side up
    right(70)
    goto(205,-79)
    down()
    forward(5)
    circle(20,70)
    circle(100,10)
    circle(500,10)
    circle(200,30)
    circle(3800,3)
    right(33)
    forward(30)
    circle(100,23)
    circle(5,115)
    circle(200,15)
    right(63)
    forward(70)
    up()
    #left side up
    goto(-205,-79)
    down()
    forward(5)
    circle(-20,70)
    circle(-100,10)
    circle(-500,10)
    circle(-200,30)
    circle(-3800,3)
    right(-33)
    forward(30)
    circle(-100,23)
    circle(-5,115)
    circle(-200,15)
    right(-63)
    forward(65)
    turtle.fillcolor('#66615D')
    end_fill()
    up()
    #belly
    begin_fill()
    turtle.fillcolor('#A99E82')
    goto(0,-200)
    down()
    circle(200)
    end_fill()

corps()
done()

Это должно быть ужасно, но я только начинаю учиться кодировать.

Я не знаю, есть ли эффективный способ рисовать картинки с использованием черепах, например, по математике или как-то еще, но я сделал это немного случайно.

1 Ответ

0 голосов
/ 11 ноября 2018

@ RogerAsbey прав в этом пункте (+1):

Если бы вы могли сделать контур одной сплошной линией, он бы заполнил равномерно.

Итак, давайте переделаем код для этого. Вы все еще можете думать об этом незаметно, но просто следите за тем, чтобы один переходил к другому, а не прыгал:

from turtle import *

speed("fastest")
width(2)

color('#36302A', '#545049')

begin_fill()

up()
goto(0, -200)
right(90)
down()

# right side lower
forward(4)
circle(5, 90)
forward(70)
circle(130, 90)
forward(140)
circle(50, 20)
circle(50, -20)
backward(140)
right(90)

# right side upper
forward(5)
circle(20, 70)
circle(100, 10)
circle(500, 10)
circle(200, 30)
circle(3800, 3)
right(33)
forward(30)
circle(100, 23)
circle(5, 115)
circle(200, 15)
right(63)

forward(130)

# left side upper
right(63)
circle(200, 15)
circle(5, 115)
circle(100, 23)
forward(30)
right(33)
circle(3800, 3)
circle(200, 30)
circle(500, 10)
circle(100, 10)
circle(20, 70)
forward(5)

# left side lower
right(90)
backward(140)
circle(50, -20)
circle(50, 20)
forward(140)
circle(130, 90)
forward(70)
circle(5, 90)
forward(4)

goto(0, -200)
right(90)

end_fill()

# belly
fillcolor('#A99881')

begin_fill()
circle(200)
end_fill()

hideturtle()

done()

enter image description here

...