24СʱÈÈÃŰæ¿éÅÅÐаñ    

²é¿´: 2886  |  »Ø¸´: 43
¡¾½±Àø¡¿ ±¾Ìû±»ÆÀ¼Û38´Î£¬×÷ÕßpkusiyuanÔö¼Ó½ð±Ò 30.2 ¸ö

pkusiyuan

Òø³æ (ÕýʽдÊÖ)


[×ÊÔ´] 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

» ²ÂÄãϲ»¶

» ±¾Ö÷ÌâÏà¹Ø¼ÛÖµÌùÍÆ¼ö£¬¶ÔÄúͬÑùÓаïÖú:

ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

cuttercn

гæ (³õÈëÎÄ̳)


¡ï¡ï¡ï¡ï¡ï ÎåÐǼ¶,ÓÅÐãÍÆ¼ö

àÅ£¬¾­µäÖø×÷£¬Ö§³ÖÒ»ÏÂ
24Â¥2015-08-01 20:10:12
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

Èô¹ÈÐ黳

гæ (³õÈëÎÄ̳)


¡ï¡ï¡ï ÈýÐǼ¶,Ö§³Ö¹ÄÀø

¸Ðл¥Ö÷£¡
27Â¥2015-10-25 21:38:45
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

bruim2012

гæ (³õÈëÎÄ̳)


¡ï¡ï¡ï¡ï¡ï ÎåÐǼ¶,ÓÅÐãÍÆ¼ö

¸Ðл·ÖÏí£¬Ð»Ð»

·¢×ÔСľ³æAndroid¿Í»§¶Ë
30Â¥2016-01-06 10:52:10
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

bruim2012

гæ (³õÈëÎÄ̳)


31Â¥2016-01-06 10:52:33
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

ÜøÎõöΈ?

гæ (СÓÐÃûÆø)


ºÜ²»´í£¬Ð»Ð»·ÖÏí

·¢×ÔСľ³æIOS¿Í»§¶Ë
33Â¥2016-01-31 11:20:27
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

shangguocan

ľ³æ (ÕýʽдÊÖ)


