Python 海龟图形“;如果触摸颜色“;
我正在尝试用海龟做一个程序,画一棵圣诞树,然后再画一些小玩意儿,我想随机放在圣诞树上。然而,因为圣诞树是一个不规则的形状,我无法通过随机选择x和y坐标来放置这些装饰品。有没有办法把这些小玩意儿随意放在树上? 我在考虑一个“turtle.pendown()”然后是“if-turtle.pen”触摸“green”,但我不知道如何编写这个代码。Python 海龟图形“;如果触摸颜色“;,python,turtle-graphics,Python,Turtle Graphics,我正在尝试用海龟做一个程序,画一棵圣诞树,然后再画一些小玩意儿,我想随机放在圣诞树上。然而,因为圣诞树是一个不规则的形状,我无法通过随机选择x和y坐标来放置这些装饰品。有没有办法把这些小玩意儿随意放在树上? 我在考虑一个“turtle.pendown()”然后是“if-turtle.pen”触摸“green”,但我不知道如何编写这个代码。 任何帮助都将不胜感激。我认为海龟没有检查颜色的方法 但是turtle使用tkinter中的Canvas功能查找重叠(矩形)来检查某些对象是否与该矩形重叠。也许
任何帮助都将不胜感激。我认为
海龟
没有检查颜色的方法
但是turtle
使用tkinter
中的Canvas
功能查找重叠(矩形)
来检查某些对象是否与该矩形重叠。也许它能起作用。也许你们可以检查一下,在随机的地方,在一些小的矩形中是否有树
海龟
没有检查颜色的方法
但是turtle
使用tkinter
中的Canvas
功能查找重叠(矩形)
来检查某些对象是否与该矩形重叠。也许它能起作用。也许你们可以检查一下,在随机的地方,在一些小的矩形中是否有树
begin_poly()
、end_poly()
、和get_poly()
捕捉
绘制树时代码生成的顶点from turtle import Turtle, Screen
from random import randrange, choice
from point_in_polygon import cn_PnPoly
screen = Screen()
WINDOW_WIDTH, WINDOW_HEIGHT = screen.window_width(), screen.window_height()
COLORS = ["red", "yellow", "gold", "blue", "white", "pink"]
def draw_abstract_tree(turtle):
width = WINDOW_WIDTH//4
turtle.penup()
turtle.goto(0, -WINDOW_HEIGHT//4)
turtle.pendown()
for _ in range(8):
turtle.forward(width)
turtle.left(150)
turtle.forward(1.156 * width)
turtle.right(150)
width *= 0.9
turtle.left(210)
for _ in range(8):
turtle.forward(1.156 * width)
turtle.left(150)
turtle.forward(width)
turtle.right(150)
width /= 0.9
turtle.goto(0, -WINDOW_HEIGHT//4)
turtle.setheading(0)
def decorate_tree(turtle, polygon):
turtle.penup()
for _ in range(1000):
x = randrange(-WINDOW_WIDTH/4, WINDOW_WIDTH/4)
y = randrange(-WINDOW_HEIGHT/4, WINDOW_HEIGHT)
diameter = randrange(1, 12)
if cn_PnPoly((x, y), polygon):
turtle.goto(x, y)
turtle.color(choice(COLORS))
turtle.dot(diameter)
yertle = Turtle(visible=False)
yertle.speed("fastest")
yertle.color("darkgreen")
yertle.begin_poly()
draw_abstract_tree(yertle)
yertle.end_poly()
polygon = yertle.get_poly()
yertle.begin_fill()
draw_abstract_tree(yertle)
yertle.end_fill()
decorate_tree(yertle, polygon)
screen.exitonclick()
输出
一种简单的图形化方法是:
begin_poly()
、end_poly()
、和get_poly()
捕捉
绘制树时代码生成的顶点from turtle import Turtle, Screen
from random import randrange, choice
from point_in_polygon import cn_PnPoly
screen = Screen()
WINDOW_WIDTH, WINDOW_HEIGHT = screen.window_width(), screen.window_height()
COLORS = ["red", "yellow", "gold", "blue", "white", "pink"]
def draw_abstract_tree(turtle):
width = WINDOW_WIDTH//4
turtle.penup()
turtle.goto(0, -WINDOW_HEIGHT//4)
turtle.pendown()
for _ in range(8):
turtle.forward(width)
turtle.left(150)
turtle.forward(1.156 * width)
turtle.right(150)
width *= 0.9
turtle.left(210)
for _ in range(8):
turtle.forward(1.156 * width)
turtle.left(150)
turtle.forward(width)
turtle.right(150)
width /= 0.9
turtle.goto(0, -WINDOW_HEIGHT//4)
turtle.setheading(0)
def decorate_tree(turtle, polygon):
turtle.penup()
for _ in range(1000):
x = randrange(-WINDOW_WIDTH/4, WINDOW_WIDTH/4)
y = randrange(-WINDOW_HEIGHT/4, WINDOW_HEIGHT)
diameter = randrange(1, 12)
if cn_PnPoly((x, y), polygon):
turtle.goto(x, y)
turtle.color(choice(COLORS))
turtle.dot(diameter)
yertle = Turtle(visible=False)
yertle.speed("fastest")
yertle.color("darkgreen")
yertle.begin_poly()
draw_abstract_tree(yertle)
yertle.end_poly()
polygon = yertle.get_poly()
yertle.begin_fill()
draw_abstract_tree(yertle)
yertle.end_fill()
decorate_tree(yertle, polygon)
screen.exitonclick()
输出
到目前为止,您尝试了什么?因此,这不是一个代码编写服务-请参阅为什么这个问题没有正确地提出。而且,你甚至都懒得去看这个2分钟的网站。到目前为止你都做了些什么?因此,这不是一个代码编写服务-请参阅为什么这个问题没有正确地提出。而且,你甚至都懒得去看这个2分钟的网站。