| ²é¿´: 2649 | »Ø¸´: 43 | ||||||
| ¡¾½±Àø¡¿ ±¾Ìû±»ÆÀ¼Û38´Î£¬×÷ÕßpkusiyuanÔö¼Ó½ð±Ò 30.2 ¸ö | ||||||
[×ÊÔ´]
Advanced Methods in Computer Graphics - With Examples in OpenGL
|
||||||
|
1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.1 Advanced Computer Graphics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 Supplementary Material . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.3 Notations .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.4 Contents Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2 Mathematical Preliminaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.1 Points and Vectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.2 Signed Angle and Area . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.3 Lines and Planes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.4 Intersection of 3 Planes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.5 Curves .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.6 Affine Transformations .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 2.7 Affine Combinations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.8 Barycentric Coordinates .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 2.9 Basic Lighting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 2.10 Summary .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 2.11 Supplementary Material for Chap. 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 2.12 Bibliographical Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3 Scene Graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 3.1 The Basic Structure of a Scene Graph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 3.2 Transformation Hierarchy .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 3.2.1 A Mechanical Part . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 3.2.2 A Simple Character Model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 3.2.3 A Planetary System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 3.3 Relative Transformations .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 3.4 Bounding Volume Hierarchy .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 3.5 Sample Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 3.5.1 Group Node.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 3.5.2 Object Node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 ix x Contents 3.5.3 Camera Node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 3.5.4 Light Node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 3.6 First-Person View. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 3.7 Summary .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 3.8 Supplementary Material for Chap. 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 3.9 Bibliographical Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 4 Skeletal Animation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 4.1 Articulated Character Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 4.2 Vertex Blending .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 4.3 Skeleton and Skin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 4.4 Vertex Skinning .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 4.4.1 The Bind Pose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 4.4.2 Mesh Vertex Transformation.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 4.5 Vertex Skinning Using Scene Graphs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 4.6 Transformation Blending .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 4.7 Keyframe Animation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 4.8 Sample Implementation of Vertex Skinning.. . . . . . . . . . . . . . . . . . . . . . . . . 69 4.8.1 Skeleton Node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 4.8.2 Skinned Mesh Node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 4.9 Summary .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 4.10 Supplementary Material for Chap. 4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 4.11 Bibliographical Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 5 Quaternions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 5.1 Review of Complex Numbers .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 5.2 Quaternion Algebra .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 5.3 Quaternion Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 5.4 Generalized Rotations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 5.4.1 Euler Angles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 5.4.2 Angle-Axis Transformation.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 5.5 Quaternion Rotations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 5.5.1 Quaternion TransformationMatrix . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 5.5.2 Quaternions and Euler Angles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 5.5.3 Negative Quaternion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 5.6 Rotation Interpolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 5.6.1 Euler Angle Interpolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 5.6.2 Axis-Angle Interpolation.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 5.6.3 Quaternion Linear Interpolation (LERP) . . . . . . . . . . . . . . . . . . . . . 98 5.6.4 Quaternion Spherical Linear Interpolation (SLERP) . . . . . . . . 99 5.7 Quaternion Exponentiation .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 5.8 Relative Quaternions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 5.9 Dual Quaternions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 5.9.1 Dual Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 Contents xi 5.9.2 Algebra of Dual Quaternions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 5.9.3 Transformations Using Dual Quaternions.. . . . . . . . . . . . . . . . . . . 108 5.10 Summary .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 5.11 Supplementary Material for Chap. 5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 5.12 Bibliographical Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 6 Kinematics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 6.1 Robot Manipulators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 6.2 Forward Kinematics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 6.2.1 Joint Chain in Two Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 6.2.2 Joint Chain in 3D Space. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 6.3 Linear and Angular Velocity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 6.3.1 Velocity in Two Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 6.3.2 Velocity Under Euler Angle Transformations.. . . . . . . . . . . . . . . 120 6.3.3 Quaternion Velocity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 6.3.4 The Jacobian .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 6.4 Inverse Kinematics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 6.4.1 2-Link Inverse Kinematics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 6.4.2 n-Link Inverse Kinematics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 6.5 Gradient Descent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 6.6 Cyclic Coordinate Descent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 6.7 Circular Alignment Algorithm .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 6.8 Summary .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 6.9 Supplementary Material for Chap. 6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 6.10 Bibliographical Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 7 Curves and Surfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 7.1 Polynomial Interpolation .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 7.2 Cubic Parametric Curves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 7.3 Parametric Continuity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 7.4 Hermite Splines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 7.5 Cardinal Splines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 7.6 Bezier Curves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 7.6.1 Cubic Bezier Splines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 7.6.2 de-Casteljau¡¯s Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 7.6.3 Rational Bezier Curves. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 7.7 Polynomial Interpolants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 7.8 B-Splines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 7.8.1 Basis Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 7.8.2 Approximating Curves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 7.8.3 NURBS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 7.9 Surface Patches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 7.10 Coons Patches. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 7.11 Bi-Cubic Bezier Patches. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 xii Contents 7.12 Summary .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 7.13 Supplementary Material for Chap. 7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 7.14 Bibliographical Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 8 Mesh Processing.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 8.1 Mesh Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 8.2 PolygonalManifolds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 8.3 Mesh Data Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186 8.3.1 Face-Based Data Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 8.3.2 Winged-Edge Data Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 8.3.3 Half-Edge Data Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 8.4 Mesh Simplification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194 8.4.1 Vertex Decimation .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194 8.4.2 Edge Collapse Operation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196 8.5 Mesh Subdivision .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201 8.5.1 Subdivision Curves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201 8.5.2 The Loop Subdivision Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 8.5.3 Catmull-Clark Subdivision.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 8.5.4 Root-3 Subdivision .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207 8.6 Mesh Parameterization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 8.6.1 Barycentric Embedding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210 8.6.2 Spherical Embedding.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214 8.7 Polygon Triangulation .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215 8.7.1 Polygon Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 8.7.2 Edge-Flip Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218 8.7.3 Three Coins Algorithm.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219 8.7.4 Triangulation of Monotone Polygons . . . . . . . . . . . . . . . . . . . . . . . . 222 8.8 Summary .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224 8.9 Supplementary Material for Chap. 8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226 8.10 Bibliographical Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229 9 Collision Detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231 9.1 Bounding Volumes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231 9.1.1 Axis Aligned Bounding Box (AABB) . . . . . . . . . . . . . . . . . . . . . . . 232 9.1.2 Minimal Bounding Sphere . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232 9.1.3 Oriented Bounding Box (OBB). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237 9.1.4 Discrete Oriented Polytope (k-DOP) . . . . . . . . . . . . . . . . . . . . . . . . . 239 9.1.5 Convex Hulls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241 9.2 Intersection Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243 9.2.1 AABB Intersection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243 9.2.2 OBB Intersection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246 9.2.3 Sphere Intersection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251 9.2.4 k-DOP Intersection .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 9.2.5 Triangle Intersection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 Contents xiii 9.3 Bounding Volume Hierarchies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257 9.3.1 Top-Down Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258 9.3.2 Bottom-Up Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259 9.3.3 Collision Testing Using Hierarchy Traversal . . . . . . . . . . . . . . . . 260 9.3.4 Cost Function .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262 9.4 Spatial Partitioning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263 9.4.1 Octrees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263 9.4.2 k-d Trees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267 9.4.3 Boundary Interval Hierarchy.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271 9.5 Summary .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273 9.6 Supplementary Material for Chap. 9. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273 9.7 Bibliographical Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276 Appendices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277 Appendix A: Geometry Classes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279 A.1 Point3 Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279 A.2 Vec3 Class. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281 A.3 Triangle Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282 A.4 Matrix Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284 Appendix B: Scene Graph Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287 B.1 GroupNode Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287 B.2 ObjectNode Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289 B.3 CameraNode Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290 B.4 LightNode Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291 Appendix C: Vertex Skinning Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293 C.1 SkeletonNode Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293 C.2 Skeleton Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296 C.3 SkinnedMesh Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297 Appendix D: Quaternion Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301 D.1 Quaternion Class. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301 D.2 Dual Quaternion Class. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307 |
» ±¾Ìû¸½¼þ×ÊÔ´Áбí
-
»¶Ó¼à¶½ºÍ·´À¡£ºÐ¡Ä¾³æ½öÌṩ½»Á÷ƽ̨£¬²»¶Ô¸ÃÄÚÈݸºÔð¡£
±¾ÄÚÈÝÓÉÓû§×ÔÖ÷·¢²¼£¬Èç¹ûÆäÄÚÈÝÉæ¼°µ½ÖªÊ¶²úȨÎÊÌ⣬ÆäÔðÈÎÔÚÓÚÓû§±¾ÈË£¬Èç¶Ô°æÈ¨ÓÐÒìÒ飬ÇëÁªÏµÓÊÏ䣺xiaomuchong@tal.com - ¸½¼þ 1 : Springer_-_Advanced_Methods_in_Computer_Graphics_-_With_Examples_in_OpenGL_(2012).pdf
2015-05-02 15:24:04, 8.93 M
» ÊÕ¼±¾ÌûµÄÌÔÌûר¼ÍƼö
¹ú×Ô¿Æ»ù½ð±êÊé | Ò£¸ÐͼÏñ´¦Àíר¼ | רҵÊé¼® | Algorithm |
» ²ÂÄãϲ»¶
Èý¼×»ùµâ»¯ÑÇí¿µÄÑõ»¯·´Ó¦
ÒѾÓÐ4È˻ظ´
ÇëÎÊÏ´ó¼ÒΪʲôÕâ¸öÁåľżÁª¼¸ºõ²»·´Ó¦ÄØ
ÒѾÓÐ5È˻ظ´
ÇëÎÊÓÐÆÀÖ°³Æ£¬°Ñ¿ÆÑнÌѧҵ¼¨Ëã·ÖÅÅÐòµÄ¸ßУÂð
ÒѾÓÐ5È˻ظ´
º¢×ÓÈ·ÕïÓÐÖжÈ×¢ÒâÁ¦È±ÏÝ
ÒѾÓÐ12È˻ظ´
2025ÀäÞøÑ§Ê²Ã´Ê±ºò³ö½á¹û
ÒѾÓÐ3È˻ظ´
Ìì½ò¹¤Òµ´óѧ֣Áø´ºÍŶӻ¶Ó»¯Ñ§»¯¹¤¡¢¸ß·Ö×Ó»¯Ñ§»òÓлúºÏ³É·½ÏòµÄ²©Ê¿ÉúºÍ˶ʿÉú¼ÓÈë
ÒѾÓÐ4È˻ظ´
¿µ¸´´óѧ̩ɽѧÕßÖÜì÷»ÝÍŶÓÕÐÊÕ²©Ê¿Ñо¿Éú
ÒѾÓÐ6È˻ظ´
AIÂÛÎÄд×÷¹¤¾ß£ºÊÇ¿ÆÑмÓËÙÆ÷»¹ÊÇѧÊõ×÷±×Æ÷£¿
ÒѾÓÐ3È˻ظ´
ÂÛÎÄͶ¸å£¬ÆÚ¿¯ÍƼö
ÒѾÓÐ4È˻ظ´
˶ʿºÍµ¼Ê¦Äֵò»Óä¿ì
ÒѾÓÐ13È˻ظ´
» ±¾Ö÷ÌâÏà¹Ø¼ÛÖµÌùÍÆ¼ö£¬¶ÔÄúͬÑùÓаïÖú:
¡¾Ó¢ÃÀ¾µä½Ì²Ä¡¿¡¶MATLAB in bioscience and biotechnology¡·¡¾ÒÑËÑÎÞÖØ¸´¡¿
ÒѾÓÐ137È˻ظ´
ÇóInternational Journal of PharmaceuticsͶ¸åÄ£°å
ÒѾÓÐ3È˻ظ´
¿ªÄê´óÌùÒ»---Æù½ñΪֹ×îºÃµÄ¹ú¼ÊȨÍþ»ú¹¹ÖªÃû²ÄÁÏѧÔÓÖ¾ÅÅÃû
ÒѾÓÐ19È˻ظ´
×î½üÓÐÈËͶ¹ýAnalytical LettersÂð£¿
ÒѾÓÐ11È˻ظ´
ICMET 2011_I.C. Mechanical Engineering and Technology (Ei,ISTP,ASME)
ÒѾÓÐ4È˻ظ´
Elsevier SD(ScienceDirect)ÊÕ¼ÆÚ¿¯-¹¤³ÌÁìÓò
ÒѾÓÐ11È˻ظ´
09Äê¾§ÌåÅ£ÈËÃû¼ÒʵÑéÊÒÁ´½Ó½éÉÜ(»ØÌûÓнð±Ò)
ÒѾÓÐ161È˻ظ´
24Â¥2015-08-01 20:10:12
27Â¥2015-10-25 21:38:45
30Â¥2016-01-06 10:52:10
31Â¥2016-01-06 10:52:33
33Â¥2016-01-31 11:20:27
37Â¥2016-02-22 20:49:03
¼òµ¥»Ø¸´
źڵÄèͷӥ2Â¥
2015-05-02 19:53
»Ø¸´
ÎåÐÇºÃÆÀ ¶¥Ò»Ï£¬¸Ðл·ÖÏí£¡
conanwj3Â¥
2015-05-02 22:09
»Ø¸´
ÎåÐÇºÃÆÀ ¶¥Ò»Ï£¬¸Ðл·ÖÏí£¡
ºú²»¹é4Â¥
2015-05-03 09:45
»Ø¸´
ÎåÐÇºÃÆÀ ¶¥Ò»Ï£¬¸Ðл·ÖÏí£¡
gander5Â¥
2015-05-04 09:22
»Ø¸´
ÎåÐÇºÃÆÀ ¶¥Ò»Ï£¬¸Ðл·ÖÏí£¡
springcxliu6Â¥
2015-05-04 10:39
»Ø¸´
ÎåÐÇºÃÆÀ ¶¥Ò»Ï£¬¸Ðл·ÖÏí£¡
2015-05-04 13:10
»Ø¸´
ÎåÐÇºÃÆÀ ¶¥Ò»Ï£¬¸Ðл·ÖÏí£¡
5316304348Â¥
2015-05-04 13:33
»Ø¸´
ÎåÐÇºÃÆÀ ¶¥Ò»Ï£¬¸Ðл·ÖÏí£¡
wxq28289Â¥
2015-05-04 13:51
»Ø¸´
ÎåÐÇºÃÆÀ ¶¥Ò»Ï£¬¸Ðл·ÖÏí£¡
FMStation10Â¥
2015-05-05 10:43
»Ø¸´
ÎåÐÇºÃÆÀ ¶¥Ò»Ï£¬¸Ðл·ÖÏí£¡
zhchzhsh207611Â¥
2015-05-05 12:12
»Ø¸´
ÎåÐÇºÃÆÀ ¶¥Ò»Ï£¬¸Ðл·ÖÏí£¡
liuxd2973012Â¥
2015-05-05 14:49
»Ø¸´
ÎåÐÇºÃÆÀ ¶¥Ò»Ï£¬¸Ðл·ÖÏí£¡
butter12313Â¥
2015-05-05 17:07
»Ø¸´
ÎåÐÇºÃÆÀ ¶¥Ò»Ï£¬¸Ðл·ÖÏí£¡
034689liuhao14Â¥
2015-05-05 17:43
»Ø¸´
ÎåÐÇºÃÆÀ ¶¥Ò»Ï£¬¸Ðл·ÖÏí£¡
macier15Â¥
2015-05-06 06:44
»Ø¸´
ÎåÐÇºÃÆÀ ¶¥Ò»Ï£¬¸Ðл·ÖÏí£¡
springer_16Â¥
2015-05-06 07:42
»Ø¸´
ÎåÐÇºÃÆÀ ¶¥Ò»Ï£¬¸Ðл·ÖÏí£¡
zym100317Â¥
2015-05-06 08:47
»Ø¸´
ÎåÐÇºÃÆÀ ¶¥Ò»Ï£¬¸Ðл·ÖÏí£¡
tangmnt18Â¥
2015-05-06 13:26
»Ø¸´
ÎåÐÇºÃÆÀ ¶¥Ò»Ï£¬¸Ðл·ÖÏí£¡
jenny_dyy19Â¥
2015-05-06 15:50
»Ø¸´
ÎåÐÇºÃÆÀ ¶¥Ò»Ï£¬¸Ðл·ÖÏí£¡
c2002z20Â¥
2015-05-06 18:07
»Ø¸´
ÎåÐÇºÃÆÀ ¶¥Ò»Ï£¬¸Ðл·ÖÏí£¡
122343846321Â¥
2015-07-01 15:27
»Ø¸´
ÎåÐÇºÃÆÀ ¶¥Ò»Ï£¬¸Ðл·ÖÏí£¡
kkdd0022Â¥
2015-07-05 11:46
»Ø¸´
ÎåÐÇºÃÆÀ ¶¥Ò»Ï£¬¸Ðл·ÖÏí£¡
trcank23Â¥
2015-07-28 21:05
»Ø¸´
ÎåÐÇºÃÆÀ ¶¥Ò»Ï£¬¸Ðл·ÖÏí£¡
bwbjlt25Â¥
2015-09-07 23:45
»Ø¸´
ÎåÐÇºÃÆÀ ¶¥Ò»Ï£¬¸Ðл·ÖÏí£¡
changsongtao26Â¥
2015-10-14 22:23
»Ø¸´
ÎåÐÇºÃÆÀ ¶¥Ò»Ï£¬¸Ðл·ÖÏí£¡
xmwu28Â¥
2015-10-26 14:06
»Ø¸´
ÎåÐÇºÃÆÀ ¶¥Ò»Ï£¬¸Ðл·ÖÏí£¡
ÏëêdzƴóÎÊÌâ29Â¥
2015-11-10 15:18
»Ø¸´
ÎåÐÇºÃÆÀ ¶¥Ò»Ï£¬¸Ðл·ÖÏí£¡
qin_hanlin32Â¥
2016-01-07 11:26
»Ø¸´
ÎåÐÇºÃÆÀ ¶¥Ò»Ï£¬¸Ðл·ÖÏí£¡
bwbjlt34Â¥
2016-02-02 13:28
»Ø¸´
¶¥Ò»Ï£¬¸Ðл·ÖÏí£¡
bwbjlt35Â¥
2016-02-11 13:54
»Ø¸´
¶¥Ò»Ï£¬¸Ðл·ÖÏí£¡
royzy36Â¥
2016-02-22 17:16
»Ø¸´
ÎåÐÇºÃÆÀ ¶¥Ò»Ï£¬¸Ðл·ÖÏí£¡
zhhli38Â¥
2016-05-19 11:42
»Ø¸´
ÎåÐÇºÃÆÀ ¶¥Ò»Ï£¬¸Ðл·ÖÏí£¡
zjys588739Â¥
2017-01-15 13:08
»Ø¸´
ÎåÐÇºÃÆÀ ¶¥Ò»Ï£¬¸Ðл·ÖÏí£¡
À×ÉñÖ®´¸11140Â¥
2017-03-22 22:16
»Ø¸´
ÎåÐÇºÃÆÀ ¶¥Ò»Ï£¬¸Ðл·ÖÏí£¡
aylya02541Â¥
2018-04-05 18:03
»Ø¸´
ÎåÐÇºÃÆÀ ¶¥Ò»Ï£¬¸Ðл·ÖÏí£¡
tianwk42Â¥
2018-05-08 12:49
»Ø¸´
ÎåÐÇºÃÆÀ ¶¥Ò»Ï£¬¸Ðл·ÖÏí£¡
zsjpt12343Â¥
2018-05-26 17:48
»Ø¸´
ÎåÐÇºÃÆÀ ¶¥Ò»Ï£¬¸Ðл·ÖÏí£¡
ÆÐÌáΧÆå44Â¥
2020-07-30 22:50
»Ø¸´
ÎåÐÇºÃÆÀ ¶¥Ò»Ï£¬¸Ðл·ÖÏí£¡














»Ø¸´´ËÂ¥
àÅ£¬¾µäÖø×÷£¬Ö§³ÖÒ»ÏÂ