22
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

On NURBS Geometry Representation in 3D modelling

Embed Size (px)

Citation preview

Page 1: On NURBS Geometry Representation in 3D modelling

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

Page 2: On NURBS Geometry Representation in 3D modelling

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

Page 3: On NURBS Geometry Representation in 3D modelling

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

Page 4: On NURBS Geometry Representation in 3D modelling

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

Page 5: On NURBS Geometry Representation in 3D modelling

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

Page 6: On NURBS Geometry Representation in 3D modelling

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).

Page 7: On NURBS Geometry Representation in 3D modelling

7 Challenge the future

Splines in Computer Graphics All types of curves can be modeled as splines

Page 8: On NURBS Geometry Representation in 3D modelling

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

Page 9: On NURBS Geometry Representation in 3D modelling

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

Page 10: On NURBS Geometry Representation in 3D modelling

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

Page 11: On NURBS Geometry Representation in 3D modelling

11 Challenge the future

NURBS interpolation All contenet from Raja Issa

[Essential Mathematics for Computational Design]

Page 12: On NURBS Geometry Representation in 3D modelling

12 Challenge the future

A weighted NURBS curve How do numeric weights correspond to physical

weights?

Page 13: On NURBS Geometry Representation in 3D modelling

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

Page 14: On NURBS Geometry Representation in 3D modelling

14 Challenge the future

Parametric Space

Images courtesy of David Rutten, from Rhinoscript 101

Page 15: On NURBS Geometry Representation in 3D modelling

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

Page 16: On NURBS Geometry Representation in 3D modelling

16 Challenge the future

1D Curvature: Vector or Scalar?

Page 17: On NURBS Geometry Representation in 3D modelling

17 Challenge the future

Continuity

• G0 (Position continuous)

• G1 (Tangent continuous)

• G2 ( Curvature Continuous)

Images courtesy of Raja Issa, Essential Mathematics for Computational Design

Page 18: On NURBS Geometry Representation in 3D modelling

18 Challenge the future

(1D Curvature Analysis)

• Discretization

Segments

• Measurement

at the middle of each

segment

• Attribution

to each segment

Page 19: On NURBS Geometry Representation in 3D modelling

19 Challenge the future

Surface Curvature

Images courtesy of Raja Issa, Essential Mathematics for Computational Design

Page 20: On NURBS Geometry Representation in 3D modelling

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

Page 21: On NURBS Geometry Representation in 3D modelling

21 Challenge the future

(2D Curvature Analysis: NURBS surface)

• Discretization

Sub-surfaces

• Measurement

At UV points

• Attribution

To sub-surfaces

Page 22: On NURBS Geometry Representation in 3D modelling

22 Challenge the future

Questions? [email protected]

We will now see a NURBS data model…