CAGD: Design of curves Splines & NURBS Alexander Lauser Ferienakademie Sarntal 2004.
-
date post
19-Dec-2015 -
Category
Documents
-
view
220 -
download
0
Transcript of CAGD: Design of curves Splines & NURBS Alexander Lauser Ferienakademie Sarntal 2004.
![Page 1: CAGD: Design of curves Splines & NURBS Alexander Lauser Ferienakademie Sarntal 2004.](https://reader036.fdocuments.us/reader036/viewer/2022062304/56649d2b5503460f94a005d4/html5/thumbnails/1.jpg)
CAGD: Design of curves
Splines & NURBS
Alexander LauserFerienakademie Sarntal 2004
![Page 2: CAGD: Design of curves Splines & NURBS Alexander Lauser Ferienakademie Sarntal 2004.](https://reader036.fdocuments.us/reader036/viewer/2022062304/56649d2b5503460f94a005d4/html5/thumbnails/2.jpg)
Agenda Motivation Polynomial Interpolation Bézier curves Splines
Smoothness B-Splines
Rational Bézier curves NURBS
![Page 3: CAGD: Design of curves Splines & NURBS Alexander Lauser Ferienakademie Sarntal 2004.](https://reader036.fdocuments.us/reader036/viewer/2022062304/56649d2b5503460f94a005d4/html5/thumbnails/3.jpg)
Many technological applications
Why designing curves?
Interpolating measuring dataApproximating measuring data
Design of fonts Large sized fonts must be smooth
Calculation of the path for a robot
Design of products (e.g. CAD)
![Page 4: CAGD: Design of curves Splines & NURBS Alexander Lauser Ferienakademie Sarntal 2004.](https://reader036.fdocuments.us/reader036/viewer/2022062304/56649d2b5503460f94a005d4/html5/thumbnails/4.jpg)
Criterias for curves Controllability
Changes must be predictable in effect Intuitive to use for the designer
Locality Local changes should stay local
Smoothness No sharp bends
![Page 5: CAGD: Design of curves Splines & NURBS Alexander Lauser Ferienakademie Sarntal 2004.](https://reader036.fdocuments.us/reader036/viewer/2022062304/56649d2b5503460f94a005d4/html5/thumbnails/5.jpg)
Result: Polynomial of degree n Interpolates points by construction (i.e. the
curve goes through these points)
Polynomial interpolation Several conditions (say
n+1) For example: n+1 Points Apply to Solve system of linear
equations Either effective or if you like to,
even efficent
y an xn an 1 x
n 1 a1 x a0
![Page 6: CAGD: Design of curves Splines & NURBS Alexander Lauser Ferienakademie Sarntal 2004.](https://reader036.fdocuments.us/reader036/viewer/2022062304/56649d2b5503460f94a005d4/html5/thumbnails/6.jpg)
Polynomial interpolation
Very bad locality Tend to oscillate Small changes may result in catastrophe
Bad controllability All you know is, that it interpolates the points
High effort to evaluate curve Imagine a curve with several million given
points
Disadvantages
![Page 7: CAGD: Design of curves Splines & NURBS Alexander Lauser Ferienakademie Sarntal 2004.](https://reader036.fdocuments.us/reader036/viewer/2022062304/56649d2b5503460f94a005d4/html5/thumbnails/7.jpg)
Approximation Unlike interpolation the points are
not necessarily interpolated Points give a means for controlling
of where the curve goes Often used when creating the
design of new (i.e. non-existing) things No strict shape is given
![Page 8: CAGD: Design of curves Splines & NURBS Alexander Lauser Ferienakademie Sarntal 2004.](https://reader036.fdocuments.us/reader036/viewer/2022062304/56649d2b5503460f94a005d4/html5/thumbnails/8.jpg)
Bézier curves
![Page 9: CAGD: Design of curves Splines & NURBS Alexander Lauser Ferienakademie Sarntal 2004.](https://reader036.fdocuments.us/reader036/viewer/2022062304/56649d2b5503460f94a005d4/html5/thumbnails/9.jpg)
Bézier curve Now we are no longer interested in
interpolating all points The curve only approximates a set
of points Bézier curves are a simple, yet
good method Given: n+1 control points b0 , , bn
![Page 10: CAGD: Design of curves Splines & NURBS Alexander Lauser Ferienakademie Sarntal 2004.](https://reader036.fdocuments.us/reader036/viewer/2022062304/56649d2b5503460f94a005d4/html5/thumbnails/10.jpg)
Bézier – definition Via Bernstein polynomials of degree n
Characteristics Nonnegative Sum to union
i 0
n
Bi
n t 1, t
Bin t n
i1 t n i t i , i 0, n , t 0,1
Bin t 0, i 0, n , t 0,1
Bernstein polynomials of degree 4
![Page 11: CAGD: Design of curves Splines & NURBS Alexander Lauser Ferienakademie Sarntal 2004.](https://reader036.fdocuments.us/reader036/viewer/2022062304/56649d2b5503460f94a005d4/html5/thumbnails/11.jpg)
Bézier – mathematical Definition of Bézier curve:
x t :i 0
n
biBi
n t with t 0,1
Bernstein polynomials are like „cross-faders“ to the points
They are the weights in a weighted linear combination
![Page 12: CAGD: Design of curves Splines & NURBS Alexander Lauser Ferienakademie Sarntal 2004.](https://reader036.fdocuments.us/reader036/viewer/2022062304/56649d2b5503460f94a005d4/html5/thumbnails/12.jpg)
Bézier – derivation Derivation of Bernstein polynomial
ddtBin t
ddtni
1 t n i ti
nii ti 1 1 t n i n i ti 1 t n i 1 product rule
n !i 1 ! n i !
ti 1 1 t n i n!i! n i 1 !
ti 1 t n i 1
nn 1 !
i 1 ! n i !t i 1 1 t n i n 1 !
i ! n i 1 !t i 1 t n i 1
n Bi 1n 1 t Bi
n 1 t
![Page 13: CAGD: Design of curves Splines & NURBS Alexander Lauser Ferienakademie Sarntal 2004.](https://reader036.fdocuments.us/reader036/viewer/2022062304/56649d2b5503460f94a005d4/html5/thumbnails/13.jpg)
Bézier – derivation Derivation of Bézier
ddtx t
ddt i 0
n
biBi
n ti 0
n
bi
ddtBi
n t ni 0
n
biBi 1
n 1 t Bi
n 1 t
ni 1
n
biBi 1
n 1 t ni 0
n 1
biBi
n 1 t with B1
n 1 t 0 Bn
n 1 t 0
ni 0
n 1
bi 1Bi
n 1 t ni 0
n 1
biBi
n 1 t Indexshift
ni 0
n 1
bi 1
biBi
n 1 t Joined sums
![Page 14: CAGD: Design of curves Splines & NURBS Alexander Lauser Ferienakademie Sarntal 2004.](https://reader036.fdocuments.us/reader036/viewer/2022062304/56649d2b5503460f94a005d4/html5/thumbnails/14.jpg)
Bézier – construction Repeated linear interpolation
P0
P1
P2
P3
t = 0,5
0,5
0,5
0,5 0,5
![Page 15: CAGD: Design of curves Splines & NURBS Alexander Lauser Ferienakademie Sarntal 2004.](https://reader036.fdocuments.us/reader036/viewer/2022062304/56649d2b5503460f94a005d4/html5/thumbnails/15.jpg)
Good locality Local changes only have local impact Anyway changes are global
Bézier – characteristics Good controllability
Interpolates endpoints (s(0) = b0, s(1) = b1)
x 1 n bn bn 1
Last two points determine the tangent
vector at the end:
x 0 n b1 b0
First two points determine the tangent vector at the start:
![Page 16: CAGD: Design of curves Splines & NURBS Alexander Lauser Ferienakademie Sarntal 2004.](https://reader036.fdocuments.us/reader036/viewer/2022062304/56649d2b5503460f94a005d4/html5/thumbnails/16.jpg)
Bézier – characteristics Lies within the convex closure of the
control points Useful for collision detection
Invariant under affine transformation You can rotate, translate and scale the
control polygon Complex shape of model implies a great
amount of control points This means the degree of the curve is high So the evaluation of such a curve is slow
![Page 17: CAGD: Design of curves Splines & NURBS Alexander Lauser Ferienakademie Sarntal 2004.](https://reader036.fdocuments.us/reader036/viewer/2022062304/56649d2b5503460f94a005d4/html5/thumbnails/17.jpg)
Splines
Modelling segmental
![Page 18: CAGD: Design of curves Splines & NURBS Alexander Lauser Ferienakademie Sarntal 2004.](https://reader036.fdocuments.us/reader036/viewer/2022062304/56649d2b5503460f94a005d4/html5/thumbnails/18.jpg)
Splines Piecewise polynomial segments
Modelling the curve locally by a segment The segments are joined to get the global curve
Name derives from shipbuilding Splines are stripes of metal fixed at several
points.They have the same smoothness as cubic B-
Splines Global parameter u and for each segment si
a local parameter t
![Page 19: CAGD: Design of curves Splines & NURBS Alexander Lauser Ferienakademie Sarntal 2004.](https://reader036.fdocuments.us/reader036/viewer/2022062304/56649d2b5503460f94a005d4/html5/thumbnails/19.jpg)
Splines – parametrisation Globally parametrised over a
sequence of nodes ui
Each segment si is locally parametrised over [ui, ui+1]
![Page 20: CAGD: Design of curves Splines & NURBS Alexander Lauser Ferienakademie Sarntal 2004.](https://reader036.fdocuments.us/reader036/viewer/2022062304/56649d2b5503460f94a005d4/html5/thumbnails/20.jpg)
Splines – parametrisation Uniform splines
Uniformly distributed sequence over range of global parameter u
Nonuniform splines Sequence is not uniformly distributed
Segments si „live“ over [ui, ui+1] with local parameter
t = (u – ui) / (ui+1 – ui–1)
![Page 21: CAGD: Design of curves Splines & NURBS Alexander Lauser Ferienakademie Sarntal 2004.](https://reader036.fdocuments.us/reader036/viewer/2022062304/56649d2b5503460f94a005d4/html5/thumbnails/21.jpg)
Splines – smoothness What does smoothness
mean? Graphically clear: No
sharp bends Mathematical abstraction: Order of
continuous derivability Only nodes and the corresponding
knot-points are relevant others points are infinitely often derivable
![Page 22: CAGD: Design of curves Splines & NURBS Alexander Lauser Ferienakademie Sarntal 2004.](https://reader036.fdocuments.us/reader036/viewer/2022062304/56649d2b5503460f94a005d4/html5/thumbnails/22.jpg)
Splines – smoothness C0-continuity
The segments meet at the nodes C1-continuity
Curve must be continuously derivable after the global parameter u one time
The „speed“ in respect to global parameter must be the same in the joint both segments
C2-continuity Curve must be continuously derivable 2 times The „acceleration“ must be equal in the joint
![Page 23: CAGD: Design of curves Splines & NURBS Alexander Lauser Ferienakademie Sarntal 2004.](https://reader036.fdocuments.us/reader036/viewer/2022062304/56649d2b5503460f94a005d4/html5/thumbnails/23.jpg)
Splines – smoothness
C0-continuous Spline
C1-continuous Spline
![Page 24: CAGD: Design of curves Splines & NURBS Alexander Lauser Ferienakademie Sarntal 2004.](https://reader036.fdocuments.us/reader036/viewer/2022062304/56649d2b5503460f94a005d4/html5/thumbnails/24.jpg)
Splines – smoothness Geometric smoothness: G1-
continuity In every joint there exists a unique
tangent I.e. tangent vectors need not be equal
in magnitude, only direction Doesn‘t take global
parametrisation into account
![Page 25: CAGD: Design of curves Splines & NURBS Alexander Lauser Ferienakademie Sarntal 2004.](https://reader036.fdocuments.us/reader036/viewer/2022062304/56649d2b5503460f94a005d4/html5/thumbnails/25.jpg)
Splines – smoothness An example for G1-continuous
curve that is not C1-continuous
u0 u1 u2
1 1
21
![Page 26: CAGD: Design of curves Splines & NURBS Alexander Lauser Ferienakademie Sarntal 2004.](https://reader036.fdocuments.us/reader036/viewer/2022062304/56649d2b5503460f94a005d4/html5/thumbnails/26.jpg)
Splines – smoothness In general
Cx-continuity Gx-continuity But not: Gx-Continuity Cx-continuity
Special case: Stationary point All derivations are zero Then Cx-continuity Gx-continuity
doesn‘t hold
![Page 27: CAGD: Design of curves Splines & NURBS Alexander Lauser Ferienakademie Sarntal 2004.](https://reader036.fdocuments.us/reader036/viewer/2022062304/56649d2b5503460f94a005d4/html5/thumbnails/27.jpg)
Splines – smoothness
![Page 28: CAGD: Design of curves Splines & NURBS Alexander Lauser Ferienakademie Sarntal 2004.](https://reader036.fdocuments.us/reader036/viewer/2022062304/56649d2b5503460f94a005d4/html5/thumbnails/28.jpg)
Linear Interpolation Why not interpolate the
points linearily? It is very controllable It is very local since it
changes only 2 segments Right. BUT
It is not very smooth It is only C0-continuous
P1
P2
P3
P4
![Page 29: CAGD: Design of curves Splines & NURBS Alexander Lauser Ferienakademie Sarntal 2004.](https://reader036.fdocuments.us/reader036/viewer/2022062304/56649d2b5503460f94a005d4/html5/thumbnails/29.jpg)
B-Splines Spline consisting of Bézier
curves Depending on the degree n of
the Bézier segments various orders of continuity possible In general up to Cn–1-
continuouity possible
![Page 30: CAGD: Design of curves Splines & NURBS Alexander Lauser Ferienakademie Sarntal 2004.](https://reader036.fdocuments.us/reader036/viewer/2022062304/56649d2b5503460f94a005d4/html5/thumbnails/30.jpg)
B-Splines – C1-continuity C1-continuity at knot bi
Tangent vectors must be equal Bézier: Tangent vectors in bi
s0 - points from bi-1 to bi
s1 - points from bi to bi+1
This means bi-1, bi and bi+1 must be collinear
B-Spline: Collinearity of bi-1, bi and bi+1
bi+1bibi-1
s0s1
Bézier: Tangents
![Page 31: CAGD: Design of curves Splines & NURBS Alexander Lauser Ferienakademie Sarntal 2004.](https://reader036.fdocuments.us/reader036/viewer/2022062304/56649d2b5503460f94a005d4/html5/thumbnails/31.jpg)
B-Splines – C1-continuity But this alone isn‘t sufficient
Furthermore bi-1, bi and bi+1 must satisfy a specific ratio
bi bi 1
bi 1 bi
u1 u0
u2 u1
=: 0
1
bi bi 1
bi 1 bi
11
(for uniform B-Splines)
Why this?
u0 u1 u2
![Page 32: CAGD: Design of curves Splines & NURBS Alexander Lauser Ferienakademie Sarntal 2004.](https://reader036.fdocuments.us/reader036/viewer/2022062304/56649d2b5503460f94a005d4/html5/thumbnails/32.jpg)
B-Splines – C1-continuity Because we are interested in derivability
for the global parameter Collinearity says that the „speed“ has the
same direction, but not necessarily magnitude Mathematical derivation
ddus u
ddut u
ddts j t
1
j
ddts j t , with j u j 1 u j , t u
u u j
j
, u u j , u j 1
So we have to check1
0
ddts0 1
1
1
ddts1 0
1 bn bn 1 0 bn 1 bn , sinceddts0 1 n bn bn 1 and s1 0 n bn 1 bn
![Page 33: CAGD: Design of curves Splines & NURBS Alexander Lauser Ferienakademie Sarntal 2004.](https://reader036.fdocuments.us/reader036/viewer/2022062304/56649d2b5503460f94a005d4/html5/thumbnails/33.jpg)
B-Splines – C1-continuity Given: Two Bézier curves How to test C1-continuity
Consider the joint points of the spline and its direct neighbours
When no joint it isn‘t even C0-continuous Are they collinear?
No, then the spline is not C1-continuous Ok, they are collinear
Then check the ratio of the distance from the knot point neighbours to the knot point. It must be same ratio as of the corresponding nodes
![Page 34: CAGD: Design of curves Splines & NURBS Alexander Lauser Ferienakademie Sarntal 2004.](https://reader036.fdocuments.us/reader036/viewer/2022062304/56649d2b5503460f94a005d4/html5/thumbnails/34.jpg)
B-Splines – C2-continuity C2-continuity at knot bi
Precondition: C1-continuity Nodes bn-2, bn-1, bn and bn, bn+1, bn+2
must describe a unique global quadratic Bézier curve So there must exist a (unique) point
d, so that bn-2, d, bn+2 describe this curve
![Page 35: CAGD: Design of curves Splines & NURBS Alexander Lauser Ferienakademie Sarntal 2004.](https://reader036.fdocuments.us/reader036/viewer/2022062304/56649d2b5503460f94a005d4/html5/thumbnails/35.jpg)
B-Splines – C2-continuity The point d must fulfill two
conditionsat which t 0
0 1
bn 1 1 t bn 2 t d
bn 1 1 t d t bn 2
u0 u1 u2
![Page 36: CAGD: Design of curves Splines & NURBS Alexander Lauser Ferienakademie Sarntal 2004.](https://reader036.fdocuments.us/reader036/viewer/2022062304/56649d2b5503460f94a005d4/html5/thumbnails/36.jpg)
B-Splines How to test for C2-continuity First of all test for C1-continuity
If it is not, it cannot be C2-continuous
u0 u1 u2
Check for uniqueness of point d Extrapolate d- from bn-2 and bn-1
Extrapolate d+ from bn+2 and bn+1 d- and d+ must be equal
In Practice specify a tolerance
![Page 37: CAGD: Design of curves Splines & NURBS Alexander Lauser Ferienakademie Sarntal 2004.](https://reader036.fdocuments.us/reader036/viewer/2022062304/56649d2b5503460f94a005d4/html5/thumbnails/37.jpg)
Quadratic B-Splines Construction of a C1-continuous quadratic
B-Spline Different approach
Per definition we want a C1-continuous curve We do not want to test two segments for
C1-continuity anymore Given are n+1 control points d0 ,..., dn
spanning the control polygon of the B-Spline
Constructing Bézier control points for a C1-continuous quadratic B-Spline
![Page 38: CAGD: Design of curves Splines & NURBS Alexander Lauser Ferienakademie Sarntal 2004.](https://reader036.fdocuments.us/reader036/viewer/2022062304/56649d2b5503460f94a005d4/html5/thumbnails/38.jpg)
Quadratic B-Splines Construction of Bézier polygon:
b2 i 1: d i , i 0, , n 3b0 : d 0 b2 n 2 : d n
b2 i:i
i 1 i
b2 i 1i 1
i 1 i
b2 i 1
d0
d1
d2
d3
d4
Construction of a uniform quadratic C1-continuous B-Spline with n=5b0 =
b1 =
b6 =b3 =
b5 =
b4
b2 0,5
0,5
Control polygonQuadratic Bézier segments
For uniform B-Splinesb2 i
12b2 i 1
12b2 i 1
![Page 39: CAGD: Design of curves Splines & NURBS Alexander Lauser Ferienakademie Sarntal 2004.](https://reader036.fdocuments.us/reader036/viewer/2022062304/56649d2b5503460f94a005d4/html5/thumbnails/39.jpg)
Cubic B-Splines Construction of a C2-continuous cubic B-
Spline As for quadratic B-Splines we construct the
Bézier control points bi from the B-Spline polygon spanned by di
Given are n+1 control points d0 ,..., dn again spanning the control polygon of the B-Spline
Constructing Bézier control points for a C2-continuous cubic B-Spline
![Page 40: CAGD: Design of curves Splines & NURBS Alexander Lauser Ferienakademie Sarntal 2004.](https://reader036.fdocuments.us/reader036/viewer/2022062304/56649d2b5503460f94a005d4/html5/thumbnails/40.jpg)
Cubic B-Splines
Formulas for uniform case (nonuniform version is too ugly ;)
Left end:b0 : d 0 , b1 : d1 , b2 :12d 1
12d 2
b3 i 2:23d i 1
13d i
b3 i 1:13d i 1
23d i
b3 i :12b3 i 1
12b3 i 1 (Remember C1 -condition)
d0
d1
d3d5
d2
d4
b0 =
b1 =
b9 =
= b8
B-Spline polygon
Construction of a uniform C2-continuous cubic B-Spline
b4
b5
b7
b2
b3
b6
Right end:b3 n 2 : d n , b3 n 2 1 : d n 1 , b3 n 2 2 :12d n 2
12d n 1
Cubic Bézier segments
![Page 41: CAGD: Design of curves Splines & NURBS Alexander Lauser Ferienakademie Sarntal 2004.](https://reader036.fdocuments.us/reader036/viewer/2022062304/56649d2b5503460f94a005d4/html5/thumbnails/41.jpg)
Cubic B-Splines – storage A little off-topic aspect: How to store a
B-Spline For example it could be approximated
linearly and these linear segments could be saved
Obviously inefficient All Bézier control points could be saved
It‘s more efficient but not perfect So what to save?
Answer: Only the di need to be saved Curve can be reconstructed as shown before
![Page 42: CAGD: Design of curves Splines & NURBS Alexander Lauser Ferienakademie Sarntal 2004.](https://reader036.fdocuments.us/reader036/viewer/2022062304/56649d2b5503460f94a005d4/html5/thumbnails/42.jpg)
Cubic B-Splines – storage The advantages are obvious
No loss of data. The curve can be exactly reconstructed
No problems with rounding errors Little storage space needed The storage is distinct when low-level
storage information is known Theoretical interchangability of file format
saving B-Splines Practice is evidently different
![Page 43: CAGD: Design of curves Splines & NURBS Alexander Lauser Ferienakademie Sarntal 2004.](https://reader036.fdocuments.us/reader036/viewer/2022062304/56649d2b5503460f94a005d4/html5/thumbnails/43.jpg)
B-Splines – basis What does the „B“ in the name
stand for? It does not stand for „Bézier“ as you
may guess, but for „Basis“ Since there exists a basis representation
for the spline in contrary to natural splines
The basis functions are called the minimum support splines
![Page 44: CAGD: Design of curves Splines & NURBS Alexander Lauser Ferienakademie Sarntal 2004.](https://reader036.fdocuments.us/reader036/viewer/2022062304/56649d2b5503460f94a005d4/html5/thumbnails/44.jpg)
B-Splines – basis Definition of B-Splines via basis splines
s u :i 0
N n 1
diNi
n u , where Ni
n u are the basis splines
Definition of the basis splines Global over the whole domain of u So that Cn-1-smoothness is assured The support is minimal
That is the range in which it doesn‘t vanish
N in ui 1
![Page 45: CAGD: Design of curves Splines & NURBS Alexander Lauser Ferienakademie Sarntal 2004.](https://reader036.fdocuments.us/reader036/viewer/2022062304/56649d2b5503460f94a005d4/html5/thumbnails/45.jpg)
B-Spline Basis Ok but how does this look like?
The basis splines over the full domain of u
![Page 46: CAGD: Design of curves Splines & NURBS Alexander Lauser Ferienakademie Sarntal 2004.](https://reader036.fdocuments.us/reader036/viewer/2022062304/56649d2b5503460f94a005d4/html5/thumbnails/46.jpg)
B-Splines – characteristics Invariant under affine transformations
You can scale, rotate and translate the curve
I.e. the control points and get the same result as doing so with all the points on the curve
Interpolation of end points Excellent locality
Change of one control points affects at most n+1 segments
![Page 47: CAGD: Design of curves Splines & NURBS Alexander Lauser Ferienakademie Sarntal 2004.](https://reader036.fdocuments.us/reader036/viewer/2022062304/56649d2b5503460f94a005d4/html5/thumbnails/47.jpg)
B-Splines – characteristics Lies within convex closure
of the control points Stricter than for Bézier curve:
Lies within the the union of the convex closures of all segments
A C1-continuous quadratic B-Spline
d0
d1
d2
d6
d7
Convex closure
![Page 48: CAGD: Design of curves Splines & NURBS Alexander Lauser Ferienakademie Sarntal 2004.](https://reader036.fdocuments.us/reader036/viewer/2022062304/56649d2b5503460f94a005d4/html5/thumbnails/48.jpg)
B-Splines – characteristics Modelling of straight lines possible Even if all local segments are planar,
modelling of true 3D curves is possible E.g. quadratic B-Splines are planar in each
segment but the global curve may be true 3D The degree of the global curve doesn‘t
depend on the number of points Efficient for modelling curves with many
points
![Page 49: CAGD: Design of curves Splines & NURBS Alexander Lauser Ferienakademie Sarntal 2004.](https://reader036.fdocuments.us/reader036/viewer/2022062304/56649d2b5503460f94a005d4/html5/thumbnails/49.jpg)
Rational Bézier curves
An even more powerful approach
![Page 50: CAGD: Design of curves Splines & NURBS Alexander Lauser Ferienakademie Sarntal 2004.](https://reader036.fdocuments.us/reader036/viewer/2022062304/56649d2b5503460f94a005d4/html5/thumbnails/50.jpg)
Rational Bézier curves One major disadvantage of Bézier curves are
that they are not invariant under projection This means when perspectively projecting a 3D
Bézier curve on the screen the result is no longer a Bézier curve
For CAGD applications 3D curves are often projected to be displayed on 2D screens
When projected, the original nonrational curve results in a rational curve
This leads us to rational Bézier curves They are invariant under projective
transformation
![Page 51: CAGD: Design of curves Splines & NURBS Alexander Lauser Ferienakademie Sarntal 2004.](https://reader036.fdocuments.us/reader036/viewer/2022062304/56649d2b5503460f94a005d4/html5/thumbnails/51.jpg)
Rational Bézier curves Definition of a rational Bézier curve
x t : i 0
n
wibiBi
n t
i 0
n
wi B in t
As before the bi are the control points Additionaly every point bi has a weight
wi
![Page 52: CAGD: Design of curves Splines & NURBS Alexander Lauser Ferienakademie Sarntal 2004.](https://reader036.fdocuments.us/reader036/viewer/2022062304/56649d2b5503460f94a005d4/html5/thumbnails/52.jpg)
Rational Bézier curves You can think of a rational Bézier
curve of the projection of a nonrational one from 4D space to the hyper-plane w=1
The control polyhedron of this is spanned by the 4D points (bi
. wi , wi) The bi are the projection of the bi
.wi to the hyperplane w=1
![Page 53: CAGD: Design of curves Splines & NURBS Alexander Lauser Ferienakademie Sarntal 2004.](https://reader036.fdocuments.us/reader036/viewer/2022062304/56649d2b5503460f94a005d4/html5/thumbnails/53.jpg)
Rational Bézier curves Let‘s visualize this for a 2D rational
Bézier curve as a projected Bézier curve in 3D to plane z=1
z=1 plane
3D Bézier curve
2D rational Bézier curve
![Page 54: CAGD: Design of curves Splines & NURBS Alexander Lauser Ferienakademie Sarntal 2004.](https://reader036.fdocuments.us/reader036/viewer/2022062304/56649d2b5503460f94a005d4/html5/thumbnails/54.jpg)
Rational Bézier curves The weights give a further degree of
liberty to the designer Changing the weight differs from moving
the control point
Moving a control point (left) differs heavily from changing its weight (right)
![Page 55: CAGD: Design of curves Splines & NURBS Alexander Lauser Ferienakademie Sarntal 2004.](https://reader036.fdocuments.us/reader036/viewer/2022062304/56649d2b5503460f94a005d4/html5/thumbnails/55.jpg)
Rational Bézier curves Because they are invariant under
projection the projected curve can be modeled further E.g. a car designer may change the
projected car body Bézier curves are a subset of the
rational Bézier curves Special case: Equal weights
![Page 56: CAGD: Design of curves Splines & NURBS Alexander Lauser Ferienakademie Sarntal 2004.](https://reader036.fdocuments.us/reader036/viewer/2022062304/56649d2b5503460f94a005d4/html5/thumbnails/56.jpg)
NURBS
Puzzeling with rational curves
![Page 57: CAGD: Design of curves Splines & NURBS Alexander Lauser Ferienakademie Sarntal 2004.](https://reader036.fdocuments.us/reader036/viewer/2022062304/56649d2b5503460f94a005d4/html5/thumbnails/57.jpg)
NURBS Non Uniform Rational B-Splines B-Splines with rational Bézier curves
Since 3D rational Bézier curves can be thought of as nonrational in 4D, all results of normal B-Splines apply
Especially the continuity conditions are exactly identical, but with 4D control points
This implies that their construction is mathematical identical to that of B-Splines (but as well in 4D)
![Page 58: CAGD: Design of curves Splines & NURBS Alexander Lauser Ferienakademie Sarntal 2004.](https://reader036.fdocuments.us/reader036/viewer/2022062304/56649d2b5503460f94a005d4/html5/thumbnails/58.jpg)
NURBS Note: NURBS can be defined as well as
B-Splines with Basis Splines
x t : i 0
N n 1
wibiNi
n t
i 0
N n 1
w i N in t
![Page 59: CAGD: Design of curves Splines & NURBS Alexander Lauser Ferienakademie Sarntal 2004.](https://reader036.fdocuments.us/reader036/viewer/2022062304/56649d2b5503460f94a005d4/html5/thumbnails/59.jpg)
NURBS – characteristics All conic sections (a circle for
example) can be modelled exactly
Constructing a 2D-circle with NURBS
![Page 60: CAGD: Design of curves Splines & NURBS Alexander Lauser Ferienakademie Sarntal 2004.](https://reader036.fdocuments.us/reader036/viewer/2022062304/56649d2b5503460f94a005d4/html5/thumbnails/60.jpg)
NURBS – characteristics It inherits all advantages of B-
Splines (excellent locality, ...) while extending the liberty of modelling
Therefore today NURBS are standard for modelling
The next logical step is to model not only curves but surfaces This will be discussed in the next
lecture
![Page 61: CAGD: Design of curves Splines & NURBS Alexander Lauser Ferienakademie Sarntal 2004.](https://reader036.fdocuments.us/reader036/viewer/2022062304/56649d2b5503460f94a005d4/html5/thumbnails/61.jpg)
The End Questions? Thank you for paying attention
SourcesFarin, G.:
Kurven und Flächen im Computer Aided Geometric DesignH.-J. Bungartz, M. Griebel, C. Zenger:
Einführung in die ComputergraphikFoley, van Dam, Feiner, Hughes:
Computer Graphics: Principles and Practice - Second Edition in Chttp://olli.informatik.uni-oldenburg.de/Grafiti3/grafiti/flow10/page1.htmlhttp://www.cs.berkeley.edu/~sequin/CS284/IMGS/http://escience.anu.edu.au/lecture/cg/Spline/bSplineFunction.en.html
Programming is a race between the programmer and the universe: The
programmer trying to make the programm more and more foolproof and
the universe trying to make greater idiots
– so far the universe won.-- Unkown source