繁体   English   中英

如何在python乌龟的正方形内完美地刻出一个三角形?

[英]how can in perfectly inscribe a triangle inside a square in python turtle?

我正在学习蟒蛇,我只是想创造一个很酷的人物,但遇到了这个问题。 我想完美地在中心广场内刻出一个三角形。 这是我的代码,

import turtle

dadu=turtle.Turtle()

dadu.forward(100)
dadu.right(90)
dadu.forward(100)
dadu.right(90)
dadu.forward(100)
dadu.right(90)
dadu.forward(100)

dadu.forward(100)

dadu.forward(100)
dadu.right(90)
dadu.forward(100)
dadu.right(90)
dadu.forward(100)
dadu.right(90)
dadu.forward(100)

dadu.forward(100)

#square 3
dadu.forward(100)
dadu.right(90)
dadu.forward(100)
dadu.right(90)
dadu.forward(100)
dadu.right(90)
dadu.forward(100)

dadu.forward(100)

dadu.forward(100)
dadu.right(90)
dadu.forward(100)
dadu.right(90)
dadu.forward(100)
dadu.right(90)
dadu.forward(100)

dadu.forward(100)

dadu.left(120)
dadu.forward(115)
dadu.left(120)
dadu.forward(115)

turtle.mainloop()

这是结果, python乌龟结果

阅读@EricDuminil 在他的评论中引用的页面,以及有关该主题的所有其他内容(其中大部分与面积有关),正方形中最大的等边三角形如下所示:

import turtle
from math import sqrt, radians, cos

SQUARE_RADIUS = 100  # adjust as desired

ANGLE = radians(15)
TRIANGLE_RADIUS = sqrt((SQUARE_RADIUS / cos(ANGLE)) ** 2 * 2) * sqrt(3) / 3

turtle.circle(SQUARE_RADIUS, steps=4)
turtle.circle(TRIANGLE_RADIUS, steps=3)

turtle.exitonclick()

在此处输入图片说明

至于用等腰三角形干净地完成你的绘图,我会选择:

import turtle

def square():
    for _ in range(3):
        turtle.forward(100)
        turtle.right(90)

    turtle.forward(200)

for _ in range(4):
    square()

turtle.goto(turtle.xcor() - 50, turtle.ycor() + 100)
turtle.goto(turtle.xcor() - 50, turtle.ycor() - 100)

turtle.exitonclick()

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM