如何在 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;
}
为了将 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;
}