Черепаха графическая функция begin_fill () не работает правильно на MAC - PullRequest
2 голосов
/ 07 марта 2019

Я пытаюсь нарисовать "Желтую" звезду, используя модуль Черепаха.Когда я запускаю свою программу в ОС Windows, она работает правильно.Тем не менее, когда я запускаю его на macOS, изображение не так. Результат на macOS

Результат на ОС Windows

import turtle
# Setup a screen and a turtle
win = turtle.Screen()
bob = turtle.Turtle()
# set the background color for the flag
win.bgcolor("red")
# Draw a star
# change the turtle color to yellow 
bob.color("yellow")
# to center we have to go backward for half of a side length
bob.penup()
bob.back(100)
bob.pendown()
bob.begin_fill()
for i in range(5):
    bob.forward(200)
    bob.right(144)
bob.end_fill()
win.exitonclick()

1 Ответ

0 голосов
/ 07 марта 2019

Это не проблема черепахи, а проблема с базовой библиотекой tkinter.Заполнение в двух операционных системах различается, когда задействованы линии пересечения.Решение состоит в том, чтобы нарисовать звезду без пересечения линий:

from turtle import Screen, Turtle

win = Screen()
win.bgcolor("red")

bob = Turtle()
bob.color("yellow")

bob.penup()
bob.goto(24.5, 33.1)
bob.pendown()

bob.begin_fill()

for i in range(5):
    bob.forward(80)
    bob.right(144)
    bob.forward(80)
    bob.left(72)

bob.end_fill()
bob.hideturtle()

win.exitonclick()

Это должно выглядеть одинаково в обеих реализациях:

enter image description here

...