首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用海龟嵌套三角形

使用海龟嵌套三角形
EN

Stack Overflow用户
提问于 2019-04-14 23:29:48
回答 3查看 1.1K关注 0票数 2

我试着在乌龟里嵌套4个大小分别为20,40,60和8的等边三角形,等间距为7。

代码

代码语言:javascript
复制
from turtle import *

number_of_shapes = 4

side = 3

for spacing in range(1, number_of_shapes+1):

    for sides in range(1, side+1):
       forward(20*spacing)
       left(360/side)

    penup()
    goto(-10*spacing, -7*spacing)
    pendown()

我不得不在goto中使用-10*间距(-10*间距,-7*间距)来获得嵌套等边三角形之间的近乎相等的间距。我想知道是否有一种方法可以只使用数字7来实现相等的间距。

EN

回答 3

Stack Overflow用户

发布于 2019-04-15 00:17:31

连接角落,您将看到angel 30deg。它创建边为107的矩形三角形。只有45deg才能创建边为1010的矩形三角形。

但是值(10, 7)是不正确的。正确的值是(10, 5.8) -但它们可能创建的空格看起来不如监视器上的(10, 7),后者只使用整数值来显示元素。

代码语言:javascript
复制
a = 10
b = 10 * tangens(30deg) = 5.8

我使用这些值来创建三角形之间的空间,然后我绘制角度为30度的线-它理想地连接了角落。如果你使用b = 7,那么你得到的是三角形,这条线不会连接角线

代码语言:javascript
复制
from turtle import *
import math

number_of_shapes = 4

side = 3

a = 10
b = math.tan(math.radians(30)) * a
# b = 7

for spacing in range(1,number_of_shapes +1):

    for sides in range(1,side+1):

       forward(20*spacing)

       left(360/side)

    penup()

    goto(-a * spacing, -b * spacing)

    pendown()


left(30)
forward(100)

(10, 7)提供了:

(10, 5.8)提供了:

(10, 5.8)将三角形放置在正确的位置,但监视器并不理想(它们只能对x,y使用整数值),因此三角形之间的空格看起来可能不如您的版本中的效果好。

票数 0
EN

Stack Overflow用户

发布于 2019-04-16 03:55:21

这似乎是一个经典的“更好地生活在冲压”的问题。三角形从一个角绘制,但从中心冲压,这解决了居中问题:

代码语言:javascript
复制
from turtle import Screen, Turtle

NUMBER_OF_SHAPES = 4
CURSOR_SIZE = 20

screen = Screen()

turtle = Turtle('triangle', visible=False)
turtle.fillcolor('white')
turtle.right(30)  # lay bottom on horizontal

for sizing in range(NUMBER_OF_SHAPES, 0, -1):

    turtle.shapesize(20 * sizing / CURSOR_SIZE)

    turtle.stamp()

screen.exitonclick()

左边是OP绘制的三角形,右边是上面代码标记的三角形:

票数 0
EN

Stack Overflow用户

发布于 2019-05-13 15:18:53

如果OP正确地阅读了他的分配问题,那么只有三角形的底部需要有7的间距:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55676973

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档