【发布时间】:2018-01-26 20:28:39
【问题描述】:
在过去的一个小时里,我一直在努力让这段代码正常工作,我几乎完成了。一切正常,但float verticalDegrees。
详细问题:如何让这段代码正常工作,以便从水平度数、垂直度数、半径和原点返回 XYZ?
This link helped me, but it's missing Z coordinate
这是我目前所拥有的:
private float[] DegreesToXYZ(float horizonalDegrees, float verticalDegrees, float radius, float[] origin)
{
float[] xyz = new float[3];
double radiansH = horizonalDegrees * Math.PI / 180.0;
double radiansV = verticalDegrees * Math.PI / 180.0;
xyz[1] = (float)Math.Cos(radiansH) * radius + origin[1];
xyz[0] = (float)Math.Sin(-radiansH) * radius + origin[0];
double deltaXY = Math.Sqrt(origin[0] * origin[0] + origin[1] * origin[1]);
xyz[2] = (float)Math.Atan2(origin[2], deltaXY);
return xyz;
}
【问题讨论】:
标签: c# math coordinates degrees