3D Modeling: Surfaces

3D Modeling: Surfaces

CS 430/536 Computer Graphics I Overview • 3D model representations 3D Modeling: • Mesh formats Surfaces • Bicubic surfaces • Bezier surfaces Week 8, Lecture 16 • Normals to surfaces David Breen, William Regli and Maxim Peysakhov • Direct surface rendering Geometric and Intelligent Computing Laboratory Department of Computer Science Drexel University 1 2 http://gicl.cs.drexel.edu 1994 Foley/VanDam/Finer/Huges/Phillips ICG 3D Modeling Representing 3D Objects • 3D Representations • Exact • Approximate – Wireframe models – Surface Models – Wireframe – Facet / Mesh – Solid Models – Parametric • Just surfaces – Meshes and Polygon soups – Voxel/Volume models Surface – Voxel – Decomposition-based – Solid Model • Volume info • Octrees, voxels • CSG • Modeling in 3D – Constructive Solid Geometry (CSG), • BRep Breps and feature-based • Implicit Solid Modeling 3 4 Negatives when Representing 3D Objects Representing 3D Objects • Exact • Approximate • Exact • Approximate – Complex data structures – Lossy – Precise model of – A discretization of – Expensive algorithms – Data structure sizes can object topology the 3D object – Wide variety of formats, get HUGE, if you want each with subtle nuances good fidelity – Mathematically – Use simple – Hard to acquire data – Easy to break (i.e. cracks represent all primitives to – Translation required for can appear) rendering – Not good for certain geometry model topology applications • Lots of interpolation and and geometry guess work 5 6 1 Positives when Exact Representations Representing 3D Objects • Exact • Approximate • Wireframe – Precision – Easy to implement • Simulation, modeling, • Parametric Surface etc – Easy to acquire – Lots of modeling • 3D scanner, CT • Solid Model environments – Physical properties – Easy to render – operations – Many applications (tool • Direct mapping to the path generation, motion, graphics pipeline – CSG, BRep, implicit geometry etc.) – Lots of algorithms – Compact 7 8 Wireframes Issues with Wireframes • Basic idea: • Visually ambiguous – Represent the model • No surfaces! as the set of all of its – What’s inside? What’s outside? edges – Hidden line removal? • What does validity entail? • Example: – Don’t we just have a bunch of wires? A simple cube – Do they need to add up to something? – 12 lines • How to model wireframe shapes? – 8 vertices – Wire by wire? Not very easy! • How about the faces? 9 11 Foley/VanDam, 1990/1994 Surface Models 3D Mesh File Formats • Basic idea: Some common formats – Represent a model as a set of • STL faces/patches • Limitations: • SMF – Topological integrity; how do faces “line up”?; which way is ‘inside’/ ‘outside’? • OpenInventor • Used in many CAD applications • VRML – Why? They are fine for drafting and rendering, not as good for creating true physical models 12 13 2 Minimal Full-Featured • Vertex + Face • Colors / Transparency • Vertex-Face Normals (optional, can be computed) • No colors, normals, • Scene Graph or texture • Lights • Textures • Primarily used to • Views and Navigation demonstrate geometry algorithms 14 15 Simple Mesh Format (SMF) Stereolithography (STL) • Michael Garland http://graphics.cs.uiuc.edu/~garland/ • Triangle data + Face Normal • Triangle data • The de-facto standard for rapid prototyping • Vertex indices begin at 1 16 17 How STL Works Open Inventor • Developed by SGI • Predecessor to VRML – Scene Graph 18 20 3 Virtual Reality Modeling Issues with 3D “mesh” formats Language (VRML) • Easy to acquire • SGML Based • Easy to render • Harder to model with • Scene-Graph • Error prone – split faces, holes, gaps, etc • Full Featured 21 22 BRep Data Structure BRep Data Structures • Vertex structure • Winged-Edge Data – X,Y,Z point Structure (Weiler) – Pointers to n coincident edges • Vertex • Edge structure – 2 pointers to end-point vertices – n edges – 2 pointers to adjacent faces • Edge – Pointer to next edge – 2 vertices – Pointer to previous edge – 2 faces • Face structure • Face – Pointers to m edges – m edges 23 24 Pics/Math courtesy of Dave Mount @ UMD-CP Biparametric Surfaces Bicubic Surfaces • Biparametric surfaces • Recall the 2D curve: – A generalization of parametric curves – G: Geometry Matrix – 2 parameters: s, t (or u, v) – M: Basis Matrix – Two parametric functions – S: Polynomial Terms [s3 s2 s 1] • For 3D, we allow the points in G to vary in 3D along t as well: 25 26 4 Observations About Bicubic Surfaces Bicubic Surfaces • For a fixed t1, • Each is , where is a curve • Gradually incrementing t1 to t2, we get a new curve • Transposing , we get • The combination of these curves is a surface • are 3D curves 27 28 Bicubic Surfaces Bicubic Surfaces • Substituting into , • Writing out we get Q(s, t) gives • The g11, etc. are the control points for the Bicubic surface patch: 29 30 Faceting Bézier Surfaces • Bézier Surfaces (similar definition) 32 33 5 Plotting Isolines Faceting 34 35 Bézier Surfaces: Example Bézier Surfaces • C0 and G0 continuity can be achieved between two patches by setting • Utah Teapot the 4 boundary modeled by 32 control points to be Bézier Patches with equal G1 continuity • G1 continuity achieved when cross-wise CPs are co-linear 36 37 Bezier Surface: Example B-spline Surfaces • Increased facet resolution • Rendered • Representation for B-spline patches • C2 continuity across boundaries is automatic with B-splines 38 39 6 Computing the Normals to Surfaces Normals to Surfaces • Normals used for • For a bicubic surface, – Shading first, compute the s tangent vector – Interference detection in robotics – Calculating offsets for numerically controlled machining 40 41 Computing the Computing the Normals to Surfaces Normals to Surfaces • Next, compute the t tangent vector: • Since s and t are tangent to the surface, their cross product is the normal vector to the surface! t • xs - x component of s tangent • ys - y component of s tangent • z - z component of s tangent 42 s 43 Drawing Parametric Surfaces Direct Rendering • Usually done “patch by patch” • Use a scan-line algorithm • Two choices – Evaluate pixel by pixel – Draw/render directly from the parametric – Problem: How to go from (x,y) “screen description space” to point on the 3D patch – Approximate the surface with a polygon • Easy for a planar polygon where we know max/min y, equations for edges, screen depth mesh, then draw/render the mesh • Not as easy for parametric surfaces 45 46 7 Direct Scan Conversion of Issues for Direct Rendering Patches • Max/Min y coords may not lie on boundaries • Basic idea • Silhouette edges result from patch bulges – Find intersection of – Need to track both silhouettes and boundaries patch with XZ plane • What if they intersect? • Producing a planar curve • Note: patch edges need not be monotonic in x or y – Draw the curve • De Boor, D’Casteljeau • Idea: Scan convert patch plane-by-plane, using scan planes instead of scan lines – Note: if doing rendering, one can compute pixel- by-pixel color values this way 47 – Patch: x=X(u,v), y=Y(u,v), z=Z(u,v) 48 Object Space Conversion: Patch to Polygon Conversion Uniform Subdivision Two methods: Basic Procedure • Object Space Conversion • Cut parameter space into equal parts – Techniques • Uniform subdivision • Find new points on the surface • Non-uniform subdivision – Resolution: depends on object space • Recurse/Repeat “until done” • Image Space Conversion • Split squares into – Resolution: depends on pixels and screen triangles • Render 50 51 Object Space Conversion: Image Space Conversion Non-Uniform Subdivision • Basic idea • Idea: control subdivision based on – More facets in areas of high curvature screen criteria – Use change in normals to surface to – Minimum pixel area assess curvature • Stop when patch is basically one pixel • More derivatives – Screen flatness – Break patch into sub-patches based on • Stop when patch converges to a polygon curvature changes – Screen flatness of silhouette edges • Stop when edge is straight or size of pixel 52 53 8 How do I know if I’ve found a silhouette edge? • If the viewing ray is tangent to the surface at the point it hits the surface! N • L = 0 – Where N is the normal at the point where L, the line of sight, hits the surface 54 9.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    9 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us