3D graphics eBook - Course Materials Repository
3D graphics eBook - Course Materials Repository 3D graphics eBook - Course Materials Repository
Quaternions and spatial rotation 137 Pairs of unit quaternions as rotations in 4D space A pair of unit quaternions z l and z r can represent any rotation in 4D space. Given a four dimensional vector , and pretending that it is a quaternion, we can rotate the vector like this: It is straightforward to check that for each matrix M M T = I, that is, that each matrix (and hence both matrices together) represents a rotation. Note that since , the two matrices must commute. Therefore, there are two commuting subgroups of the set of four dimensional rotations. Arbitrary four dimensional rotations have 6 degrees of freedom, each matrix represents 3 of those 6 degrees of freedom. Since an infinitesimal four-dimensional rotation can be represented by a pair of quaternions (as follows), all (non-infinitesimal) four-dimensional rotations can also be represented. References [1] Quaternions and rotation Sequences: a Primer with Applications to Orbits, Aerospace, and Virtual Reality. Kuipers, Jack B., Princeton University Press copyright 1999. [2] Rotations, Quaternions, and Double Groups. Altmann, Simon L., Dover Publications, 1986 (see especially Ch. 12). [3] (http:/ / www. j3d. org/ matrix_faq/ matrfaq_latest. html#Q55), The Java 3D Community Site, Matrix FAQ, Q55 [4] Bar-Itzhack, Itzhack Y. (2000), "New method for extracting the quaternion from a rotation matrix", AIAA Journal of Guidance, Control and Dynamics 23 (6): 1085–1087 (Engineering Note), doi:10.2514/2.4654, ISSN 0731-5090 External links and resources • Shoemake, Ken. Quaternions (http:/ / www. cs. caltech. edu/ courses/ cs171/ quatut. pdf) • Simple Quaternion type and operations in more than twenty different languages (http:/ / rosettacode. org/ wiki/ Simple_Quaternion_type_and_operations) on Rosetta Code • Hart, Francis, Kauffman. Quaternion demo (http:/ / graphics. stanford. edu/ courses/ cs348c-95-fall/ software/ quatdemo/ ) • Dam, Koch, Lillholm. Quaternions, Interpolation and Animation (http:/ / www. diku. dk/ publikationer/ tekniske. rapporter/ 1998/ 98-5. ps. gz) • Byung-Uk Lee. Unit Quaternion Representation of Rotation (http:/ / home. ewha. ac. kr/ ~bulee/ quaternion. pdf) • Ibanez, Luis. Quaternion Tutorial I (http:/ / www. itk. org/ CourseWare/ Training/ QuaternionsI. pdf) • Ibanez, Luis. Quaternion Tutorial II (http:/ / www. itk. org/ CourseWare/ Training/ QuaternionsII. pdf) • Vicci, Leandra. Quaternions and Rotations in 3-Space: The Algebra and its Geometric Interpretation (ftp:/ / ftp. cs. unc. edu/ pub/ techreports/ 01-014. pdf) • Howell, Thomas and Lafon, Jean-Claude. The Complexity of the Quaternion Product, TR75-245, Cornell University, 1975 (http:/ / world. std. com/ ~sweetser/ quaternions/ ps/ cornellcstr75-245. pdf)
Quaternions and spatial rotation 138 • Berthold K.P. Horn. Some Notes on Unit Quaternions and Rotation (http:/ / people. csail. mit. edu/ bkph/ articles/ Quaternions. pdf). Radiosity Radiosity is a global illumination algorithm used in 3D computer graphics rendering. Radiosity is an application of the finite element method to solving the rendering equation for scenes with purely diffuse surfaces. Unlike Monte Carlo algorithms (such as path tracing) which handle all types of light paths, typical radiosity methods only account for paths which leave a light source and are reflected diffusely some number of times (possibly zero) before hitting the eye. Such paths are represented as "LD*E". Radiosity calculations are viewpoint independent which increases the computations involved, but makes them useful for all viewpoints. Radiosity methods were first developed in about 1950 in the engineering field of heat transfer. They were later refined specifically for application to the problem of rendering computer graphics in 1984 by researchers at Cornell University. [1] A simple scene (Cornell box) lit both with and without radiosity. Note that in the absence of radiosity, surfaces that are not lit directly (areas in shadow) lack visual detail and are completely dark. Also note that the colour of bounced light from radiosity reflects the colour of the surfaces it bounced off of. Notable commercial radiosity engines are Enlighten by Geomerics, as seen in titles such as Battlefield 3, Need for Speed and others, Lightscape (now incorporated into the Autodesk 3D Studio Max internal render engine), form•Z RenderZone Plus by AutoDesSys, Inc.), the built in render engine in LightWave 3D and ElAS (Electric Image Animation System).
- Page 91 and 92: Normal mapping 86 How it works To c
- Page 93 and 94: OrenNayar reflectance model 88 Oren
- Page 95 and 96: OrenNayar reflectance model 90 , ,
- Page 97 and 98: Painter's algorithm 92 The algorith
- Page 99 and 100: Parallax mapping 94 • Parallax Ma
- Page 101 and 102: Particle system 96 A cube emitting
- Page 103 and 104: Path tracing 98 History Further inf
- Page 105 and 106: Path tracing 100 Scattering distrib
- Page 107 and 108: Phong reflection model 102 Visual i
- Page 109 and 110: Phong reflection model 104 Because
- Page 111 and 112: Phong shading 106 Visual illustrati
- Page 113 and 114: Photon mapping 108 Rendering (2nd p
- Page 115 and 116: Photon tracing 110 Advantages and d
- Page 117 and 118: Potentially visible set 112 • Can
- Page 119 and 120: Potentially visible set 114 Externa
- Page 121 and 122: Procedural generation 116 increases
- Page 123 and 124: Procedural generation 118 • Softi
- Page 125 and 126: Procedural generation 120 Reference
- Page 127 and 128: Procedural texture 122 Self-organiz
- Page 129 and 130: Procedural texture 124 References [
- Page 131 and 132: 3D projection 126 The distance of t
- Page 133 and 134: Quaternions and spatial rotation 12
- Page 135 and 136: Quaternions and spatial rotation 13
- Page 137 and 138: Quaternions and spatial rotation 13
- Page 139 and 140: Quaternions and spatial rotation 13
- Page 141: Quaternions and spatial rotation 13
- Page 145 and 146: Radiosity 140 Overview of the radio
- Page 147 and 148: Radiosity 142 This is sometimes kno
- Page 149 and 150: Radiosity 144 References [1] " Mode
- Page 151 and 152: Ray casting 146 the light will reac
- Page 153 and 154: Ray tracing 148 Typically, each ray
- Page 155 and 156: Ray tracing 150 independence of eac
- Page 157 and 158: Ray tracing 152 On June 12, 2008 In
- Page 159 and 160: Reflection 154 Reflection Reflectio
- Page 161 and 162: Reflection 156 Glossy Reflection Fu
- Page 163 and 164: Reflection mapping 158 Cube mapping
- Page 165 and 166: Render Output unit 160 Render Outpu
- Page 167 and 168: Rendering 162 • indirect illumina
- Page 169 and 170: Rendering 164 Ray tracing Ray traci
- Page 171 and 172: Rendering 166 Academic core The imp
- Page 173 and 174: Rendering 168 • 1984 Distributed
- Page 175 and 176: Retained mode 170 Retained mode In
- Page 177 and 178: Scanline rendering 172 Comparison w
- Page 179 and 180: Screen Space Ambient Occlusion 174
- Page 181 and 182: Screen Space Ambient Occlusion 176
- Page 183 and 184: Shadow mapping 178 Algorithm overvi
- Page 185 and 186: Shadow mapping 180 Drawing the scen
- Page 187 and 188: Shadow mapping 182 Further reading
- Page 189 and 190: Shadow volume 184 There is also a p
- Page 191 and 192: Shadow volume 186 The depth fail me
Quaternions and spatial rotation 137<br />
Pairs of unit quaternions as rotations in 4D space<br />
A pair of unit quaternions z l and z r can represent any rotation in 4D space. Given a four dimensional vector , and<br />
pretending that it is a quaternion, we can rotate the vector like this:<br />
It is straightforward to check that for each matrix M M T = I, that is, that each matrix (and hence both matrices<br />
together) represents a rotation. Note that since , the two matrices must commute. Therefore,<br />
there are two commuting subgroups of the set of four dimensional rotations. Arbitrary four dimensional rotations<br />
have 6 degrees of freedom, each matrix represents 3 of those 6 degrees of freedom.<br />
Since an infinitesimal four-dimensional rotation can be represented by a pair of quaternions (as follows), all<br />
(non-infinitesimal) four-dimensional rotations can also be represented.<br />
References<br />
[1] Quaternions and rotation Sequences: a Primer with Applications to Orbits, Aerospace, and Virtual Reality. Kuipers, Jack B., Princeton<br />
University Press copyright 1999.<br />
[2] Rotations, Quaternions, and Double Groups. Altmann, Simon L., Dover Publications, 1986 (see especially Ch. 12).<br />
[3] (http:/ / www. j3d. org/ matrix_faq/ matrfaq_latest. html#Q55), The Java <strong>3D</strong> Community Site, Matrix FAQ, Q55<br />
[4] Bar-Itzhack, Itzhack Y. (2000), "New method for extracting the quaternion from a rotation matrix", AIAA Journal of Guidance, Control and<br />
Dynamics 23 (6): 1085–1087 (Engineering Note), doi:10.2514/2.4654, ISSN 0731-5090<br />
External links and resources<br />
• Shoemake, Ken. Quaternions (http:/ / www. cs. caltech. edu/ courses/ cs171/ quatut. pdf)<br />
• Simple Quaternion type and operations in more than twenty different languages (http:/ / rosettacode. org/ wiki/<br />
Simple_Quaternion_type_and_operations) on Rosetta Code<br />
• Hart, Francis, Kauffman. Quaternion demo (http:/ / <strong>graphics</strong>. stanford. edu/ courses/ cs348c-95-fall/ software/<br />
quatdemo/ )<br />
• Dam, Koch, Lillholm. Quaternions, Interpolation and Animation (http:/ / www. diku. dk/ publikationer/ tekniske.<br />
rapporter/ 1998/ 98-5. ps. gz)<br />
• Byung-Uk Lee. Unit Quaternion Representation of Rotation (http:/ / home. ewha. ac. kr/ ~bulee/ quaternion. pdf)<br />
• Ibanez, Luis. Quaternion Tutorial I (http:/ / www. itk. org/ <strong>Course</strong>Ware/ Training/ QuaternionsI. pdf)<br />
• Ibanez, Luis. Quaternion Tutorial II (http:/ / www. itk. org/ <strong>Course</strong>Ware/ Training/ QuaternionsII. pdf)<br />
• Vicci, Leandra. Quaternions and Rotations in 3-Space: The Algebra and its Geometric Interpretation (ftp:/ / ftp.<br />
cs. unc. edu/ pub/ techreports/ 01-014. pdf)<br />
• Howell, Thomas and Lafon, Jean-Claude. The Complexity of the Quaternion Product, TR75-245, Cornell<br />
University, 1975 (http:/ / world. std. com/ ~sweetser/ quaternions/ ps/ cornellcstr75-245. pdf)