Я рисую довольно простую форму, используя turtle
модуль Python, и код ниже:Python черепашьей графики несогласованность между различными ОСАМИ,
import turtle
turtle.color('black', '#fef00e')
turtle.begin_fill()
turtle.left(180)
turtle.forward(100)
for i in range(5):
turtle.right(90)
turtle.forward(100+50*i)
turtle.end_fill()
turtle.done()
Как ни странно, это производит два различных результата на Windows (слева) и все другие ОС Я пробовал (Ubuntu, Arch, OSX). Области с четным количеством перекрывающихся заполнений по-прежнему заполняются в Windows, но снова закрываются для других. Может ли кто-нибудь объяснить мне, в чем причина этого, и есть ли способ повлиять на него? Кажется странным, что такое поведение было бы настолько непоследовательным.
Кажется, что это выбор дизайна, а также; мне сразу не кажется очевидным, какая из двух является «правильной» версией.
По какой-то причине они, вероятно, используют разные правила заполнения. Левым будет [правило ненулевого обмотки] (https://en.wikipedia.org/wiki/Nonzero-rule) и правое [нечетное правило] (https://en.wikipedia.org/ вики/нечет% E2% 80% 93odd_rule). –