|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Vasily Shmelev 2:5020/400 13 Aug 2001 15:25:00 To : Evgeniy Jirnov Subject : Re: 3D повоpот... --------------------------------------------------------------------------------
Hello! Evgeniy Jirnov wrote in message:
EJ> Как мне посчитать кооpдинаты в 2D в зависимости от yглов XAxis и
YAxis?
Это было в моей проге, которая вращает 3D массив на экране. Как раз по
двум осям.
z = ((sin(j)*sin(k)*square[c*3+0] - cos(j)*sin(k)*square[c*3+1] +
cos(k)*square[c*3+2]));
x = (int)((cos (j)*square[c*3+0] + sin (j)*square[c*3+1])*u);
y = (int)((-square[c*3+0]*sin(j)*cos(k) + square[c*3+1]*cos(j)*cos(k) +
square[c*3+2]*sin(k))*u);
k, j -- углы поворота в радианах
square -- массив точек
u -- масштаб
x, y, z -- соответственно координаты точки после поворота.
Для проектирования на экран отбрасываешь z. То есть, пишешь что-то вроде
setpixel (x, y);
А в общем, это перемножение операторов поворота по двум осям + оператор
проектирования.
--
С уважением,
Василий
--- ifmail v.2.15dev5
* Origin: MTU-Intel ISP (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/9104a2886249.html, оценка из 5, голосов 10
|