37Â¥2016-02-22 20:49:03
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû
¼òµ¥»Ø¸´
2015-05-02 19:53   »Ø¸´  
ÎåÐÇºÃÆÀ  ¶¥Ò»Ï£¬¸Ðл·ÖÏí£¡
conanwj3Â¥
2015-05-02 22:09   »Ø¸´  
ÎåÐÇºÃÆÀ  ¶¥Ò»Ï£¬¸Ðл·ÖÏí£¡
2015-05-03 09:45   »Ø¸´  
ÎåÐÇºÃÆÀ  ¶¥Ò»Ï£¬¸Ðл·ÖÏí£¡
gander5Â¥
2015-05-04 09:22   »Ø¸´  
ÎåÐÇºÃÆÀ  ¶¥Ò»Ï£¬¸Ðл·ÖÏí£¡
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   »Ø¸´  
ÎåÐÇºÃÆÀ  ¶¥Ò»Ï£¬¸Ðл·ÖÏí£¡
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   »Ø¸´  
ÎåÐÇºÃÆÀ  ¶¥Ò»Ï£¬¸Ðл·ÖÏí£¡
2017-03-22 22:16   »Ø¸´  
ÎåÐÇºÃÆÀ  ¶¥Ò»Ï£¬¸Ðл·ÖÏí£¡
aylya02541Â¥
2018-04-05 18:03   »Ø¸´  
ÎåÐÇºÃÆÀ  ¶¥Ò»Ï£¬¸Ðл·ÖÏí£¡
tianwk42Â¥
2018-05-08 12:49   »Ø¸´  
ÎåÐÇºÃÆÀ  ¶¥Ò»Ï£¬¸Ðл·ÖÏí£¡
zsjpt12343Â¥
2018-05-26 17:48   »Ø¸´  
ÎåÐÇºÃÆÀ  ¶¥Ò»Ï£¬¸Ðл·ÖÏí£¡
2020-07-30 22:50   »Ø¸´  
ÎåÐÇºÃÆÀ  ¶¥Ò»Ï£¬¸Ðл·ÖÏí£¡
Ïà¹Ø°æ¿éÌø×ª ÎÒÒª¶©ÔÄÂ¥Ö÷ pkusiyuan µÄÖ÷Ìâ¸üÐÂ
¡î ÎÞÐǼ¶ ¡ï Ò»ÐǼ¶ ¡ï¡ï¡ï ÈýÐǼ¶ ¡ï¡ï¡ï¡ï¡ï ÎåÐǼ¶
×î¾ßÈËÆøÈÈÌûÍÆ¼ö [²é¿´È«²¿] ×÷Õß »Ø/¿´ ×îºó·¢±í
[»ù½ðÉêÇë] ÑÔÖ®ÔäÔ䣬8ÔÂ21ºÅ(Ã÷Ìì)·Å°ñ +14 ҽѧÀÏÄк¢ 2026-08-20 16/800 2026-08-20 15:47 by LNP@mRNA
[»ù½ðÉêÇë] ʱ¼ä´Á±äÁË£¬ÄÜ¿´³öʲôÎÊÌ⣿ +17 »ùŵßä¿Í 2026-08-17 21/1050 2026-08-20 14:54 by êÃռȫ2025
[»ù½ðÉêÇë] ÖØÒªÏûÏ¢£¬ÖÐÎçϵͳÔÚά»¤ +11 yuleib84 2026-08-18 12/600 2026-08-20 11:09 by xskun
[»ù½ðÉêÇë] ÄÄλÀϸçÖªµÀ½ñÄêµÄ¹ú×ÔÈ»¾ßÌåÄÄÒ»Ìì·Å°ñ£¿ +16 Ldrop2023 2026-08-13 20/1000 2026-08-20 11:07 by xskun
[»ù½ðÉêÇë] ½ñÌì»ù½ð»á³ö½á¹ûÂð£¿20260819 +14 kkkl_v 2026-08-19 15/750 2026-08-20 08:21 by sunzitan
[»ù½ðÉêÇë] filecode£¬4¸öjtjcÁË +11 ziyangfang 2026-08-19 13/650 2026-08-19 21:28 by aasahr
[½Ìʦ֮¼Ò] ΪʲôÓà¶î±¦µÄÄ껯ÀûÂÊÔ½À´Ô½µÍ£¿Ö÷ÒªÔ­ÒòÓÐÄÄЩ£¿ +5 ˲ϢÓîÖæ 2026-08-15 5/250 2026-08-19 20:23 by super2002521
[»ù½ðÉêÇë] ½ñÌì·Å°ñûϷÁ衃 +4 yuleib84 2026-08-19 5/250 2026-08-19 19:52 by hhs666
[»ù½ðÉêÇë] ½ñÌì·Å°ñÂ𣿠+14 ²¼²¼ºÍÒ»¶þ 2026-08-19 15/750 2026-08-19 18:07 by gltch
[»ù½ðÉêÇë] filecode=ºóÃæµÚÒ»¸öÊÇ´óд×Öĸ +10 wangze12014 2026-08-14 12/600 2026-08-19 16:56 by ¿àÄѲ©Ê¿
[»ù½ðÉêÇë] 2027¹ã¶«Ê¡½ÜÇà +4 ÄÌţСºÚ 2026-08-15 10/500 2026-08-19 11:02 by wanfengnew
[»ù½ðÉêÇë] ÅóÓÑȦ¿´µ½µÄ +6 wangzilk 2026-08-18 8/400 2026-08-19 10:55 by Haru815
[»ù½ðÉêÇë] ¿ìÅ©ÀúÆßϦ½ÚÁË£¬ÇáËÉһϣ¬ÄÐÈËÇÄÇÄ»°£¬Å®Ê©Ö÷Çë²»Òª½øÀ´¡£ +6 Tide man 2026-08-14 7/350 2026-08-19 09:56 by ZJTJZ
[»ù½ðÉêÇë] ʲôʱºò¿ª½±£¿ +6 CrisMessi 2026-08-18 6/300 2026-08-19 08:06 by Equinoxhua
[ÂÛÎÄͶ¸å] Ͷ¸å×Éѯ +4 wwm09 2026-08-17 6/300 2026-08-18 15:36 by wwm09
[»ù½ðÉêÇë] ʱ¼ä´ÁÓÖ±äÁË8-15 +14 archvillain 2026-08-15 26/1300 2026-08-18 13:37 by phantomgost
[»ù½ðÉêÇë] ½ñÌìά»¤ÏµÍ³Î¬»¤ ×£ËùÓÐÈË ¸ßÖÐ +8 gjjjzhong 2026-08-18 9/450 2026-08-18 13:01 by ¼ÒÓëÔ¶·½
[»ù½ðÉêÇë] ¸Ð¾õÊÇÏÂÖܷŰñÁË +6 angus9576 2026-08-17 11/550 2026-08-17 23:57 by angus9576
[¾«Ï¸»¯¹¤] ÕÐÆ¸ ½ðÊôƽĥҺ£¬Å×¹âÒºÑз¢¹¤³Ìʦ +3 СÌì0311 2026-08-14 3/150 2026-08-16 07:31 by H9PLUS
[»ù½ðÉêÇë] ¸÷λµÀÓÑ£¬ÎÒҪȥÀ¥Ã÷Íæ¼¸Ì죬»ØÀ´¼û¡£ +7 Tide man 2026-08-14 8/400 2026-08-15 01:11 by arzu_hma
ÐÅÏ¢Ìáʾ
ÇëÌî´¦ÀíÒâ¼û