计算具有三条腿的角度三角形

时间:2017-09-27 22:07:57

标签: python

我有一条三角形的两条腿,在使用毕达哥拉斯计算第三条腿后,我必须找到三角形的角度,以便能够使用Turtle在Python中绘制三角形。

我已经尝试了cosinus公式来找到角度,但它还没有工作。我没有得到理想的结果。

代码:

 var arr = [];
    arr[100] = "foo";
    console.log(arr);

我做错了什么以及如何解决?谢谢!

2 个答案:

答案 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)

输出:

enter image description here

答案 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