我有一个三角形,知道两侧的长度(见图)并且需要知道图中显示的角度(红色已知,蓝色角度是我需要计算的)
我发现,Math.Tan 让我得到以弧度表示的角度,所以当我尝试这样做时:
alpha = Math.Tan((CA/AB));
结果我总是得到0。我的问题是 - 我怎么能得到这个角度,只知道这两个方面?
尝试:
double alpha = Math.Atan2(CA, AB)
确保结果 ,alpha
和其他变量是double
我的心理调试告诉我CA
和AB
都是整数,要么int
要么long
。因此,结果也将是整数类型,根据需要截断任何十进制值。将至少其中一个值转换为浮点类型以获得浮点结果:
alpha = Math.Tan((CA/(double)AB));
您正在寻找的角度是 arctanjant 而不是 tanjant。
所以你应该使用 .Net 库的 arctanjant 函数。以下行提供了您需要的内容。
double alpha = Math.Atan ((double)CA/AB) * 180 / PI;
如您所知,PI 为 3.14。