我试图在下面找出三角形的角度,我知道它应该是90度,但是我不知道如何在下面实际计算它:
这是我尝试过的:
angle = math.cos(7/9.899)
angleToDegrees = math.degrees(angle)
returns: 43.XX
我做错了什么?
答案 0 :(得分:14)
比这更复杂一点。您需要使用law of cosines
>>> A = 7
>>> B = 7
>>> C = 9.899
>>> from math import acos, degrees
>>> degrees(acos((A * A + B * B - C * C)/(2.0 * A * B)))
89.99594878743945
这准确到4位有效数字。如果您提供更精确的C值,您将获得更准确的结果。
>>> C=9.899494936611665
>>> degrees(acos((A * A + B * B - C * C)/(2.0 * A * B)))
90.0
答案 1 :(得分:0)
我认为你在寻找math.acos而不是math.cos,你想要返回其值为这两个边的比例的角度。不要拿它的余弦。
答案 2 :(得分:0)
Trig函数会将角度转换为某个三角形某条腿的长度。特别地,切线是相对侧与相邻侧的比率。 math.tan(7/7)
是与角度为1(= 7/7)弧度相对的直角三角形的长度。这个长度(~1.557)恰好接近90度(pi / 2~1.571)的弧度数。
如上所述,您正在寻找反向触发功能,将长度转换回角度。
答案 3 :(得分:0)
使用它:
import math
AB = float(input())
BC = float(input())
print(str(int(round(math.degrees(math.atan2(AB, BC)))))+'°')
答案 4 :(得分:0)
您也可以使用它。
print(str(int(round(math.degrees(math.atan2(x,y)))))+'°')
这将接受两个输入作为三角形的两个高度,并且您可以使用适当的度数格式获取输出角度。