on nurbs geometry representation in 3d modelling

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

Upload: pirouz-nourian

Post on 14-Apr-2017

737 views

Category:

Engineering


2 download

TRANSCRIPT

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…