我在等轴测投影中遇到了一个数学问题。我读了一篇文章:等轴测投影-技术概述。对于等轴测投影部分,它提供了一个将三维点转换为二维点的数学公式,其中x部分的公式为:
x' = ( x − z ) cos(30);
但我也查了维基百科关于等角投影的内容,因此使用维基提供的旋转矩阵进行计算。
x' = x*cos(beta) - z*sin(beta)
这个beta是由维基定义的(Y轴旋转角度,应为45度)。那么我的数学有什么问题吗?或者是我不知道等距投影的某些内容吗?
我在等轴测投影中遇到了一个数学问题。我读了一篇文章:等轴测投影-技术概述。对于等轴测投影部分,它提供了一个将三维点转换为二维点的数学公式,其中x部分的公式为:
x' = ( x − z ) cos(30);
但我也查了维基百科关于等角投影的内容,因此使用维基提供的旋转矩阵进行计算。
x' = x*cos(beta) - z*sin(beta)
这个beta是由维基定义的(Y轴旋转角度,应为45度)。那么我的数学有什么问题吗?或者是我不知道等距投影的某些内容吗?
你确定你的 cos
和 sin
是使用角度而不是弧度吗?
// C/C++ code
#define PI 3.141592654
static const float PI_RADIANS = PI / 180.f;
inline float DegToRad(float a_Degrees)
{
return (a_Degrees * PI_RADIANS);
}
inline float RadToDeg(float a_Radians)
{
return (a_Radians / PI_RADIANS);
}