3d математика во Flash AS3 - PullRequest
       21

3d математика во Flash AS3

0 голосов
/ 12 октября 2009

Я пытаюсь закодировать 3d-стену, как http://www.flashloaded.com/flashcomponents/3dwall/

Форма, которую я ищу, похожа на ванну или арену, где она представляет собой изогнутый прямоугольник с наклонными сторонами.

На изображении ниже показано, чего я пытаюсь достичь, если смотреть сверху. Я надеюсь, что это помогает.

alt text

Может ли кто-нибудь дать мне некоторые идеи по математике для создания этой фигуры с использованием примитивных прямоугольных фигур.

Спасибо, Josh

1 Ответ

4 голосов
/ 12 октября 2009

http://en.wikipedia.org/wiki/Matrix_multiplication

http://en.wikipedia.org/wiki/Transformation_matrix

http://www.devmaster.net/wiki/Transformation_matrices

Прямоугольник имеет 4 3D точки (векторы)

Определите вектор таким образом
alt text

Для перемещения / поворота / масштабирования просто умножьте каждый вектор на матрицу преобразования.

Эта матрица вращается вокруг оси X:
alt text

Для соответствующей проекции (камеры) смотрите: http://en.wikipedia.org/wiki/3D_projection

Например: вы можете создавать прямоугольники и вращать их вокруг оси, чтобы создать цилиндр, подобный этому: alt text
(источник: flashloaded.com )

твоя яма:
примечание: угол не правильный, он должен быть пи-а (180º-а) alt text

создайте все прямоугольники с центром в начале координат (0,0,0), затем поверните их по мере необходимости и переместите в нужное положение. Я рекомендую сначала кодировать матричные процедуры, такие как rotate (), move (), scale () и простую функцию рисования (просто рисование линий, без перспективы), остальное - просто играть с матрицами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...