如何在 C# 中将 z 坐标转换为角度?

How to convert z coordinate to an angle in c#?


为了将 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坐标转角度的目的是让相机角度与 我正在看的对象。

很相似,又是一个三角形

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