我一直在网上搜索几个小时,将z轴坐标转换为一个角度。我已经有x,y到角度,现在要完成它我需要z。这是x,y的代码:
private float XYToDegrees(Point xy, Point origin)
{
int deltaX = origin.X - xy.X;
int deltaY = origin.Y - xy.Y;
double radAngle = Math.Atan2(deltaY, deltaX);
double degreeAngle = radAngle * 180.0 / Math.PI;
return (float)(180.0 - degreeAngle);
}
以及运行该函数的代码:
XYToDegrees(new Point(2334, -447), new Point(2433, -659)) - 270;
z坐标与角度的目的是使摄像机角度与之对齐 我正在看的对象。
答案 0 :(得分:0)
这是非常类似的,只是另一个三角形
private float XYZToDegrees(double deltaX, double deltaY, double deltaZ)
{
double deltaXY = Math.Sqrt(deltaY * deltaY + deltaX * deltaX);
double radAngle = Math.Atan2(deltaZ, deltaXY);
double degreeAngle = radAngle * 180.0 / Math.PI;
return (float)degreeAngle;
}