用 Python 海龟堆叠三角形

N.普莱斯纳

我需要在彼此之上绘制 4 个不同颜色的三角形。我已经想出了如何将 4 个并排绘制,但我无法将它们叠在一起。这是我的代码:

import turtle
import math
from random import randint

otto = turtle.Turtle()

def repeat_triangle(t, l):
    setcolor(t, 1)
    for i in range(4):
        t.color(randint(0,255),randint(0,255),randint(0,255))
        t.begin_fill()
        t.fd(100) 
        t.lt(120)
        t.fd(100)
        t.lt(120)
        t.fd(100)
        t.lt(120)
        t.fd(100)
        otto.end_fill()


otto.shape('turtle')
repeat_triangle(otto, 80)

turtle.mainloop()
turtle.bye()

奥托是我的乌龟的名字。setcolor 是我编写的用于分配随机颜色的函数。另外,你能告诉我如何画一堆 3x3 的三角形吗?非常感谢。我正在使用 jupyter notebooks,所以它可能与常规 Python 有一些不同。图片参考可以在这里找到

cdlane

通过冲压而不是绘图更好地生活的另一个例子

from turtle import Screen, Turtle
from random import random

TRIANGLE_EDGE = 100
CURSOR_EDGE = 20

TRIANGLE_HEIGHT = TRIANGLE_EDGE * 3 ** 0.5 / 2

def repeat_triangle(turtle, repetitions):
    for _ in range(repetitions):
        turtle.color(random(), random(), random())
        turtle.stamp()
        turtle.forward(TRIANGLE_HEIGHT)

screen = Screen()

otto = Turtle('triangle', visible=False)
otto.penup()
otto.setheading(90)
otto.shapesize(TRIANGLE_EDGE / CURSOR_EDGE)

repeat_triangle(otto, 4)

screen.mainloop()

在此处输入图片说明

此外,此代码可能不正确,具体取决于您使用的海龟变体:

t.color(randint(0,255),randint(0,255),randint(0,255))

Python 附带的海龟默认为float从 0 到 1 - 如果您想使用int从 0 到 255,则必须通过以下方式请求:

turtle.colormode(255)

对您的绘图代码进行简单的返工以堆叠三角形可能是:

from turtle import Screen, Turtle
from random import randint

def repeat_triangle(t, length):
    height = length * 3 ** 0.5 / 2

    for _ in range(4):
        t.color(randint(0, 255), randint(0, 255), randint(0, 255))

        t.begin_fill()

        for _ in range(3):
            t.fd(length)
            t.lt(120)

        t.end_fill()

        t.sety(t.ycor() + height)

screen = Screen()
screen.colormode(255)

otto = Turtle('turtle')
otto.penup()

repeat_triangle(otto, 100)

screen.mainloop()

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

用Python格式化Pascal的三角形

来自分类Dev

用XML绘制三角形

来自分类Dev

用普通JavaScript旋转三角形

来自分类Dev

用星星制作三角形

来自分类Dev

用OpenGL渲染意外的三角形

来自分类Dev

用嵌套循环构建三角形

来自分类Dev

Pascal的Python三角形

来自分类Dev

Python for循环打印三角形

来自分类Dev

在Python中绘制空心三角形

来自分类Dev

python中的三角形

来自分类Dev

星号三角形Python(带输入)

来自分类Dev

三角形的圆周上有点的三角形,python

来自分类Dev

用三个坐标填充三角形内的颜色

来自分类Dev

用C ++打印带有给定字母的三角形

来自分类Dev

用sin或cos计算三角形角度

来自分类Dev

如何构造用三角形绘制的“完美立方体”?

来自分类Dev

用fasm在装配中绘制一个三角形

来自分类Dev

用J语言打印等边三角形

来自分类Dev

用三角形绘制金字塔

来自分类Dev

用向量替换三角形矩阵的一部分

来自分类Dev

C语言中字符用空格分隔的字符数组三角形

来自分类Dev

用两个点绘制等腰三角形/箭头

来自分类Dev

用两个三角形定义菱形

来自分类Dev

用循环的空行替换三角形的每一行

来自分类Dev

用SVG和点数组绘制三角形

来自分类Dev

用数字绘制一个三角形(javascript)

来自分类Dev

如何在Numpy Python中将4维数组的下三角形复制到上三角形?

来自分类Dev

从用四边形绘制的形状转换为用三角形绘制的形状

来自分类Dev

连接顶点以在python中创建三角形