Projective Geometry, Duality and Precision of Computation in Computer Graphics, Visualization and Games

Loading...
Thumbnail Image
Date
2013
Journal Title
Journal ISSN
Volume Title
Publisher
The Eurographics Association
Abstract
Homogeneous coordinates and projective geometry are mostly connected with geometric transformations only. However the projective extension of the Euclidean system allows reformulation of geometrical problems which can be easily solved. In many cases quite complicated formulae are becoming simple from the geometrical and computational point of view. In addition they lead to simple parallelization and to matrix-vector operations which are convenient for matrix-vector hardwarearchitecture like GPU. In this short tutorial we will introduce "practical theory" of the projective space and homogeneous coordinates. We will show that a solution of linear system of equations is equivalent to generalized cross product and how this influences basic geometrical algorithms. The projective formulation is also convenient for computation of barycentric coordinates, as it is actually one crossproduct implemented as one clock instruction on GPU. Additional speed up can be expected, too.Moreover use of projective representation enables to postpone division operations in many geometrical problems, which increases robustness and stability of algorithms. There is no need to convert coordinates of points from the homogeneous coordinates to the Euclidean ones as the projective formulation supports homogeneous coordinates natively. The presented approach can be applied in computational problems, games and visualization applications as well.
Description

        
@inproceedings{
10.2312:conf/EG2013/tutorials/t7
, booktitle = {
Eurographics 2013 - Tutorials
}, editor = {
Diego Gutierrez and Karol Myszkowski
}, title = {{
Projective Geometry, Duality and Precision of Computation in Computer Graphics, Visualization and Games
}}, author = {
Skala, Vaclav
}, year = {
2013
}, publisher = {
The Eurographics Association
}, ISSN = {
1017-4656
}, ISBN = {}, DOI = {
10.2312/conf/EG2013/tutorials/t7
} }
Citation