Upcoming SlideShare
Loading in …5
×

# 07object3d

790 views

Published on

1 Comment
1 Like
Statistics
Notes
• Full Name
Comment goes here.

Are you sure you want to Yes No
Your message goes here
• nice one

Are you sure you want to  Yes  No
Your message goes here
No Downloads
Views
Total views
790
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
29
Comments
1
Likes
1
Embeds 0
No embeds

No notes for slide

### 07object3d

1. 1. 3D Object Representation 고려대학교 컴퓨터 그래픽스 연구실
2. 2. Overview <ul><li>3D Geometric Primitives </li></ul><ul><ul><li>Point </li></ul></ul><ul><ul><li>Line </li></ul></ul><ul><ul><li>Plane </li></ul></ul><ul><ul><li>Polygon </li></ul></ul><ul><ul><li>Sphere </li></ul></ul><ul><li>3D Object Representations </li></ul><ul><ul><li>Raw data </li></ul></ul><ul><ul><li>Surfaces </li></ul></ul><ul><ul><li>Solids </li></ul></ul><ul><ul><li>High-Level Structure </li></ul></ul>
3. 3. 3D Geometric Primitives <ul><li>Point </li></ul><ul><li>Line Segment </li></ul><ul><li>Polygon </li></ul><ul><li>Polyhedron </li></ul><ul><li>Curved Surface </li></ul><ul><li>Solid Object </li></ul><ul><li>Etc. </li></ul>
4. 4. 3D Point <ul><li>Specifies a Location </li></ul><ul><ul><li>Represented by three coordinates </li></ul></ul><ul><ul><li>Infinitely small </li></ul></ul>typedef struct{ Coordinate x; Coordinate y; Coordinate z; } Point; (x, y, z)
5. 5. 3D Vector <ul><li>Specifies a Direction and a Magnitude </li></ul><ul><ul><li>Represented by three coordinates </li></ul></ul><ul><ul><li>Magnitude ||v||=sqrt(d x d x + d y d y +d z d z ) </li></ul></ul><ul><ul><li>Has no location </li></ul></ul><ul><li>Dot product of two 3D vector </li></ul><ul><ul><li>V 1 V 2 = d x1 d x2 + d y1 d y2 + d z1 d z2 </li></ul></ul><ul><ul><li>V 1 V 2 = ||V 1 ||||V 2 || cos( ) </li></ul></ul>typedef struct{ Coordinate x; Coordinate y; Coordinate z; } Vector; (d x 1 , d y 1 , d z 1 ) (d x 2 , d y 2 , d z 2 )
6. 6. 3D Line <ul><li>Line Segment with Both Endpoints at Infinity </li></ul><ul><ul><li>Parametric representation </li></ul></ul><ul><ul><ul><li>P=P 1 + t V, ( ) </li></ul></ul></ul>typedef struct{ Point P 1 ; Vector V; } Line; P 1 V
7. 7. 3D Ray <ul><li>Line Segment with One Endpoints at Infinity </li></ul><ul><ul><li>Parametric representation </li></ul></ul><ul><ul><ul><li>P=P 1 + t V, ( ) </li></ul></ul></ul>typedef struct{ Point P 1 ; Vector V; } Ray; P 1 V
8. 8. 3D Line Segment <ul><li>Specifies a Linear Combination of Two Points </li></ul><ul><ul><li>Parametric representation </li></ul></ul><ul><ul><ul><li>P=P 1 + t (P 2 - P 1 ), ( ) </li></ul></ul></ul>typedef struct{ Point P 1 ; Point P 2 ; } Segment; P 1 P 2
9. 9. 3D Plane <ul><li>Specifies a Linear Combination of Three Points </li></ul><ul><ul><li>Implicit representation </li></ul></ul><ul><ul><ul><li>P N + d = 0, or </li></ul></ul></ul><ul><ul><ul><li>a x + b y + c z + d = 0 </li></ul></ul></ul>typedef struct{ Vector N; Distance d; } Plane; N=(a, b, c) P 3 P 2 P 1 Origin d
10. 10. 3D Polygon <ul><li>Area “Inside” a Sequence of Coplanar Points </li></ul><ul><ul><li>Triangle </li></ul></ul><ul><ul><li>Quadrilateral </li></ul></ul><ul><ul><li>Convex </li></ul></ul><ul><ul><li>Star-shaped </li></ul></ul><ul><ul><li>Concave </li></ul></ul><ul><ul><li>Self-Intersecting </li></ul></ul><ul><ul><li>Hole </li></ul></ul>typedef struct{ Point *Points; int npoints; } Polygon; Points are in counter-clockwise order
11. 11. 3D Sphere <ul><li>All Points at Distance “r” from Point (c x , c y , c z ) </li></ul><ul><ul><li>Implicit representation </li></ul></ul><ul><ul><ul><li>(x-c x ) 2 + (y-c y ) 2 + (z-c z ) 2 = r 2 </li></ul></ul></ul><ul><ul><li>Parametric representation </li></ul></ul><ul><ul><ul><li>x= r sin( ) cos( ) </li></ul></ul></ul><ul><ul><ul><li>y= r sin( ) sin( ) </li></ul></ul></ul><ul><ul><ul><li>z= r cos( ) </li></ul></ul></ul>r (c x , c y , c z )
12. 12. 3D Object Representations <ul><li>Raw Data </li></ul><ul><ul><li>Point cloud </li></ul></ul><ul><ul><li>Range image </li></ul></ul><ul><ul><li>Polygon soup </li></ul></ul><ul><li>Surfaces </li></ul><ul><ul><li>Mesh, Subdivision, Parametric, Implicit </li></ul></ul><ul><li>Solids </li></ul><ul><ul><li>Voxel, BSP tree, CSG, Sweep </li></ul></ul>
13. 13. Point Cloud <ul><li>Unstructured Set of 3D Point Samples </li></ul><ul><ul><li>Acquired from range finder, computer vision, etc </li></ul></ul>
14. 14. Range Image <ul><li>Set of 3D Points Mapping to Pixels of Depth Image </li></ul><ul><ul><li>Acquired from range scanner </li></ul></ul>Range Image Tessellation Range Surface
15. 15. Polygon Soup <ul><li>Unstructured Set of Polygons </li></ul><ul><ul><li>Created with interactive modeling systems </li></ul></ul>
16. 16. 3D Object Representations <ul><li>Raw Data </li></ul><ul><ul><li>Point cloud, Range image, Polygon soup </li></ul></ul><ul><li>Surfaces </li></ul><ul><ul><li>Mesh </li></ul></ul><ul><ul><li>Subdivision </li></ul></ul><ul><ul><li>Parametric </li></ul></ul><ul><ul><li>Implicit </li></ul></ul><ul><li>Solids </li></ul><ul><ul><li>Voxel, BSP tree, CSG, Sweep </li></ul></ul>
17. 17. Mesh <ul><li>Connected Set of Polygons (Usually Triangles) </li></ul><ul><ul><li>May not be closed </li></ul></ul>
18. 18. Subdivision Surfaces <ul><li>Coarse Mesh & Subdivision Rule </li></ul><ul><ul><li>Define smooth surface as limit of sequence of refinements </li></ul></ul>
19. 19. Parametric Surfaces <ul><li>Tensor Product Spline Patches </li></ul><ul><ul><li>Careful constraints to maintain continuity </li></ul></ul>
20. 20. Implicit Surface <ul><li>Points satisfying: F(x,y,z) = 0 </li></ul>Polygonal Model Implicit Model
21. 21. 3D Object Representations <ul><li>Raw Data </li></ul><ul><ul><li>Point cloud, Range image, Polygon soup </li></ul></ul><ul><li>Surfaces </li></ul><ul><ul><li>Mesh, Subdivision, Parametric, Implicit </li></ul></ul><ul><li>Solids </li></ul><ul><ul><li>Voxel </li></ul></ul><ul><ul><li>BSP tree </li></ul></ul><ul><ul><li>CSG </li></ul></ul><ul><ul><li>Sweep </li></ul></ul>
22. 22. Voxels <ul><li>Uniform Grid of Volumetric Samples </li></ul><ul><ul><li>Acquired from CAT, MRI, etc. </li></ul></ul>
23. 23. BSP Tree <ul><li>Binary Space Partition with Solid Cells Labeled </li></ul><ul><ul><li>Constructed from polygonal representations </li></ul></ul>a b c d e f g Object a b c d e f g Binary Spatial Partition 1 2 3 4 5 6 7 1 2 a 3 b c 4 d 5 6 e 7 f BSP Tree
24. 24. CSG <ul><li>Hierarchy of Boolean Set Operations (Union, Difference, Intersect) Applied to Simple Shapes </li></ul>
25. 25. Sweep <ul><li>Solid Swept by Curve Along Trajectory </li></ul>Constructing a Torus using Rotational Sweep
26. 26. Summary <ul><li>Taxonomy of 3D Object Representations </li></ul>Voxel Discrete Continuous Combinational Functional Mesh Subdivision BSP Tree Bezier B-Spline Algebraic Topological Set Membership Parametric Implicit