4 элемента Vector (3D Math) - PullRequest
       17

4 элемента Vector (3D Math)

9 голосов
/ 03 октября 2010

Почему во многих классах Vector 3D API есть термин W (т.е. Vector4 (x, y, z, w))? Существуют ли математические операции, для которых абсолютно необходим термин W

1 Ответ

19 голосов
/ 03 октября 2010

Это специальное представление точки в трехмерном пространстве, называемое однородными координатами .

Это просто еще один способ описать точку в трехмерном пространстве. Они широко используются в трехмерной графике, потому что имеют несколько преимуществ: они упрощают некоторые формулы и позволяют вам представлять «точку на бесконечности» (или «линию на бесконечности» и т. Д. В зависимости от измерения).

См. Например эта статья для объяснения:

http://andrewharvey4.wordpress.com/2008/09/29/xyzw-in-opengldirect3d-homogeneous-coordinates/

Википедия также дает хороший обзор (предупреждение, забавная, но серьезная математика):

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

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

(проективная геометрия является основной теорией для однородных координат)

Факт бонуса:

Причина, по которой преобразования объектов из нашего знакомого трехмерного пространства на самом деле проще с использованием однородных координат, заключается в том, что, вопреки интуиции, проективная геометрия избегает некоторых особых случаев, которые вам нужны в евклидовой геометрии. Подробности см. В статьях выше или в любой достойной книге по математике по проективной геометрии: -).

...