Python Turtle:是否可以在填充命令中使用图层
Python Turtle: Is it possible to use layers in fill command
我最近在开发一款软件,用于创建分形图像。但我意识到要填充形状,需要分层完成,否则会覆盖部分。这是我当前的代码:
import turtle
def CreatePolygon (turt, Side, Size):
if Size <= 1:
return
else:
#This will create a polygon of a certain size.
#And iterate smaller polygons inside each polygon thus creating a fractal.
for i in range (0, Side):
turt.forward(Size)
turt.left(360/Side)
CreatePolygon(turt, Side, Size/(Side-1))
Size = 250
t = turtle.Turtle()
t.hideturtle()
t.speed(0)
#Calling The Function
CreatePolygon (t, 5, Size)
我的主要目的是用不同的颜色填充多边形,我知道该怎么做。问题在于填充的多边形在其内部的较大多边形被填充后被覆盖。我不确定如何解决这个问题,因为要求是:
- 首先填充较小的项目(在较大的项目中)。
- 第二个填写较大的项目,而没有填写较小项目填写的地方。
我们在 Python turtle 中没有图层,但我们仍然可以通过一些代码的复制和重新排列来实现您想要的效果:
from turtle import Screen, Turtle
COLORS = ['red', 'green', 'blue', 'magenta', 'yellow', 'cyan']
def CreatePolygon(turt, sides, size, color=0):
if size <= 1:
return
# This will create a polygon of a certain size.
turt.fillcolor(COLORS[color])
turt.begin_fill()
for _ in range(sides):
turt.forward(size)
turt.left(360 / sides)
turt.end_fill()
# And iterate smaller polygons inside each polygon thus creating a fractal.
for _ in range(sides):
turt.forward(size)
turt.left(360 / sides)
CreatePolygon(turt, sides, size / (sides - 1), color + 1)
screen = Screen()
turtle = Turtle(visible=False)
# Calling The Function
screen.tracer(False)
CreatePolygon(turtle, 5, 250)
screen.tracer(True)
screen.exitonclick()
我们必须先绘制较大的多边形,填充它,然后递归绘制较小的多边形。
我最近在开发一款软件,用于创建分形图像。但我意识到要填充形状,需要分层完成,否则会覆盖部分。这是我当前的代码:
import turtle
def CreatePolygon (turt, Side, Size):
if Size <= 1:
return
else:
#This will create a polygon of a certain size.
#And iterate smaller polygons inside each polygon thus creating a fractal.
for i in range (0, Side):
turt.forward(Size)
turt.left(360/Side)
CreatePolygon(turt, Side, Size/(Side-1))
Size = 250
t = turtle.Turtle()
t.hideturtle()
t.speed(0)
#Calling The Function
CreatePolygon (t, 5, Size)
我的主要目的是用不同的颜色填充多边形,我知道该怎么做。问题在于填充的多边形在其内部的较大多边形被填充后被覆盖。我不确定如何解决这个问题,因为要求是:
- 首先填充较小的项目(在较大的项目中)。
- 第二个填写较大的项目,而没有填写较小项目填写的地方。
我们在 Python turtle 中没有图层,但我们仍然可以通过一些代码的复制和重新排列来实现您想要的效果:
from turtle import Screen, Turtle
COLORS = ['red', 'green', 'blue', 'magenta', 'yellow', 'cyan']
def CreatePolygon(turt, sides, size, color=0):
if size <= 1:
return
# This will create a polygon of a certain size.
turt.fillcolor(COLORS[color])
turt.begin_fill()
for _ in range(sides):
turt.forward(size)
turt.left(360 / sides)
turt.end_fill()
# And iterate smaller polygons inside each polygon thus creating a fractal.
for _ in range(sides):
turt.forward(size)
turt.left(360 / sides)
CreatePolygon(turt, sides, size / (sides - 1), color + 1)
screen = Screen()
turtle = Turtle(visible=False)
# Calling The Function
screen.tracer(False)
CreatePolygon(turtle, 5, 250)
screen.tracer(True)
screen.exitonclick()
我们必须先绘制较大的多边形,填充它,然后递归绘制较小的多边形。