Uploaded by James Tran

Nurbs Surface

advertisement
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
Challenge the future
1
[Geometric, Topologic] Spatial Data Models Representations
Different terminologies and jargons! Some common grounds
• 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?
Challenge the future
2
Categories of 3D Geometry Representations
Interior included or only the closure ? A note on our terminology
• 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)
* 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
Challenge the future
3
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
Challenge the future
4
Why NURBS?
advantages and disadvantages for GIS?
• Known and used in AEC {CAD, BIM}
• In GIS ?
Bilbao Guggenheim Museum
Bus stop near Sebastiaansbrug Delft
Challenge the future
5
NURBS Representation
Non Uniform Rational Basis Splines (NURBS) are used
for modeling free-form geometries accurately
• An elegant mathematical description of a physical drafting aid as a (set of)
parametric equation(s).
Image courtesy of Wikimedia
Image courtesy of http://www.boatdesign.net
Challenge the future
6
Splines in Computer Graphics
All types of curves can be modeled as splines
•
Challenge the future
7
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
Challenge the future
8
Parametric Curves in General
How do numeric weights correspond to physical
weights?
π‘₯(𝑑)
𝑃 𝑑 = 𝑦(𝑑)
𝑧(𝑑)
𝑑
Example 1: π‘Œ = 𝑋 + 1 → 𝑃 𝑑 = 𝑑 + 1
0
πΆπ‘œπ‘ (𝑑)
Example 1: 𝑋 2 + π‘Œ 2 = 1 → 𝑃 𝑑 = 𝑆𝑖𝑛(𝑑)
0
πΆπ‘œπ‘  2 (𝑑) + 𝑆𝑖𝑛2 (𝑑) = 1
Challenge the future
9
NURBS equations
All from a summary by Markus Altmann:
http://web.cs.wpi.edu/~matt/courses/cs563/talks/nurbs.html
𝐢 𝑒 =
where
𝑛
𝑖=0 π‘Šπ‘– . 𝑃𝑖 . 𝑁𝑖,π‘˜ (𝑒)
𝑛
𝑖=0 π‘Šπ‘– . 𝑁𝑖,π‘˜ (𝑒)
π‘‘β„Žπ‘’ π‘π‘’π‘Ÿπ‘£π‘’ π‘’π‘£π‘Žπ‘™π‘’π‘Žπ‘‘π‘’π‘‘ π‘Žπ‘‘ π‘π‘Žπ‘Ÿπ‘Žπ‘šπ‘’π‘‘π‘’π‘Ÿ 𝑒
π‘Šπ‘– : 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
1, 𝑖𝑓 𝑑𝑖 ≤ 𝑒 < 𝑑𝑖+1
𝑁𝑖,0 𝑒 =
0,
π‘œπ‘‘β„Žπ‘’π‘Ÿπ‘€π‘–π‘ π‘’
Where 𝑑𝑖 are the knots forming a knot vector
π‘ˆ = {𝑑0 , 𝑑1 , … , π‘‘π‘š }
Note: π‘˜ enumerates 0 to degree, π‘š = 𝑛 + π‘˜ + 1
Challenge the future
10
NURBS interpolation
All contenet from Raja Issa
[Essential Mathematics for Computational Design]
Challenge the future
11
A weighted NURBS curve
How do numeric weights correspond to physical
weights?
Challenge the future
12
NURBS Objects
Non Uniform Rational Basis Splines are used for
accurately modeling free-form geometries
• 1D: Curves (t parameter)
• 2D: Surfaces (u & v parameters)
• 3D: B-Reps (each face is a surface)
Challenge the future
13
Parametric Space
Images courtesy of David Rutten, from Rhinoscript 101
Challenge the future
14
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
Challenge the future
15
1D Curvature: Vector or Scalar?
•
Challenge the future
16
Continuity
• G0 (Position continuous)
• G1 (Tangent continuous)
• G2 ( Curvature Continuous)
Images courtesy of Raja Issa, Essential Mathematics for Computational Design
Challenge the future
17
(1D Curvature Analysis)
• Discretization
Segments
• Measurement
at the middle of each
segment
• Attribution
to each segment
Challenge the future
18
Surface Curvature
•
Images courtesy of Raja Issa, Essential Mathematics for Computational Design
Challenge the future
19
Surface Continuity: Zebra Analysis
Images courtesy of Raja Issa, Essential Mathematics for Computational Design
• Open question: How can we measure curvature on meshes?
Challenge the future
20
(2D Curvature Analysis: NURBS surface)
• Discretization
Sub-surfaces
• Measurement
At UV points
• Attribution
To sub-surfaces
Challenge the future
21
We will now see a NURBS data model…
Questions? p.nourian@tudelft.nl
Challenge the future
22
Download