Изометрическая проекция: что не так с моей математикой? - PullRequest
3 голосов
/ 24 января 2010

У меня есть математическая задача в изометрической проекции. Я читаю статью: Аксонометрические проекции - технический обзор . Для части Изометрическая проекция она дает математическую формулу для преобразования 3D-точки в 2D-точку, для части x формула:

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

Но я также проверяю вики на Изометрическая проекция , поэтому я использую матрицы вращения, которые дает вики, вычисляю себя

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

Бета-версия определяется вики (угол поворота оси Y, и он должен быть 45). Так что не так с моей математикой? Или есть что-то, чего я не знаю об Изометрической проекции?

1 Ответ

3 голосов
/ 24 января 2010

Вы уверены, что ваши 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);
}
...