如何将z坐标转换为c#中的角度?

时间:2015-10-12 02:22:21

标签: c# vector angle degrees

我一直在网上搜索几个小时,将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坐标与角度的目的是使摄像机角度与之对齐 我正在看的对象。

1 个答案:

答案 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;
}