Умножение матриц - представление/проекция, мир/проекция, и т.д.

Посмотрите локаль модуль.

Это делает валюту (и дата) форматирование.

>>> import locale
>>> locale.setlocale( locale.LC_ALL, '' )
'English_United States.1252'
>>> locale.currency( 188518982.18 )
'$188518982.18'
>>> locale.currency( 188518982.18, grouping=True )
'$188,518,982.18'

5
задан tweetypi 16 August 2009 в 09:22
поделиться

2 ответа

Вы можете получить некоторую информацию с математической точки зрения в этой статье в Википедии или на msdn .

По сути, при визуализации 3D-модель на экран, вы начинаете с простого набора вершин, разбросанных в 3D-пространстве. Все эти вершины имеют свои собственные позиции, выраженные в « объектном пространстве ». То есть они обычно имеют координаты, которые не имеют значения в визуализируемой сцене, а выражают только отношения между одной вершиной и другой той же модели. Например, положение вершин модели может находиться в диапазоне от -1 до 1 (или аналогично, это зависит от того, как модель была создана).

Для того, чтобы визуализировать модель в правильном положении, у вас есть масштабировать, вращать и переводить его в «реальное» положение в вашей сцене. Эта позиция, в которую вы перемещаетесь, выражается в координатах « мировое пространство », которые также выражают реальные отношения между вершинами в вашей сцене. Для этого вы просто умножаете положение каждой вершины на ее матрицу World . Эта матрица должна быть создана для включения параметров перемещения / поворота / масштабирования, которые необходимо применить, чтобы объект появился в правильном положении на сцене.

На этом этапе (после умножения всех вершин всех ваших моделей на мировую матрицу) ваши вершины выражаются в мировых координатах, но вы по-прежнему не можете их правильно отобразить, потому что их положение не относительно вашего " view "(т.е. ваша камера). Итак, на этот раз вы умножаете все, используя матрицу просмотра, которая отражает положение и ориентацию точки обзора, из которой вы рендерируете сцену.

Все вершины теперь находятся в правильном положении, но для имитации перспективы вам еще нужно все умножить на матрицу проекции. Это последнее умножение определяет, как положение вершин изменяется в зависимости от расстояния от камеры.

И, наконец, все вершины, начиная с их положения в " пространстве объектов ",

12
ответ дан 18 December 2019 в 14:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: