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. 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
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. 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. 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. 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).
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. 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. 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. 11Challenge the future
NURBS interpolation
All contenet from Raja Issa
[Essential Mathematics for Computational Design]
12. 12Challenge the future
A weighted 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
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
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. 21Challenge the future
(2D Curvature Analysis: NURBS surface)
• Discretization
Sub-surfaces
• Measurement
At UV points
• Attribution
To sub-surfaces