Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Upcoming SlideShare
×

# On NURBS Geometry Representation in 3D modelling

1,853 views

Published on

lecture notes (2015) for the course Geo1004 3D modelling of the built environment at TU Delft, Faculty of Architecture and the Built Environment

Published in: Engineering
• Full Name
Comment goes here.

Are you sure you want to Yes No
Your message goes here
• Be the first to comment

### On NURBS Geometry Representation in 3D modelling

1. 1. 1Challenge the future Boundary Representations 1: Fundamentals of NURBS surface representations Ir. Pirouz Nourian PhD candidate & Instructor, chair of Design Informatics, since 2010 MSc in Architecture 2009 BSc in Control Engineering 2005 MSc Geomatics, GEO1004, Directed by Dr. Sisi Zlatanova
2. 2. 2Challenge the future [Geometric, Topologic] Spatial Data Models Representations • Computer Graphics (mainly concerned with visualization) • Computational Geometry (algorithmic geometry) • AEC {CAD, CAM, BIM} (architectural engineering and construction) • CAD=: Computer Aided Design • CAM=: Computer Aided Manufacturing • BIM=: Building Information Modeling • GIS: how can we represent geometric objects in large scale properly and consistently? Different terminologies and jargons! Some common grounds
3. 3. 3Challenge the future Categories of 3D Geometry Representations • Volume Representation: 1. Tetrahedral Meshes 2. Voxel Models • Boundary Representation: [AKA Surface Representation] 1. Polygon Mesh Models (Simple Brep) 2. [complex] B-rep* Models (NURBS patches) Interior included or only the closure ? A note on our terminology * B-rep here refers to a specific class of boundary representations composed of advanced faces (as implemented in Rhino): • ISO 10303-514 Advanced boundary representation, a solid defining a volume with possible voids that is composed by advanced faces • ISO 10303-511 Topologically bounded surface, definition of an advanced face, that is a bounded surface where the surface is of type elementary (plane, cylindrical, conical, spherical or toroidal), or a swept surface, or b spline surface. The boundaries are defined by lines, conics, polylines, surface curves, or b spline curves
4. 4. 4Challenge the future Boundary Representation Representing high dimensional objects with lower dimensional primitives 1. Polygon Mesh ≡ Simple B-rep=composed of straight/flat elements We will discuss them later in depth 1. NURBS patches ≡[complex] B-rep*=composed of curved elements
5. 5. 5Challenge the future Why NURBS? • Known and used in AEC {CAD, BIM} • In GIS ? advantages and disadvantages for GIS? Bilbao Guggenheim Museum Bus stop near Sebastiaansbrug Delft
6. 6. 6Challenge the future NURBS Representation Non Uniform Rational Basis Splines (NURBS) are used for modeling free-form geometries accurately Image courtesy of http://www.boatdesign.netImage courtesy of Wikimedia • An elegant mathematical description of a physical drafting aid as a (set of) parametric equation(s).
7. 7. 7Challenge the future Splines in Computer Graphics All types of curves can be modeled as splines •
8. 8. 8Challenge the future NURBS Representation Non Uniform Rational Basis Splines (NURBS) are used for modeling free-form geometries accurately • offer one common mathematical form for both, standard analytical shapes (e.g. conics) and free form shapes; • provide the flexibility to design a large variety of shapes; • can be evaluated reasonably fast by numerically stable and accurate algorithms; • are invariant under affine as well as perspective transformations; • are generalizations of non-rational B-splines and non-rational and rational Bezier curves and surfaces. From: http://web.cs.wpi.edu/~matt/courses/cs563/talks/nurbs.html
9. 9. 9Challenge the future Parametric Curves in General How do numeric weights correspond to physical weights? 𝑃 𝑡 = 𝑥(𝑡) 𝑦(𝑡) 𝑧(𝑡) Example 1: 𝑌 = 𝑋 + 1 Example 1: 𝑋2 + 𝑌2 = 1 → 𝑃 𝑡 = 𝑡 𝑡 + 1 0 → 𝑃 𝑡 = 𝐶𝑜𝑠(𝑡) 𝑆𝑖𝑛(𝑡) 0 𝐶𝑜𝑠2(𝑡) + 𝑆𝑖𝑛2(𝑡) = 1
10. 10. 10Challenge the future NURBS equations All from a summary by Markus Altmann: http://web.cs.wpi.edu/~matt/courses/cs563/talks/nurbs.html 𝐶 𝑢 = 𝑊𝑖.𝑛 𝑖=0 𝑃𝑖. 𝑁𝑖,𝑘(𝑢) 𝑊𝑖.𝑛 𝑖=0 𝑁𝑖,𝑘(𝑢) 𝑡ℎ𝑒 𝑐𝑢𝑟𝑣𝑒 𝑒𝑣𝑎𝑙𝑢𝑎𝑡𝑒𝑑 𝑎𝑡 𝑝𝑎𝑟𝑎𝑚𝑒𝑡𝑒𝑟 𝑢 where 𝑊𝑖 : weights 𝑃𝑖 : control points (vector) 𝑁𝑖,𝑘 : normalized B-spline basis functions of degree k These B-splines are defined recursively as: 𝑁𝑖,𝑘 𝑢 = 𝑢 − 𝑡𝑖 𝑡𝑖+𝑘 − 𝑡𝑖 × 𝑁𝑖,𝑘−1 𝑢 + 𝑡𝑖+𝑘+1 − 𝑢 𝑡𝑖+𝑘+1 − 𝑡𝑖+1 × 𝑁𝑖+1,𝑘−1 𝑢 and 𝑁𝑖,0 𝑢 = 1, 𝑖𝑓 𝑡𝑖 ≤ 𝑢 < 𝑡𝑖+1 0, 𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒 Where 𝑡𝑖 are the knots forming a knot vector 𝑈 = {𝑡0, 𝑡1, … , 𝑡 𝑚} Note: 𝑘 enumerates 0 to degree, 𝑚 = 𝑛 + 𝑘 + 1
11. 11. 11Challenge the future NURBS interpolation All contenet from Raja Issa [Essential Mathematics for Computational Design]
12. 12. 12Challenge the future A weighted NURBS curve How do numeric weights correspond to physical weights?
13. 13. 13Challenge the future • 1D: Curves (t parameter) • 2D: Surfaces (u & v parameters) • 3D: B-Reps (each face is a surface) NURBS Objects Non Uniform Rational Basis Splines are used for accurately modeling free-form geometries
14. 14. 14Challenge the future Parametric Space Images courtesy of David Rutten, from Rhinoscript 101
15. 15. 15Challenge the future Parametric Locations: 1D Objects (Curves): u parameter (AKA as t parameter) • Point at that address (𝐶(𝑢)) • Tangent vector • Derivatives (𝐶′(𝑢), 𝐶′′(𝑢)) • Curvature 2D Objects (Surfaces): u,v parameters • Point at that address (𝑆(𝑢, 𝑣)) • Normal vector (𝑁(𝑢, 𝑣)) • Curvature
16. 16. 16Challenge the future 1D Curvature: Vector or Scalar? •
17. 17. 17Challenge the future Continuity • G0 (Position continuous) • G1 (Tangent continuous) • G2 ( Curvature Continuous) Images courtesy of Raja Issa, Essential Mathematics for Computational Design
18. 18. 18Challenge the future (1D Curvature Analysis) • Discretization Segments • Measurement at the middle of each segment • Attribution to each segment
19. 19. 19Challenge the future Surface Curvature • Images courtesy of Raja Issa, Essential Mathematics for Computational Design
20. 20. 20Challenge the future Surface Continuity: Zebra Analysis • Open question: How can we measure curvature on meshes? Images courtesy of Raja Issa, Essential Mathematics for Computational Design
21. 21. 21Challenge the future (2D Curvature Analysis: NURBS surface) • Discretization Sub-surfaces • Measurement At UV points • Attribution To sub-surfaces
22. 22. 22Challenge the future Questions?p.nourian@tudelft.nl We will now see a NURBS data model…