加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

使用C#中的Arcsin计算正交三角形的角度

发布时间:2020-12-16 02:01:13 所属栏目:百科 来源:网络整理
导读:我有以下代码: double x = sw.bonePos[0,(int)Bones.HipCenter].x;double z = sw.bonePos[0,(int)Bones.HipCenter].z;double hypotenusePower2 = Math.Pow(x,2) + Math.Pow(z,2);double hypotenuse = Math.Sqrt(hypotenusePower2);double angle = Math.Asin
我有以下代码:

double x = sw.bonePos[0,(int)Bones.HipCenter].x;
double z = sw.bonePos[0,(int)Bones.HipCenter].z;
double hypotenusePower2 = Math.Pow(x,2) + Math.Pow(z,2);

double hypotenuse = Math.Sqrt(hypotenusePower2);

double angle = Math.Asin(z / hypotenuse);

我知道x,z,斜边是正确的,z /斜边是正确的,因为它总是介于-1和1之间.所以我想找到使用ArcSin的角度,如this,但是当我打印时,例如Math.Asin(1)结果是1.5707 ……
我使用了错误的功能吗? C#中是否有任何返回角度的函数?

输入/输出示例:

x: -0.000844396417960525 
z: 0.857428431510925 
hypotenuse: 0.857428847292063 
angle: 1.5698115260652



x: 0.0198930986225605 
z: 0.849016189575195 
hypotenus: 0.849249212854266 
angle: 1.54736984845028

解决方法

你得到的结果是正确的 – 因为1是π的一半,或大约1.5707弧度.

返回角度的函数通常以弧度返回结果.如果需要以度为单位的结果,则需要将结果转换如下:

double degrees = angle * ( 180 / Math.Pi );

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读