我有一个程序,假设在x,y处创建一个具有设定高度和设定宽度的三角形。这是我的代码,但是如果宽度非常小,它创建的三角形有时会混乱。如何用我想要的宽度和高度来制作一个完美的三角形?
导入乌龟
def triangleBuild(width,height):
turtle.forward(width)
turtle.left(120)
turtle.forward(height)
turtle.left(120)
turtle.forward(height)
def xYPostion(x,y,width,height):
turtle.penup()
turtle.goto(x,y)
turtle.pendown()
triangleBuild(width,height)
答案 0 :(得分:1)
您的情况下的高度是从顶部顶点到底部的距离。你正在做的是你正在绘制一个两边长度相同(高度)的三角形你可能想用一些数学来计算正确的边长(可能不等于高度)
编辑
如果你想从宽度和高度画一个三角形,你可能想得到三角形的角度,然后用一些数学:
import turtle
import math
def triangleBuild(width,height):
l = ( height**2 + (width/2.0)**2)**0.5
alfa = math.atan2(height, width/2.0) # To compute alfa
alfa = math.degrees(alfa)
alfa = 180.0 - alfa
turtle.forward(width)
turtle.left(alfa)
turtle.forward(l)
turtle.left(2*(180-alfa))
turtle.forward(l)
turtle.penup()
turtle.goto(10,20)
turtle.pendown()
width = 200
height = 100
triangleBuild(width,height)