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
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
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
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
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
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).
7Challenge the future
Splines in Computer Graphics
All types of curves can be modeled as splines
•
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
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
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
11Challenge the future
NURBS interpolation
All contenet from Raja Issa
[Essential Mathematics for Computational Design]
12Challenge the future
A weighted NURBS curve
How do numeric weights correspond to physical
weights?
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
14Challenge the future
Parametric Space
Images courtesy of David Rutten, from Rhinoscript 101
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
16Challenge the future
1D Curvature: Vector or Scalar?
•
17Challenge the future
Continuity
• G0 (Position continuous)
• G1 (Tangent continuous)
• G2 ( Curvature Continuous)
Images courtesy of Raja Issa, Essential Mathematics for Computational Design
18Challenge the future
(1D Curvature Analysis)
• Discretization
Segments
• Measurement
at the middle of each
segment
• Attribution
to each segment
19Challenge the future
Surface Curvature
•
Images courtesy of Raja Issa, Essential Mathematics for Computational Design
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
21Challenge the future
(2D Curvature Analysis: NURBS surface)
• Discretization
Sub-surfaces
• Measurement
At UV points
• Attribution
To sub-surfaces
22Challenge the future
Questions?p.nourian@tudelft.nl
We will now see a NURBS data model…

On NURBS Geometry Representation in 3D modelling

  • 1.
    1Challenge the future BoundaryRepresentations 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.
    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.
    3Challenge the future Categoriesof 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.
    4Challenge the future BoundaryRepresentation 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.
    5Challenge the future WhyNURBS? • Known and used in AEC {CAD, BIM} • In GIS ? advantages and disadvantages for GIS? Bilbao Guggenheim Museum Bus stop near Sebastiaansbrug Delft
  • 6.
    6Challenge the future NURBSRepresentation 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.
    7Challenge the future Splinesin Computer Graphics All types of curves can be modeled as splines •
  • 8.
    8Challenge the future NURBSRepresentation 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.
    9Challenge the future ParametricCurves 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.
    10Challenge the future NURBSequations 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.
    11Challenge the future NURBSinterpolation All contenet from Raja Issa [Essential Mathematics for Computational Design]
  • 12.
    12Challenge the future Aweighted NURBS curve How do numeric weights correspond to physical weights?
  • 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.
    14Challenge the future ParametricSpace Images courtesy of David Rutten, from Rhinoscript 101
  • 15.
    15Challenge the future ParametricLocations: 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.
    16Challenge the future 1DCurvature: Vector or Scalar? •
  • 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.
    18Challenge the future (1DCurvature Analysis) • Discretization Segments • Measurement at the middle of each segment • Attribution to each segment
  • 19.
    19Challenge the future SurfaceCurvature • Images courtesy of Raja Issa, Essential Mathematics for Computational Design
  • 20.
    20Challenge the future SurfaceContinuity: Zebra Analysis • Open question: How can we measure curvature on meshes? Images courtesy of Raja Issa, Essential Mathematics for Computational Design
  • 21.
    21Challenge the future (2DCurvature Analysis: NURBS surface) • Discretization Sub-surfaces • Measurement At UV points • Attribution To sub-surfaces
  • 22.