![]() |
Вращение, 3D
Есть триугольная пирамида. Научился вращять ее вокруг одной оси. Раскажите, пожалуйста, как будут изменятся кординаты ее вершин при вращении вокруг трех осей(x,y,z). Я знаю в сети есть много исходников, но в них тяжеловато разобратся.
|
В общем, по любому движок 3D - сложная штука. Есть готовые компоненты 3D для флеш - с ними проще.
|
Как там связывать cos, sin, tg с кординатами при вращении(angleX, angleY, angleZ)?
|
http://etcs.ru/portfolio/bricks.fla — там все преобразование из 6 строк.
|
Цитата:
|
_etc можешь выписать формулу из исходника. Я то я там нифига не понимаю(у каждого свой стиль кодирования).
|
Ф-я move3D
|
Вложений: 1
_etc не подскажешь в чем проблемка?
|
Не подскажу, потому что без лишнего геморроя твой класс не запустишь.
|
_etc выпиши, пожалйуста, формулу в посте, в нормальном виде. Вставлял формулу из исходника, так чё-то не пашет.
|
Там 8-10 строк внутри второго цикла move3D, это преобразование трехмерных координат точки в двумерные.
|
Код:
x=x0*cos(angZ)-y0*sin(angZ); |
Где можно нормальные статейки почитать на эту тему? А то я все облазил, ничё нормального не нашел.
|
Вложений: 1
Вот посмотрите, что у меня вышло. Стоит вопрос в следуйщем:
как закрасить грани, так чтоб линии не вылазили на заливку? |
Определить глубину каждой грани, отсортировать, затем красить (или не красить, если грань невидима).
В моём же исходнике высчитывается координата z вектора нормали поверхности. Если значение отрицательно, то грань невидима (не всегда, зависит от того, с какой стороны у грани «лицо»). Этому исходнику года полтора, я уже всё забыл. |
Цитата:
|
| Часовой пояс GMT +4, время: 09:37. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.