math - 等距投影 : What's wrong with my math?

标签 math matrix isometric

我有一道等轴测投影的数学题。我读了一篇文章:Axonometric projections - a technical overview .对于等距投影部分,它给出了将 x 部分的 3D 点转换为 2D 点的数学公式,公式为:

x' = ( x − z ) cos(30);

但我也检查维基Isometric Projection所以我使用维基给出的旋转矩阵,自己计算

x' = x*cos(beta) - z*sin(beta)

beta由wiki定义(Y轴旋转角度,应为45)。那么我的数学有什么问题呢?或者关于等轴测投影,我有什么不了解的地方吗?

最佳答案

你确定你的 cossin 是度数而不是弧度吗?

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

关于math - 等距投影 : What's wrong with my math?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2126600/

相关文章:

php - 谷歌距离矩阵 JSON 最短路径 (PHP)

arrays - 在 MATLAB 中将函数分布在数组的单个维度上?

c++ - 使用 C++ 矩阵的自定义索引

c# - 世界点到等距点 - 需要帮助理解

c++ - 将笛卡尔宽度和高度转换为等距

c# - System.Math.Round - 舍入到零位并除以舍入到一位或多位数字

c# - Triangle - 三角形相交测试

iphone - 如何计算等轴测图上两点之间的实际距离?

python - Base 62 转换

javascript - 为什么这个减少不返回-2?