Вы находитесь на странице: 1из 18

B-Spline-II

1
Matrix Formulation Quadratic uniform B-Spline

Assume n+1 control points, P0, P1, .. Pn, are given to


construct a spline where each segment Pi(t) is a
quadratic parameter polynomial based on three points,
Pi-1(t), Pi(t), Pi+1(t).
Assume the start and end points are not interpolating.

P1 Quadratic segments P1(t)


P2 and P2(t) are defined by
K2
control pointsP0, P1, P2 and
P2(t)
P3.
P1(t)
K1, K2 and K3 are called as
K1 K3
joints.
P3 P1(t) is defined by P0, P1
P0
and P2 control points. GoSlide4
GoSlide6 2
The usual notation for two segments is given as (Eq-1)
Pi 1
2

Pi (t ) = (t , t ,1) M Pi , i = 1,2
P
i +1
where M is given as (Eq-2) GoSlide5
a2 b2 c2
2 2

(t , t ,1) M = (t , t ,1) a1 b1 c1
a b0 c0
0
= (a 2t 2 + a1t + a0 , b2 t 2 + b1t + b0 , c2t 2 + c1t + c0 )
= (a (t ), b(t ), c(t ))
3
The nine elements of M are determined as
1. The two segments should meet at common joint and
their tangent vectors should be equal at that point. GoSlide1
P1(1)=P2(0), P1t(1)=P2t(0) (Eq-3)
End pt of segment 1=start pt of segment 2, (tangents also)
The explicit equations can be written as
a(1)P0 + b(1)P1 + c(1)P2 = a(0)P1 + b(0)P2 + c(0)P3
a'(1)P0 + b'(1)P1 + c'(1)P2 = a'(0)P1 + b'(0)P2 + c'(0)P3
Rewriting the above two equations:
a(1)=0=a'(1) for P0, b(1)=a(0), b'(a)=a'(0) for P1,
c(1)=b(0), c'(1)=b'(0) for P2, 0=c(0), 0=c'(0) for P3.
4
Again rewriting like in Eq-2 format, GoPrevious
a2+ a1+ a0 = 0, 2a2 + a1 = 0,
b2+ b1+ b0 = a0, 2b2 + b1= 0,
c2+ c1+ c0 = b0, 2c2 + c1 = 0 and c1=c0=0. Eq-4
Eight equations for the nine unknowns
2. The entire curve should be independents of the
particular coordinate system or a(t) + b(t) + c(t) =1 or
a2 + b2 + c2 = 0, a1 + b1 + c1 = 0, a0 + b0 + c0 = 1 Eq-5
Solving them uniquely, we get the values as GoSlide3
a2=1/2, a1=-1, a0=1/2; b2=-1, b1=-1, b0=1/2; c2=1/2,
c1=0=c0
5
1 2 1 Pi 1
1 2
Pi (t ) = (t , t ,1) 2 2 0 Pi
2 1 P
1 0 i +1
=1/2(t2 - 2t + 1) Pi-1 + 1/2(-2t2 + 2t + 1)Pi + t2/2 Pi+1, i=1,2
Now the start and end points can be determined. They
are
Ki=Pi(0)=1/2 (Pi-1 + Pi), Ki+1=Pi(1)=1/2 (Pi + Pi+1) GoSlide1
From the above, we can infer that the first point starts
from the mid point between the first two points and
ends similarly.
6
The tangent vector of the general quadratic B-Spline is
1 2 1 Pi 1
t 1
P i (t ) = (2t ,1,0) 2 2 0 Pi
2 1 P
1 0 i +1
= (t 1) Pi 1 + (2t + 1) Pi + tPi +1
Q: Given the four control points P0= (1,0), P1= (1,1),
P2=(2,1) and P3=(2,0), estimate the start and end points
of the two segments, the joints and the tangent vectors.
Q: Close the curve by calculating the additional
segments.
7
Matrix formulation of Cubic uniform B-Spline
The curve is defined by n+1 control point, with Pi(t)
spline segments. Pi 1

M is a 4x4 matrix with 3 2 Pi
Pi (t ) = (t , t , t ,1) M
16 elements to be known. Pi +1

Following the same procedure we obtain: P
i +2
+2
1 3 3 1 Pi 1

1 3 2 3 6 3 0 Pi
Pi (t ) = (t , t , t ,1)
6 3 0 3 0 Pi +1

1 4 1 0 P
i + 2
= 1/6(-t3+3t2-3t+1)Pi-1+1/6(3t3-6t2+4)Pi+1/6(-3t3+3t2+3t+1)
Pi+1+t3/6Pi+2
8
And the two extreme points are therefore:
Ki=Pi(0)=1/6(Pi-1+4Pi+Pi+1) and
Ki+1=Pi(1)=1/6(Pi+4Pi+1+Pi+2)
Q. The five points are P0=(0,0), P1=(0,1), P2=(1,1),
P3=(2,1) and P4=(2,0). Calculate the two cubic spline
segments P1(t), P2(t), their tangent vectors and joints K1,
K2 and K3.
Q. For the above question of five points, calculate the
three quadratic spline segments also the four joints.
Q. For the same question of cubic spline, close the curve
by obtaining the intermediate points.
9
Comparison of
(a). Bezier Curve
(b). Cubic B-Spline
curve
(c). Quadratic B-Spline
Curve

10
Surfaces
Types of Surfaces:
Plane Surface: Simplest surface, requires 3 non-
coincidental points to define an infinite plane. It can be
used to generate cross sectional views by intersecting a
surface or solid model with it.

11
Ruled (lofted) Surface: This is a linear surface. It
interpolates linearly between two boundary curves that
define the surface. Boundary curves can be any wire
frame entity. The surface is ideal to represent surfaces
that donot have any twists or kinks.

12
Surface of Revolution: This is an axisymmetric surface
that can model axisymmetric objects. It is generated by
rotating a planar wire frame entity in space about the
axis of symmetry of a given angle.

13
Tabulated Surface: This is a surface generated by
translating a planar curve a given distance along a
specified direction. The plane of the curve is
perpendicular to the axis of the generated cylinder.

14
Bi-linear Surface: This 3-D surface is generated by
interpolation of 4 endpoints. Bi-linear surfaces are very
useful in finite element analysis. A mechanical structure
is discretized into elements, which are generated by
interpolating 4 node points to form a 2-D solid element.

15
Coons Patch: Coons patch or surface is generated by the
interpolation of 4 edge curves

16
Bezier Surface: This is a synthetic surface similar to the
Bezier curve and is obtained by transformation of a
Bezier curve. It permits twists and kinks in the surface.
The surface does not pass through all the data points.

B-Spline Surface: This is a synthetic surface and does


not pass through all data points. The surface is capable
of giving very smooth contours, and can be reshaped
with local controls.
17
Fillet Surface: It is a B-Spline surface that bleds two
surfaces together.
Offset Surface: An example of hollow cylinder creation.

18

Вам также может понравиться