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 Challenge the future 1 [Geometric, Topologic] Spatial Data Models Representations Different terminologies and jargons! Some common grounds • 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? Challenge the future 2 Categories of 3D Geometry Representations Interior included or only the closure ? A note on our terminology • 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) * 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 Challenge the future 3 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 Challenge the future 4 Why NURBS? advantages and disadvantages for GIS? • Known and used in AEC {CAD, BIM} • In GIS ? Bilbao Guggenheim Museum Bus stop near Sebastiaansbrug Delft Challenge the future 5 NURBS Representation Non Uniform Rational Basis Splines (NURBS) are used for modeling free-form geometries accurately • An elegant mathematical description of a physical drafting aid as a (set of) parametric equation(s). Image courtesy of Wikimedia Image courtesy of http://www.boatdesign.net Challenge the future 6 Splines in Computer Graphics All types of curves can be modeled as splines • Challenge the future 7 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 Challenge the future 8 Parametric Curves in General How do numeric weights correspond to physical weights? π₯(π‘) π π‘ = π¦(π‘) π§(π‘) π‘ Example 1: π = π + 1 → π π‘ = π‘ + 1 0 πΆππ (π‘) Example 1: π 2 + π 2 = 1 → π π‘ = πππ(π‘) 0 πΆππ 2 (π‘) + πππ2 (π‘) = 1 Challenge the future 9 NURBS equations All from a summary by Markus Altmann: http://web.cs.wpi.edu/~matt/courses/cs563/talks/nurbs.html πΆ π’ = where π π=0 ππ . ππ . ππ,π (π’) π π=0 ππ . ππ,π (π’) π‘βπ ππ’ππ£π ππ£πππ’ππ‘ππ ππ‘ πππππππ‘ππ π’ ππ : 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 1, ππ π‘π ≤ π’ < π‘π+1 ππ,0 π’ = 0, ππ‘βπππ€ππ π Where π‘π are the knots forming a knot vector π = {π‘0 , π‘1 , … , π‘π } Note: π enumerates 0 to degree, π = π + π + 1 Challenge the future 10 NURBS interpolation All contenet from Raja Issa [Essential Mathematics for Computational Design] Challenge the future 11 A weighted NURBS curve How do numeric weights correspond to physical weights? Challenge the future 12 NURBS Objects Non Uniform Rational Basis Splines are used for accurately modeling free-form geometries • 1D: Curves (t parameter) • 2D: Surfaces (u & v parameters) • 3D: B-Reps (each face is a surface) Challenge the future 13 Parametric Space Images courtesy of David Rutten, from Rhinoscript 101 Challenge the future 14 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 Challenge the future 15 1D Curvature: Vector or Scalar? • Challenge the future 16 Continuity • G0 (Position continuous) • G1 (Tangent continuous) • G2 ( Curvature Continuous) Images courtesy of Raja Issa, Essential Mathematics for Computational Design Challenge the future 17 (1D Curvature Analysis) • Discretization Segments • Measurement at the middle of each segment • Attribution to each segment Challenge the future 18 Surface Curvature • Images courtesy of Raja Issa, Essential Mathematics for Computational Design Challenge the future 19 Surface Continuity: Zebra Analysis Images courtesy of Raja Issa, Essential Mathematics for Computational Design • Open question: How can we measure curvature on meshes? Challenge the future 20 (2D Curvature Analysis: NURBS surface) • Discretization Sub-surfaces • Measurement At UV points • Attribution To sub-surfaces Challenge the future 21 We will now see a NURBS data model… Questions? p.nourian@tudelft.nl Challenge the future 22