on nurbs geometry representation in 3d modelling
TRANSCRIPT
1 Challenge 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 Challenge 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 Challenge 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 Challenge 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 Challenge 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 Challenge the future
NURBS Representation Non Uniform Rational Basis Splines (NURBS) are used
for modeling free-form geometries accurately
Image courtesy of http://www.boatdesign.net Image courtesy of Wikimedia
• An elegant mathematical description of a physical drafting aid as a (set of)
parametric equation(s).
7 Challenge the future
Splines in Computer Graphics All types of curves can be modeled as splines
•
8 Challenge 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 Challenge the future
Parametric Curves in General How do numeric weights correspond to physical
weights?
𝑃 𝑡 =
𝑥(𝑡)𝑦(𝑡)𝑧(𝑡)
Example 1: 𝑌 = 𝑋 + 1
Example 1: 𝑋2 + 𝑌2 = 1
→ 𝑃 𝑡 = 𝑡
𝑡 + 10
→ 𝑃 𝑡 = 𝐶𝑜𝑠(𝑡)𝑆𝑖𝑛(𝑡)
0
𝐶𝑜𝑠2(𝑡) + 𝑆𝑖𝑛2(𝑡) = 1
10 Challenge 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 Challenge the future
NURBS interpolation All contenet from Raja Issa
[Essential Mathematics for Computational Design]
12 Challenge the future
A weighted NURBS curve How do numeric weights correspond to physical
weights?
13 Challenge 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 Challenge the future
Parametric Space
Images courtesy of David Rutten, from Rhinoscript 101
15 Challenge 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 Challenge the future
1D Curvature: Vector or Scalar?
•
17 Challenge the future
Continuity
• G0 (Position continuous)
• G1 (Tangent continuous)
• G2 ( Curvature Continuous)
Images courtesy of Raja Issa, Essential Mathematics for Computational Design
18 Challenge the future
(1D Curvature Analysis)
• Discretization
Segments
• Measurement
at the middle of each
segment
• Attribution
to each segment
19 Challenge the future
Surface Curvature
•
Images courtesy of Raja Issa, Essential Mathematics for Computational Design
20 Challenge 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 Challenge the future
(2D Curvature Analysis: NURBS surface)
• Discretization
Sub-surfaces
• Measurement
At UV points
• Attribution
To sub-surfaces