我有一条三角形的两条腿,在使用毕达哥拉斯计算第三条腿后,我必须找到三角形的角度,以便能够使用Turtle在Python中绘制三角形。
我已经尝试了cosinus公式来找到角度,但它还没有工作。我没有得到理想的结果。
代码:
var arr = [];
arr[100] = "foo";
console.log(arr);
我做错了什么以及如何解决?谢谢!
答案 0 :(得分:3)
acos以弧度为单位返回一边,因此您必须将其转换为六十度,为此您必须乘以180/π
。我们也知道内角的总和是180,所以第三个角是180-A-B
。
另一个问题是必须通过绘制的角度,默认情况下从右向左绘制前进,然后你必须旋转180-A,前进c,旋转180-B并前进b
a = 70
b = 60
c_pwr = a**2 + b**2
c = math.sqrt(c_pwr)
print("Langste zijde is: ", c)
#Angles
A = math.acos((b**2 + c**2 - a**2) / (2 * b * c))*180/math.pi
B = math.acos((c**2 + a**2 - b**2) / (2 * c * a))*180/math.pi
C = 180 - A - B
print(A, " ", B, " ", C)
turtle.forward(a)
turtle.right(180-B)
turtle.forward(c)
turtle.right(180-A)
turtle.forward(b)
输出:
答案 1 :(得分:2)
我不确定你为什么不使用这个定义
A = asin(a/c)
(A是与a相反的角度)。
我也不明白为什么你乘以100
。要将弧度转换为度数,您需要乘以180/π
。
最后,三角形中的角度总和为180
而不是360
。把它放在一起:
import math
# Legs
a = 70
b = 60
c = math.sqrt(a**2 + b**2)
# Angles
A = math.asin(a/c) * 180/math.pi
B = math.asin(b/c) * 180/math.pi
C = 180 - A - B