【发布时间】:2015-10-12 02:22:20
【问题描述】:
我已经在网上搜索了几个小时以将 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 坐标转角的目的是让相机的角度与 我正在查看的对象。
【问题讨论】:
-
你知道将z转换为笛卡尔以外坐标的数学函数吗?你知道你是想去极地还是圆柱体?
-
大多数 3d 引擎和环境都有
camera.LookAt(obj)功能。如果你有一个,你可以查找LookAt方法的算法并实现它。不要重新发明轴。