Vous êtes sur la page 1sur 55

1: Summarize major geometric features

DEPARTMENT OF used in CAD/CAM/CAE systems


MECHANICAL AND BIOMEDICAL ENGINEERING
CITY UNIVERSITY OF HONG KONG Curve entities:
MBE4005 - Finite Element Analysis
 line segments
(Tutorial 1)
 circle segments, ellipses, parabolas, hyperbolas, conics
 Bézier curves, B-spline curves, NURBS curves,
 curves on surfaces, trimmed curves, ...
Tutorial 1: Preliminaries on Polynomial and Spline Functions,

Surface entities:
Exercise 1: Summarize major geometric features used in CAD/CAM/CAE systems
k  planes, cylinders, cones, spheres, torus,
Exercise 2: Given n=3, k=4 and p(t )   c B (t )
i 1
i i .  ruled surfaces, tabulated cylinders, surface of
 5  3(t  1)  8(t  1) 2  2(t  1) 3 revolution,
where Bi ( t ) i 1 = 1 (t  a ) 1
k
 (t  a ) 2 
... (t  a ) k 1 with a=1  Coon’s surfaces, sweep surfaces, blending surfaces,
and C  5, 3,  8, 2 ,
T
 Bézier surfaces, B-spline surfaces, NURBS surfaces,
 offset surfaces, trimmed surfaces, ...
k
find  d i  i 1 such that, p( t )   d i Bi' ( t )
k

i 1 Solid features:
   
k
with Bi' ( t ) = 1, t 1 , t 2 , ..., t k 1 .
i 1

k
 Constructive Solid Geometry (CSG)
Exercise 3: Given n=3, k=4 and p( t )   c i Bi ( t )   7  13t  8t 2  2t 3  Boundary Representation (B-rep)

i 1
Sweep Representation
with C    7, 13,  8, 2 ,
T

 ...
k
find  d i  i 1 such that, p(t )   d i Bi' (t ) , where,
k
a).
i 1

 B (t )  
k
i
'
= 1 (t  a ) 1 (t  a ) 2 ... (t  a ) k 1 with a=2.
i 1

n
find  d i  i 0 such that, p( t )   d i Bi" ( t ) ,
n
b).
i0

 
n
where Bi" ( t ) are Bernstein polynomials.
i 0

Exercise 4: What are the C 0 , C 1 and C 2 continuity conditions?

Exercise 5: What are the G 0 , G 1 and G 2 continuity conditions?

Tutorials #1 & #2 (W. Ma / MBE / CityU) 1 Tutorials #1 & #2 (W. Ma / MBE / CityU) 2
2: Some important formulas for 3(a). Using derivatives
various power basis transformation

a  b 2  a 2  2ab  b2 Solution: By setting t=2


k k
a  b2  a 2  2ab  b2 to equation p(t )   di Bi' (t )   di t  2i 1 ,
i 1 i 1
a  b3  a 3  3a 2 b  3ab2  b3 k k
i.e.,  7  13t  8t 2  2t 3   d i Bi' (t )   d i t  2i 1
a  b3  a 3  3a 2 b  3ab2  b3 i 1 i 1
we obtain d 1 = 3.

d d  k 
The answer for this exercise is Similarly, by setting t=2 to  p( t )    d i B'i ( t ) ,
dt dt  i 1 
k
p(t )   ci Bi (t )  5  3(t  1)  8(t  1) 2  2(t  1)3
i 1 i.e.,
d
 d k
  d k 
 7  13t  8t 2  2t 3    d i Bi' (t )     d i t  2 i 1 
dt  i 1
  8  25t  14t 2  2t 3 dt  dt  i 1 

with C    8, 25,  14, 2


T
we obtain 13  16t  6t 2  d 2  2d 3 t  2   3d 4 t  2 2 .

For t=2, it leads to d 2 = 5.

d2 d2  k 
By setting t=2 to  p ( t )  2  i i
d B ' ( t ) ,
dt 2
dt  i 1 

i.e.,
d
dt

13  16t  6t 2 
d
dt
 
d 2  2d 3 t  2  3d 4 t  22 
or  16  12t  2d 3  6d 4 t  2 .

For t=2, we obtain 8  2d 3 , which leads to d 3  4 .

Tutorials #1 & #2 (W. Ma / MBE / CityU) 3 Tutorials #1 & #2 (W. Ma / MBE / CityU) 4
d3 d3  k  3(b) Using functional evaluations
By setting t=2 to  p ( t )  3  i i
d B ' ( t ) ,
dt 3
dt  i 1 
Solution: Let us assume
d
i.e.,  16  12t   d 2d3  6d 4 t  2 n
dt dt p( t )   di Bi" ( t )
i0

we obtain 12  6d 4 , which leads to d 4  2 .


where

 n
Bi" ( t )    t i 1  t  ,
ni

Thus, we have  i
and   
n n!
,
p( t )  3  5( t  2)  4( t  2) 2  2( t  2)3  i  i !(n  i )!

i.e., dii 1 = {3, 5, 4, 2}. with


k

n! n  (n  1)  (n  2)    2  1
and 0! 1
Verification:
For n=3,
p( t )  3  5( t  2)  4( t  2)2  2( t  2)3
 3
    B0" ( t )    t 0 1  t   1  t 
3 0 3
 3  5t  10  4t 2  16t  16  2t 3  12t 2  24t  16  0
  7  13t  8t 2  2t 3  3
B1" ( t )    t 1 1  t   3t 1  t 
3 1 2
 1
 3
B2" ( t )    t 2 1  t   3t 2 1  t 
3 2
 2
 3
B3" ( t )    t 3 1  t 
3 3
 t3
 3

Tutorials #1 & #2 (W. Ma / MBE / CityU) 5 Tutorials #1 & #2 (W. Ma / MBE / CityU) 6
By setting t = 0.0, 1.0, 2.0, 3.0, we obtain 4-5. Continuity conditions

C or G continuity conditions:
 d0  7  C continuity means parametric continuity or derivative continuity, and
  G continuity means geometric continuity.
 d3  0

  d0  6 d1  12d 2  8d 3  3 For all the continuity conditions, the right topology is assumed.
 8d 0  36d1  54d 2  27d 3  14
 For the example of Fig. 4.1, although the two curves satisfy the G 0 and tangent
collinear condition, the two curves are NOT G1 continuous at point a and
obviously there is a cusp.
or in matrix form:  For the example of Fig. 4.2, the two curves are topologically connected in the right
  7
way and it is possible to smoothly connect the two curves in this case.
1 0 0 0 d 0 
0 0 0 1  d  0 Similar situation exists for C continuity conditions and all continuity conditions for
    1    surfaces.
  1 6  12 8  d 2   3
     
 8 36  54 27  d3   14 
dp(t)
dt
p(t) dq(t)
a dt

Solving these linear equations, we obtain

di 3i 0   7, 8


 ,  1,

0
 3  q(t)

Fig. 4.1 Two curves are connected at point a with a cusp


(not the right topology for G1 smooth connection)

Verification: dp(t) dq(t)


dt dt

n
p(t )   di Bi" (t )
q(t)
t
i 0


 7 (1  t )3   83 3t (1  t )  3t (1  t ) 0t 
2 2 3 p(t)
t

 7  13t  8t  2t 2 3
Fig. 4.2 Two curves are connected at point a
with the right topology for G1 smooth connection

Check also pp. 2 of slides02 for the geometric meaning of the tangent vector (the 1st order
derivative) and the curvature or the radius of the curvature (related to derivatives up to the
2nd order).

Tutorials #1 & #2 (W. Ma / MBE / CityU) 7 Tutorials #1 & #2 (W. Ma / MBE / CityU) 8
A1. C continuity (parametric or derivative continuity) conditions for curves:

For a single curve p(t ) , the C continuity conditions at t  t0 are defined as follows: For two curves p(t ) and q(t ) , the C continuity conditions at the connecting point are
defined as follows:

dp(t)
dt
dp(t) dq(t)
dt dt
t0
q(t)
t
p(t)
p(t)

t
t

 The curve is C 0 continuous at t  t 0 if p( t 0 ) = p( t 0 ).


 The two curves are C 0 continuous at the connecting point
 The curve is C continuous (parametrically smooth) at t  t 0 , if and only if
1 if p(t ) t 1.0  q(t ) t 0.0 .

(a) the curve is already C 0 continuous at t  t 0 , and  The two curves are C 1 continuous (parametrically smooth) at the connecting
point, if and only if

(b)
d
p(t )   d p(t )  . (a) the curve is already C 0 continuous, and
dt t t0 dt t t0

 The curve is C 2 continuous (parametrically smooth) at t  t 0 , if and only if


(b)
d
p(t )   d q(t )  .
dt t 1.0 dt t  0.0

(a) the curve is already C1 continuous at t  t 0 , and  The two curves are C 2 continuous (parametrically smooth) at the connecting
point, if and only if
d2 2
(b) p(t )   d 2 p(t )  . (a) the curve is already C1 continuous, and
dt 2 t t 
dt t t 
0 0

d2 2

 The curve is C n continuous (parametrically smooth) at t  t 0 , if and only if (b) 2


p(t )   d 2 q(t )  .
dt t 1.0
dt t  0. 0

(a) the curve is already C n 1 continuous at t  t 0 , and


 The two curves are C n continuous (parametrically smooth) at the connecting
point, if and only if
dn n
(b) p(t )   d n p(t )  .
dt n t t 
0
dt t t 
0
(a) the curve is already C n 1 continuous, and

dn n
(b) n
p(t )  d n q(t )  .
dt t 1.0
dt t  0.0

Tutorials #1 & #2 (W. Ma / MBE / CityU) 9 Tutorials #1 & #2 (W. Ma / MBE / CityU) 10
For two curves p(t ) and q(t ) , the G continuity conditions at the connecting point are
A2. G continuity (geometric continuity) conditions for curves: defined as follows:

For a single curve p(t ) , the G continuity conditions at t  t0 are defined as follows:
dp(t) dq(t)
dt dt
dp(t)
dt q(t)
t
t0 p(t)

p(t)
t

t
 The G 0 continuity condition is equivalent to the C 0 continuity condition, i.e.,
the curves are G 0 continuous at the connecting point if p(t ) t 1.0  q(t ) t 0.0 .

 The G 0 continuity condition is equivalent to the C 0 continuity condition, i.e.,


 The two curves are G 1 continuous (geometrically smooth) at the connecting
the curve is G 0 continuous at t  t 0 if p( t 0 ) = p( t 0 ). point, if and only if

 The curve is G 1 continuous (geometrically smooth) at t  t 0 , if and only if (a) the curves are already G 0 continuous, and

(a) the curve is already G 0 continuous, and (b)


d
p(t )  and d q(t )  are collinear (or parallel),
dt t 1.0 dt t  0. 0

(b)
d
p(t )  and d p(t )  are collinear (or parallel), but may NOT necessarily have the same magnitude,
dt dt
t t0 t t0
i.e.
d
p(t )  and
d
q(t )  may not equal.
but may NOT necessarily have the same magnitude, dt t 1.0 dt t  0.0

i.e.
d
p(t )  and
d
p(t ) may not equal.
dt t  t 0 dt t  t 0
 The curves are G 2 continuous (geometrically smooth) at the connecting point,
if and only if
 The curve is G 2 continuous (geometrically smooth) at t  t 0 , if and only if
(a) the curve is G1 continuous at the connecting point, and

(a) the curve is G1 continuous at t  t 0 , and (b) The curvature (or the radius of the curvature) of the two curves
is continuous at the connecting point.
(b) The curvature (or the radius of the curvature) of the curve
is continuous at t  t 0 .  For practical applications, higher order geometric continuity is not use.

 For practical applications, higher order geometric continuity is not use.

Tutorials #1 & #2 (W. Ma / MBE / CityU) 11 Tutorials #1 & #2 (W. Ma / MBE / CityU) 12
B1. C continuity (parametric or derivative continuity) conditions for surfaces:  The two surfaces are C n continuous (parametrically smooth) across the
common boundary curve if and only if
The C continuity conditions are similar to that for curves. However, instead of a single
derivative for the case of curves, we have two 1st order partial derivatives, 3 second (a) the surfaces are C n 1 continuous along the boundary curve, and
order partial derivatives, 4 third order partial derivatives … for the case of surfaces.
n
 p(u, v)   i n i q(u, v)  for i  0,1,, n .
n
(b) u  0,1 , n i
u v
i
v 1.0
u v v  0.0

p(u, v)
u v 1
p(u, v)
v v 1
q(u , v) q(u , v)
v v  0 u v 0
p(u,v)

q(u,v)
u
v
u
v

 The two surfaces are C 0 continuous if the functions (all the coordinates) of the
surfaces are continuous along the entire boundary curve for all u, i.e.
p(u , v) v 1  q(u , v) v  0 .

 The two surfaces are C 1 continuous (parametrically smooth) if and only if they
meet the following conditions along the entire boundary curve for all u

(a) the surfaces are already C 0 continuous, and


p(u , v) q(u , v) p(u , v) q(u, v)
(b)  and  , u  0,1 .
u v 1 u v  0 v v 1 v v  0

 The two surfaces are C 2 continuous (parametrically smooth) if and only if they
meet the following conditions along the entire boundary curve for all u

(a) the surfaces are already C1 continuous, and


 2p(u, v)  2q(u , v)  2p(u, v )  2q(u, v )
(b)  ,  and
u 2
v 1
u 2
v 0
uv v 1 uv v  0
 2p(u, v)  2q(u , v)
 , u  0,1 .
v 2 v 1 v 2 v  0

Tutorials #1 & #2 (W. Ma / MBE / CityU) 13 Tutorials #1 & #2 (W. Ma / MBE / CityU) 14
B2. G continuity (geometric continuity) conditions for surfaces:
 The two surfaces are G 0 continuous if the functions (all the coordinates) of the
The G continuity conditions are also similar to that for curves. However, instead of a surfaces are continuous along the entire boundary curve for all u, i.e.
single derivative for the case of curves, we have also two 1st order partial derivatives, p(u , v) v 1  q(u , v) v  0 .
3 second order partial derivatives, 4 third order partial derivatives … for the case of
surfaces.
 The G 1 continuity for surfaces is the tangent plane continuity.
The definition of G 1 (geometrically smooth) continuity conditions for surfaces
is not unique. Here is one sufficient condition:

q(u , v) p(u , v) The two surfaces are G1 continuous (geometrically smooth) along the common

u v 0 u v 1
boundary curve if
p(u , v)
v (a) the two surfaces share the same boundary, i.e.
v 1 p(u,v)
q(u , v)
v
p(u, v) v 1  q(u, v ) v  0 , for all u, and
v 0

(b) the three principal tangent vectors are coplanar***, i.e.  (u ) and  (u ) ,
q(u,v)
u p(u , v) q(u , v ) q(u, v )
such that,   (u )    (u )  .
v v v 1.0 u v  0.0 v v  0.0

If the three principal tangent vectors are on the same plane, i.e., the tangent
u plane, the two surfaces are then G 1 continuous, i.e. tangent plane continuous.
v
 The G 2 continuity conditions of surfaces are similar to that of curves, except
that the radius of curvature in case of surfaces is the radius of a local
approximation sphere (instead of a circle for curves).
Important: Please note that the formula for the G continuity conditions depend on the
configuration of the two surfaces when they are connected together. The formula Two surfaces are G 2 continuous along the common boundary if
produced in the following are based on the connection shown in the above figure.
(a) the two surfaces are already G1 continuous along the common boundary ,
and

(b) The curvature (or the radius of the curvature) of the two surfaces along the
common boundary is continuous.

 For practical applications, higher order geometric continuity is not use.

c
*** Note: Given three vectors a, b and c, a b
if the three vectors are located on the same plane (coplanar),
there exist coefficients  and  such that c    a    b ,
or there exist coefficients  ' ,  ' and  '
such that  'a   'b   'c  0 .

Tutorials #1 & #2 (W. Ma / MBE / CityU) 15 Tutorials #1 & #2 (W. Ma / MBE / CityU) 16
Important Notes: Please note that the formula for the G continuity conditions depend on
the configuration of the two surfaces when they are connected together. The following
shows two cases with case 1 used in previous discussions. There could also be various
other configurations for G continuity connection.

Case 1 (see previous page for details):

q(u , v) p(u , v)

u v 0 u v 1
p(u , v) p(u,v)
v v 1
q(u , v)
v v 0

q(u,v)
u
v

u
v
The G1 condition:
p(u , v) q(u , v) q(u, v)
  (u )    (u ) 
v v 1.0 u v  0.0 v v  0.0

Case 2:

q(u , v) p(u , v)

v u 1 v u  0

p(u, v)
v u u  0
q(u, v)
u u 1
u
v
q(u,v)

The G1 condition:
p(u,v)
p(u , v) q (u , v) q(u , v)
  (v )    (v ) 
u u  0.0 u u 1.0 v u 1.0

Tutorials #1 & #2 (W. Ma / MBE / CityU) 17 Tutorials #1 & #2 (W. Ma / MBE / CityU) 18
1: Compute curve points

Given v 0   0,0 , v1  1,2 , v 2   3,2 and v 3   4,0 the


DEPARTMENT OF T T T T
MECHANICAL AND BIOMEDICAL ENGINEERING
CITY UNIVERSITY OF HONG KONG vertices of a Bézier polygon, determine five points on the
Bézier curve.
MBE4005 - Finite Element Analysis
(Tutorial 2) Formulas:

Tutorial 2: Bézier Curves and Surfaces.


p(t )   v i Bi (t )
i 0

Given P0   0,0 , P1  1,2 , P2   3,2 and P3   4,0 the vertices Bi (t )    t i 1  t 


Exercise 1:
T T T T
n n i
of a Bézier polygon, determine five points on the Bézier curve. i
Exercise 2: Under what conditions one can connect
two Bézier curves or surfaces with G 1 or C 1 continuity.  n  n!
 i  i !(n  i )!
Exercise 3: Describe some major properties of
Bézier curves and surfaces.

For n=3,

 3
B0 (t )    t 0 1  t   1  t 
3 0 3
 0
 3
B1 (t )    t 1 1  t   3t 1  t 
31 2
 
1
 3
B2 (t )    t 2 1  t   3t 2 1  t 
3 2
 2
 3
B3 (t )    t 3 1  t 
3 3
 t3
 3

Tutorials #1 & #2 (W. Ma / MBE / CityU) 19 Tutorials #1 & #2 (W. Ma / MBE / CityU) 20
The Bézier curve is then defined by 2: Smoothly connect two Bézier curves or surfaces

n See lecture notes for more information.


p(t )   v i Bi (t ) For Bézier curves, the end tangent vectors are
i 0
 1  t  v 0  3t 1  t  v 1  3t 2 1  t  v 2  t 3 v 3
3 2
d
p 1 (t ) |t 1.0 = n1 ( v 1,n  v 1,n 1 )
dt
A table for various values of t is given bellow:
d
p(0.0)  v0 p 2 (t ) |t 0.0 = n2 ( v 2 ,1  v 2 ,0 )
dt
p(0.25)  0.4219 v 0  0.4219 v 1  01406
. v 2  0.0156v 3
p(0.5)  0125
. v 0  0.375v 1  0.375v 2  0125. v3 The two Bézier curves are connected with G1 continuity with
p(0.75)  0.0156v 0  01406
. v 1  0.4219 v 2  0.4219 v 3 the following three conditions:
p(10
. )  v3
 right topology,
After introducing the control points, we obtain:  v 1,n  v 2 ,0 , and
 v 1,n 1 , v 1,n and v 2 ,0 , v 2 ,1 are collinear.
  0,0
T
p(0.0)
  0.9061,1125
. 
T
p(0.25) The two Bézier curves are connected with C1 continuity with
  2.0,15
.
T the following four conditions:
p(0.5)
p(0.75)  3.0939,1.125T  right topology,
  4 ,0
T
p(10
. )  v 1,n  v 2 ,0 ,
 v 1,n 1 , v 1,n and v 2 ,0 , v 2 ,1 are collinear,
 and n1 v 1,n  v 1,n 1 = n2 v 2 ,1  v 2 ,0

3: Describe some major characteristics of


Bézier curves and surfaces.
 endpoint interpolation
 endpoint tangent vectors
 symmetric property
 convex hull property
 geometric invariant property
 variation diminishing property

Tutorials #1 & #2 (W. Ma / MBE / CityU) 21 Tutorials #1 & #2 (W. Ma / MBE / CityU) 22
1: Major advantages of
DEPARTMENT OF B-spline curves & surfaces
MECHANICAL AND BIOMEDICAL ENGINEERING over Bézier curves & surfaces.
CITY UNIVERSITY OF HONG KONG
 Shape local control,
MBE4005 - Finite Element Analysis
(Tutorial #3)  Large surface patches,
 Capability in handling discontinuities,
 Added flexibility in defining piecewise curves or
surfaces.
Tutorial #3: B-Spline Curves and Surfaces

Exercise 1: What are the major advantages of


B-spline curves & surfaces over Bézier curves & surfaces. 2: Uniform or Non-Uniform Knots
Exercise 2: What are uniform knots and non-uniform knots.
Explain with some examples. Examples of uniform knots
(uniformly distributed knots within the definition domain):
Exercise 3: Given the following knots:

{0, 0, 0, 0, 0.2, 0.4, 0.6, 0.8, 1, 1, 1, 1} for k=4; a: {0, 0, 0, 0.2, 0.4, 0.6, 0.8, 1, 1, 1} for k=3
{0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0} for k=2, 3, 4; and b: {0, 0, 0, 0, 0.25, 0.5, 0.75, 1, 1, 1, 1} for k=4
{0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.6, 0.7, 0.8, 0.9, 1.0} for k=2, 3, 4.

determine the number of control points, parameter range for defining c: {-0.4, -0.2, 0.0, 0.2, 0.4, 0.6, 0.8, 1.0, 1.2, 1.4} for k=3
a B-spline curve, and the corresponding number of curve segments. d: {-0.75,-0.5, -0.25, 0.0, 0.25, 0.5, 0.75, 1.0, 1.25, 1.5, 1.75}
Exercise 4: Given k=3, n=3, and a set of knots {0.0, 0.0, 0.0, 1.0, 1.0, 1.0},
for k=4
derive all normalized B-splines and compare with Bernstein Cases c & d are also called periodical knots.
polynomials of order k=3. How about knots {-2.0, -1.0, 0.0, 1.0, 2.0, 3.0}
with the same order? Examples of non-uniform knots:
Exercise 5: Under what conditions one can connect
two B-spline curves or surfaces with G 1 or C 1 continuity. e: {0, 0, 0, 0.25, 0.37, 0.64, 0.95, 1, 1, 1} for k=3
f: {0, 0, 0, 0, 0.31, 0.64, 0.73, 1, 1, 1, 1} for k=4
Exercise 6: Use examples to illustrate how to define closed B-spline curves (two cases).

Exercise 7: Describe some major properties of g: {-0.4, -0.2, 0.0, 0.2, 0.4, 0.66, 0.8, 1.0, 1.2, 1.4} for k=3
B-spline curves and surfaces. h: {-0.75,-0.5, -0.25, 0.0, 0.25, 0.5, 0.75, 1.0, 1.15, 1.5, 1.75}
for k=4

Tutorial #3 (W. Ma / MBE / CityU) 23 Tutorial #3 (W. Ma / MBE / CityU) 24


3: Given the following knots Exercise 3: Given the following knots:
and the corresponding orders: {0, 0, 0, 0, 0.2, 0.4, 0.6, 0.8, 1, 1, 1, 1} for k=4;
{0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0} for k=2, 3, 4; and
{0, 0, 0, 0, 0.2, 0.4, 0.6, 0.8, 1, 1, 1, 1} for k=4; {0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.6, 0.7, 0.8, 0.9, 1.0} for k=2, 3, 4.
{0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0} for k=2, 3, 4; and determine the number of control points, parameter range for defining
{0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.6, 0.7, 0.8, 0.9, 1.0} for k=2, 3, 4. a B-spline curve, and the corresponding number of curve segments.

determine the number of control points, parameter range Case 1. {0, 0, 0, 0, 0.2, 0.4, 0.6, 0.8, 1, 1, 1, 1} for k=4;
for defining a B-spline curve, and the corresponding
number of curve segments.
Total number of knots :
With order :
Hints ... The number of control points : n=

Totoal number of knot parameters = n + k. Parameter range: [ tk, tn+1 ] : [ , ]

A B-spline curve is defined within the interval  t k , t n 1  .


Number of curve segments S :

Tutorial #3 (W. Ma / MBE / CityU) 25 Tutorial #3 (W. Ma / MBE / CityU) 26


Exercise 3: Given the following knots: Exercise 3: Given the following knots:

{0, 0, 0, 0, 0.2, 0.4, 0.6, 0.8, 1, 1, 1, 1} for k=4; {0, 0, 0, 0, 0.2, 0.4, 0.6, 0.8, 1, 1, 1, 1} for k=4;
{0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0} for k=2, 3, 4; and {0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0} for k=2, 3, 4; and
{0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.6, 0.7, 0.8, 0.9, 1.0} for k=2, 3, 4. {0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.6, 0.7, 0.8, 0.9, 1.0} for k=2, 3, 4.

determine the number of control points, parameter range for defining determine the number of control points, parameter range for defining
a B-spline curve, and the corresponding number of curve segments. a B-spline curve, and the corresponding number of curve segments.

Case 2. {0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0} for k=3; Case 3. {0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.6, 0.7, 0.8, 0.9, 1.0} for k=4;

Total number of knots : Total number of knots :


With order : With order :
The number of control points : n= The number of control points : n=

Parameter range: [ tk, tn+1 ] : [ , ] Parameter range: [ tk, tn+1 ] : [ , ]


Number of curve segments S : Number of curve segments S :

Tutorial #3 (W. Ma / MBE / CityU) 27 Tutorial #3 (W. Ma / MBE / CityU) 28


3a. {0, 0, 0, 0, 0.2, 0.4, 0.6, 0.8, 1, 1, 1, 1}

for k = 4, then n = 12 – k = 8, 4: Given k=3, n=3, and a set of knots


number of control points = n = 8 {0.0, 0.0, 0.0, 1.0, 1.0, 1.0}, derive all normalized
parameter range: [ tk, tn+1 ] = [ 0, 1 ] B-splines, and compare with Bernstein polynomials
number of curve segments = n – k + 1 = 5
of order k=3.
3b. {0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0}
How about {-2.0, -1.0, 0.0, 1.0, 2.0, 3.0}?
for k = 2, then n = 10 – k = 8
number of control points = n = 8
parameter range: [ tk, tn+1 ] = [ 0.2, 0.9 ] 4.1: For knots {0.0, 0.0, 0.0, 1.0, 1.0, 1.0},
number of curve segments = n – k + 1 = 7 to evaluate all the non-zero B-splines for t  0.0,10
. ,
for k = 3, then n = 10 – k = 7 we use the following triangular table:
number of control points = n = 7
parameter range: [ tk, tn+1 ] = [ 0.3, 0.8 ] splines for
number of curve segments = n – k + 1 = 5
k=3 B1,3(t ) B2,3(t ) B3,3(t )
for k = 4, then n = 10 – k = 6 ---------------------------------------------------------------
number of control points = n = 6
parameter range: [ tk, tn+1 ] = [ 0.4, 0.7 ]
k=2 B2,2 (t ) B3,2 (t )
number of curve segments = n – k + 1 = 3 ---------------------------------------------------------------
k=1 B3,1(t )
3c. {0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.6, 0.7, 0.8, 0.9, 1.0}
---------------------------------------------------------------
for k = 2, then n = 11 – k = 9
number of control points = n = 9
parameter range: [ tk, tn+1 ] = [ 0.2, 0.9 ]
These are the only splines which are non-zero for t   0.0,10
. .
number of curve segments = n – k + 1 = 8 (actual number = 7 due to a double knot)

for k = 3, then n = 11 – k = 8
number of control points = n = 8
parameter range: [ tk, tn+1 ] = [ 0.3, 0.8 ]
number of curve segments = n – k + 1 = 6 (actual number = 5 due to a double knot)

for k = 4, then n = 11 – k = 7
number of control points = n = 7
parameter range: [ tk, tn+1 ] = [ 0.4, 0.7 ]
number of curve segments = n – k + 1 = 4 (actual number = 3 due to a double knot)

Tutorial #3 (W. Ma / MBE / CityU) 29 Tutorial #3 (W. Ma / MBE / CityU) 30


for k=1: for k=3:

B3,1 (t )  1 t  t1 t t
B1,3(t ) = B (t )  4 B (t )
Bi,1(t )  0 for i  3 t3  t1 1,2 t4  t2 2,2
t  0.0 10. t
= 0  (1  t )
0.0  0.0 .  0.0
10
for k=2: = (1  t ) 2

t  t2 t t t  t2 t t
B2,2 (t ) = B (t )  4 B (t ) B2,3(t ) = B (t )  5 B (t )
t3  t2 2,1 t4  t3 3,1 t4  t2 2,2 t5  t3 3,2
t  0.0 . t
10 t  0.0 . t
10
= 0 1 =  (1  t )  t
0.0  0.0 .  0.0
10 10.  0.0 .  0.0
10
= 1 t = 2t (1  t )

t  t3 t t t  t3 t t
B (t )  5 B3,3(t ) = B (t )  6 B (t )
B3,2 (t ) =
t4  t3 3,1
B (t )
t5  t4 4,1 t5  t3 3,2 t6  t4 4,2
t  0.0 . t t  0.0 . t
10
= 1 
10
0 = t  0
10.  0.0 .  10
10 . 10.  0.0 .  10
10 .
= t = t2

Bi,2 (t )  0 for i  2,3 We have then the B-spline curve


3
p(t )   v i Bi (t )
i 1
  1  t  p 1  2 t 1  t  p 2  t 2 p 3
2

which is the as a Bézier curve of order k=3


2
p(t )   v i Bi (t )  1  t  p1  2t 1  t p 2  t 2 p 3
2

i 0

0 0
Note: ’s are set to 0.0 (the de-Boor evaluation avoids ’s,
0 0
see de-Boor72 for reference).

Tutorial #3 (W. Ma / MBE / CityU) 31 Tutorial #3 (W. Ma / MBE / CityU) 32


4.2: For knots {-2.0, -1.0, 0.0, 1.0, 2.0, 3.0}, for k=3:
to evaluate all the non-zero B-splines for t  0.0,10
. ,
t  t1 t t
we still use the following triangular table: B1,3(t ) = B (t )  4 B (t )
t3  t1 1,2 t4  t2 2,2
splines for t  ( 2.0) . t
10
= 0   (1  t )
k=3 B1,3(t ) B2,3(t ) B3,3(t ) 0.0  ( 2.0) .  ( 10
10 . )
--------------------------------------------------------------- 1
=  (1  t ) 2
k=2 B2,2 (t ) B3,2 (t ) 2
---------------------------------------------------------------
k=1 B3,1(t ) t  t2 t t
B2,3(t ) = B (t )  5 B (t )
--------------------------------------------------------------- t4  t2 2,2 t5  t3 3,2
t  ( 10
. ) 2.0  t
=  (1  t )  t
These are the only splines which are non-zero for t   0.0,10
. . 10.  ( 10 . ) 2.0  0.0
1 1
= (1  t 2 )  t ( 2  t )
for k=1: 2 2

B3,1 (t )  1 t  t3 t t
B3,3(t ) = B (t )  6 B (t )
Bi,1(t )  0 for i  3 t5  t3 3,2 t6  t4 4,2
t  0.0 3.0  t
= t  0
for k=2: 2.0  0.0 3.0  10
.
1 2
t  t2 t t = t
B2,2 (t ) = B (t )  4 B (t ) 2
t3  t2 2,1 t4  t3 3,1
t  ( 10
. ) . t
10
= 0 1
0.0  ( 10. ) .  0.0
10 We have then the B-spline curve
= 1 t
3

t  t3 t t p(t )   v i Bi (t )
B3,2 (t ) = B (t )  5 B (t ) i 1
t4  t3 3,1 t5  t4 4,1
=
t  0.0
1 
2.0  t
0

1
2
 2
  
 1  t  p 1  1  t 2  t  2  t  p 2  t 2p 3 
10.  0.0 2.0  10
.
= t which is not the same as a Bézier curve of order k=3.
Bi ,2 (t )  0 for i  2,3

Tutorial #3 (W. Ma / MBE / CityU) 33 Tutorial #3 (W. Ma / MBE / CityU) 34


5: Smoothly connect two B-spline curves or surfaces 5.2 Use global uniform knots, i.e. the so called periodical
knots, and specially arranged control points.
5.1 With k multiple end knots, we can smoothly connect
two B-spline curves with G1 continuity, or sometimes For two B-spline curves defined by
C1 continuity.
m n
P (t )   p i Bi , k (t ) and Q(t )   q i Bi , k (t )
Assume that the two curves are defined by i 1 i 1
m n
P (t )   p i Bi , k1 (t ) and Q(t )   q i Bi , k 2 (t ) .
i 1 i 1
under global uniform knots,
if the two curves share k-1 control points
5.1.1 General k-multiple end knots at the meeting end, i.e.

With k1 multiple end knots for the first curve, p m  k  2  q1 , p m  k  3  q 2 , ... ..., p m  q k 1
and k 2 multiple end knots for the second curve,
the two B-spline curves will be smoothly connected in
same conditions as Bézier curves for G1 continuity connection.
Gk-2 continuity.
The two B-spline curves are connected with G1 continuity If the knots pacing of the two B-spline curves are also
if they meet the following three conditions: the same, the two B-spline curves will be smoothly
connected in Ck-2 continuity.
 right topology,
 end point match p m  q1 , and
 p m 1 , p m  q1 and q 2 are collinear. 5.3. General non-uniform knots

5.1.2. Uniform k-multiple end knots (uniform knots) The continuity conditions in the general case for non-
uniform knots are possible, but too complex to have
If the two B-spline curves use uniform k multiple end general explicit formulas. Case by case evaluations are
knots, i.e., all internal knots are uniform, required.
the two curves can be connected with C1 continuity if
5.4. Between two surfaces
 The above three conditions, plus
All the above cases for curves can be extended to the
 k1 p m  p m 1 = k 2 q 2  q1 .
cases of surfaces.

Tutorial #3 (W. Ma / MBE / CityU) 35 Tutorial #3 (W. Ma / MBE / CityU) 36


6: Use examples to illustrate 7: Describe some major properties of
how to define closed B-spline curves (two cases). B-spline curves and surfaces.

Use k-multiple end knots to define closed curves smoothly.  Endpoint interpolation
Refer to Exercise 5 of this tutorial, but treat the second (with non-uniform k-multiple end knots only)
curve in Ex. 5 as the start of the same curve for this
exercise.  Endpoint tangent vectors
(with non-uniform k-multiple end knots only)
n
Assume that the curve is defined as P (t )   v i Bi , k (t )
i 1
 Symmetric property
(inverse both control points and the knots)
6.1 With k multiple end knots, we can define a closed B-spline
curve by joining the start and the end of the curve with G1  Convex hull property
continuity if it meets the following three conditions: (union of convex hulls)

 right topology,  Geometric invariant property


(same as Bézier)
 end point match v n  v1 , and
 v n1 , v n and v1 , v 2 are collinear.  Variation diminishing property
(same as Bézier)
6.2 Use global uniform knots, i.e. the so called periodical
knots, and specially arranged control points.  Finite derivatives across interior knots, and
infinite derivatives within curve segments
The conditions for the control points are: (In case of multiplicity, the curve is Ck-v-1 continuous at
an interior knot with multiplicity v. For curve with no
if the last k-1 control points multiple knots, i.e. with v=1, the curve is Ck-2
are the same as the 1st k-1 control points, i.e. continuous at interior knots.)

v n  k  2 = v1, v n  k  3 = v 2 , ... ..., v n = v k 1 .  Shape local control


(Each curve segment is affected by k neighboring
6.3. How about surfaces? control points only!!!)

All the above cases for curves can be extended to the


cases of surfaces.

Tutorial #3 (W. Ma / MBE / CityU) 37 Tutorial #3 (W. Ma / MBE / CityU) 38


Supplementary information about the right topology B. When connecting two surfaces with C or G continuity for
Tutorial #1, Exercises #4 and #5 for the general case,
for connecting two curves or surfaces with C or G continuity Tutorial #2, Exercises #2 for Bézier surfaces,
Tutorial #3, Exercises #5 for B-spline surfaces,
A. When connecting two curves with C or G continuity for the two surfaces must have the right topology for proper connection.
Tutorial #1, Exercises #4 and #5 for the general case, Here we give a few more examples:
Tutorial #2, Exercises #2 for Bézier curves,
Tutorial #3, Exercises #5 for B-spline curves,
the two curves must have the right topology for proper connection.
Here we give a few more examples: q(u,v)

dp(t) dq(t)
dt dt v p(u,v)
q(u,v) u v
q(t) u
t v p(u,v) u
u
v

p(t) (a) Right topology for both C and G continuity


t

q(u,v)
(a) The right topology for both C and G continuity
u v

dp(t) dq(t) v u
dq(t) dt dp(t) dt
dt u
dt
q(t) u
q(t)
t v v
q(u,v)
t t p(u,v) p(u,v)
p(t) t p(t)
(b) Right topologies for G continuity, but NOT for C continuity

(b) Right topologies for G continuity (geometrically smooth),


q(u,v)
but NOT for C continuity (NOT possible for dp(t)/dt = dq(t)/dt) q(u,v)

dq(t)
dp(t) dt dp(t) p(u,v) p(u,v)
dt t dt
a a v
p(t) p(t)

dq(t) t u
t dt v u v

u u
t v
q(t) q(t)

(b) Right topologies for G continuity,


(c) NOT the right topologies for G, neither good for C but NOT possible for C continuity (NOT possible for derivatives to be equal)

Tutorial #3 (W. Ma / MBE / CityU) 39 Tutorial #3 (W. Ma / MBE / CityU) 40


1. Parameters for defining a NURBS entity
DEPARTMENT OF
MECHANICAL AND BIOMEDICAL ENGINEERING A NURBS curve is defined by
CITY UNIVERSITY OF HONG KONG
n
MBE4005 - Finite Element Analysis  wi v i Bi ,k (t )
(Tutorial #4) p( t )  i 1
n
 wi Bi ,k (t )
i 1
Tutorial #4: NURBS Curves and Surfaces

Exercise 1: What are the parameters for defining NURBS curves and surfaces?
with the following parameters

Exercise 2: Illustrate the difference for modifying a NURBS curve  k, the order,
by either moving a control point or changing the corresponding weight.

Exercise 3: Under what conditions a NURBS becomes a B-spline entity, and  n, the number of control points,
under what conditions a B-spline entity becomes a Bézier entity.

Exercise 4: How to define a 90 degree arc using NURBS, and  ti in1k , a set of n+k knots
how to define a complete circle using 4 piece of 90 degree arcs?
(With radius r and on the z=h plane).
for defining the normalized B-splines
Bi ,k (t ) for i=1, 2, ..., n,
Exercise 5: Given a NURBS curve in 3D space defined by a set of knots
{0.0, 0.0, 0.0, 1.0, 1.0, 1.0} with n=3, k=3, and a set of control points
P1  1,0,0 , P2   2,0,5 , P3  1,0,10 with corresponding weights
T T T  v i  R 3 for i=1, 2, ..., n, the control points, and
w={1.0, 2.0, 1.0}, find a NURBS representation for defining
a surface of revolution around the z-axis.  wi for i=1, 2, ..., n, the corresponding weights
How about the case of an arbitrary rotational axis? of the control points v i .
Exercise 6: Other special NURBS curves and surfaces
A NURBS curve is also defined over parameter range
Exercise 7: Summarize major properties of NURBS curves. tk  t  tn 1.

Compared with B-spline curves, A NURBS curve has


weights as extra parameters. All other parameters are the
same as B-spline curves. In case of equal weights, A
NURBS curve becomes a B-spline curve!!!
Similarly, a NURBS surface is also defined by its orders,
the numbers of control points, the knots, the control points
and the corresponding weights.

Tutorial #4 (W. Ma / MBE / CityU) 41 Tutorial #4 (W. Ma / MBE / CityU) 42


2. NURBS curve modification 3: Béziers, B-Splines and NURBS

 When all the weights of NURBS are the same, a NURBS


curve or a surface then becomes a B-spline curve or
surface.

 If k=n, and a special set of knots

{0
.0 0,
, 0.  , 0
.0, 10
. ,
10
.
, 
 ,
10
.}
k times k times

is used, a B-spline curve becomes a Bézier curve.

 Similarly, a B-spline surface is actually a Bézier surface


if k u  nu , k v  nv , and special knots

{0
.0 ,  
, 0.0  , 0
.0, 10
. ,
10
.
, 
 , 
10
.} for u-direction,
ku times ku times

{0
.0 ,  
, 0.0  , 0
.0, 10
. ,
10
., 
 , 
10
.} for v-direction
k v times k v times

are used.

 Bézier curves and surfaces are single segment curves or


single patch surfaces.

 B-Spline curves and surfaces are generalization of Bézier


curves and surfaces. They are properly connected
piecewise curve segments or surface patches.

 NURBS is a further generalization of B-splines, with which


conical shapes can also be exactly defined.

Tutorial #4 (W. Ma / MBE / CityU) 43 Tutorial #4 (W. Ma / MBE / CityU) 44


4. A 90 degree arc and a complete circle
of radius r on a plane z=h. 5. Rotational surface

Given a NURBS curve in 3D space defined by a set of knots


{0.0, 0.0, 0.0, 1.0, 1.0, 1.0} with n=3, k=3, and a set of control points
Both are defined by P1  1,0,0 , P2   2,0,5 , P3  1,0,10 with corresponding weights
T T T

w={1.0, 2.0, 1.0}, find a NURBS representation for defining


n a surface of revolution around the z-axis.
 wi vi Bi (t )
c( t )  i 1 How about the case with an arbitrary rotational axis?
n
 wi Bi (t ) The solution:
i 1

For a 90 degree arc: The curve is in the xz-plane, and


the rotational surface is to be created around the z-axis.
k=3, n=3,
We set:
  n k
t i i 1  {0.0, 0.0, 0.0, 1.0, 1.0, 1.0},
the u order k u  k  3 ,

 v i  in1 = { [r, 0, h], [r, r, h], [0, r, h] } the u number of control points nu  n  3,

 wi  in1 = { 1, 2 , 1 }.
2 the u knots  t ui  inu1 ku  {0.0, 0.0, 0.0, 1.0, 1.0, 1.0}.

For a complete circle: The rotational direction is then the v-direction. To be rotational,
the v-knots must be a set of knots which can define a circle. We
k=3, n=9, use the following v knots:

 t vj  j1
nv  k v
 ti  in1k  {0.0, 0.0, 0.0, 0.25, 0.25, 0.5, 0.5, 0.75, 0.75, 1.0, 1.0, 1.0},  {0.0, 0.0, 0.0, 0.25, 0.25, 0.5, 0.5, 0.75, 0.75, 1.0, 1.0, 1.0}.

 v i  in1 = { [r, 0, h], [r, r, h], [0, r, h], [-r, r, h], with v order k v  3,
[-r, 0, h], [-r, -r, h], [0, -r, h], [r, -r, h], [r, 0, h]
} and v number of control points nv  9 ,

i.e., a set of knots for defining a circle using 4 times 90 degree


 wi  in1 = { 1, 2 2 , 1, 2 2 , 1, 2 2 , 1, 2 2 , 1 }. circular arcs.

Tutorial #4 (W. Ma / MBE / CityU) 45 Tutorial #4 (W. Ma / MBE / CityU) 46


From the third control point P3  1,0,10
The control points and the corresponding weights can be T

defined by transforming the three control points and their and the corresponding weight w1  1 , we obtain the
corresponding weights into three circles respectively
transformed control points and weights for defining a circle of
with z-axis being their axis.
radius r=1 in the z=10 plane as the second row of control points
for defining the rotational surface, i.e.
From the first control point P1  1,0,0
T

and the corresponding weight w1  1 , we obtain the


 v 3 j  j1
nv
= { [1,0,10], [1,1,10], [0,1,10], [-1,1,10],
transformed control points and weights for defining a circle of
radius r=1 in the z=0 plane as the first row of control points for [-1,0,10], [-1,-1,10], [0,-1,10], [1,-1,10], [1,0,10]
defining the rotational surface, i.e. }

 v 1 j  j1  w3 j  j1
nv nv
= { [1,0,0], [1,1,0], [0,1,0], [-1,1,0], = w3  { 1, 2 , 1, 2 , 1, 2 , 1, 2 , 1 }
2 2 2 2
[-1,0,0], [-1,-1,0], [0,-1,0], [1,-1,0], [1,0,0] } = { 1, 2 , 1, 2 , 1, 2 , 1, 2 , 1 }.
2 2 2 2

 w1 j  j1
nv
= w1  { 1, 2 , 1, 2 , 1, 2 , 1, 2 , 1 }
2 2 2 2
2 , 1, 2 , 1, 2 , 1, 2 , 1 }. The rotational surface is then defined by
= { 1, 2 2 2 2
nu nv
  wij v ij Bui (u) Bvj (v)
i 1 j 1
From the second control point P2   2,0,5 p (u, v ) 
T
nu nv
and the corresponding weight w2  2 , we obtain the   wij Bui (u) Bvj (v)
i 1 j 1
transformed control points and weights for defining a circle of
radius r=2 in the z=5 plane as the second row of control points
for defining the rotational surface, i.e. In case of an arbitrary rotational axis, the knots setting are the
same, and the control points are set as the control points

 v 2 j  j1
nv defining a circle in the plane perpendicular to the rotational
= { [2,0,5], [2,2,5], [0,2,5], [-2,2,5], axis. The radius of the circle is the distance from that control
[-2,0,5], [-2,-2,5], [0,-2,5], [2,-2,5], [2,0,5] } point to the axis.

6. Other Special NURBS Curves & Surfaces


 w2 j  j1
nv
= w 2  { 1, 2 , 1, 2 , 1, 2 , 1, 2 , 1 }
2 2 2 2
Line, circle, conical curves, …
= { 2, 2 , 2, 2 , 2, 2 , 2, 2 , 2 }.
plane, cylinder, cone, sphere, torus, …
rotational surface.

Tutorial #4 (W. Ma / MBE / CityU) 47 Tutorial #4 (W. Ma / MBE / CityU) 48


7. Major Properties of NURBS Curves changing the weight of a control point: Corresponding curve
points move towards or away from that control point when
If all the weights are positive, NURBS has the following increase of decrease the weight!!!)
properties (same as B-splines):

 endpoint interpolation
(with non-uniform k-multiple end knots only)

 endpoint tangent vectors


(with non-uniform k-multiple end knots only)

 symmetric property
(inverse both control points and the knots)

 convex hull property


(union of convex hulls)

 geometric invariant property


(same as Bézier)

 variation diminishing property


(same as Bézier)

 Finite derivatives across interior knots, and


infinite derivatives within curve segments
(In case of multiplicity, the curve is Ck-v-1 continuous at an
interior knot with multiplicity v. For curve with no multiple
knots, i.e. with v=1, the curve is Ck-2 continuous at interior
knots.)

 Shape local control


(Each curve segment is affected by k neighboring control
points only!!!)

 Shape modification
(By moving a control point: Corresponding curve points
move following the same direction of the control point; By

Tutorial #4 (W. Ma / MBE / CityU) 49 Tutorial #4 (W. Ma / MBE / CityU) 50


Exercise 3: What are the commonly used tools for CSG tree manipulation?
DEPARTMENT OF Exercise 4: What are the commonly used tools for B-rep solid
MECHANICAL AND BIOMEDICAL ENGINEERING modelling?
CITY UNIVERSITY OF HONG KONG
Exercise 5: What are the major advantages of solid modelling
MBE4005 - Finite Element Analysis over surface modelling?
(Tutorial #5) Exercise 6: Verify the Euler-Poincaré Formula with the following two solid objects with
two penetrating holes (the figure on the right side is a cut-off illustration of
the internal structure of the object).

Tutorial #5: Solid Modelling

Exercise 1: Construct a CSG solid of the object illustrated in Figure 1 and


provide the CSG tree.

Exercise 2: Illustrate major steps for constructing a solid model of the object of Figure 2
using a B-rep solid modeller with CSG-like user interface.

Figure 3 (without internal chamber).

Figure 4 (with one internal chamber).

Figure 1. Figure 2.

Tutorial #5 & #6 (W. Ma / MBE / CityU) 51 Tutorial #5 & #6 (W. Ma / MBE / CityU) 52
1. Construct a CSG solid of the following object and 3. What are the commonly used tools for CSG tree
provide the CSG tree. manipulation.

Commonly used tools for CSG tree manipulation:

 replace/remove a primitive

 modify primitive dimensions

 modify primitive orientation

 modify primitive location

2. Illustrate major steps for constructing a solid model


of the following object using a B-rep solid modeller with
CSG-like user interface.

Tutorial #5 & #6 (W. Ma / MBE / CityU) 53 Tutorial #5 & #6 (W. Ma / MBE / CityU) 54
4. What are the commonly used tools for B-rep solid 5. What are the major advantages of solid modelling
modeling. over surface modelling?

CSG-like user interface Major advantages of solid modelling over surface modelling:

 Transformation  Very easy to use user interface for geometric modelling,


 Boolean operations
 Tree manipulation  very easy to use user interface for model modification,

Some special modelling tools provided by a B-rep modellers  sophisticated and automatic construction and
manipulation tools,
 solidify
 projection  fully automatic mass properties calculation,
 offset
 localized operations  complete and unambiguous geometric models

1. face location modifications


2. face extruding
3. face replacement
4. chamfering replacement
5. filleting

 sweep operations

1. linear sweep (translational & rotational)


2. non-linear sweep
3. hybrid sweep

Tutorial #5 & #6 (W. Ma / MBE / CityU) 55 Tutorial #5 & #6 (W. Ma / MBE / CityU) 56
Exercise 6: Verify the Euler-Poincaré Formula with the
following solid object with two penetrating holes DEPARTMENT OF
(the figure on the right side is a cut-off MECHANICAL AND BIOMEDICAL ENGINEERING
illustration of the internal structure of the object). CITY UNIVERSITY OF HONG KONG
MBE4005 - Finite Element Analysis
Answer #1: The solid has two penetrating holes and no internal
(Tutorial #6)
chamber as shown by the right cut-away figure. It has 24
vertices, 36 edges, 14 faces, 2 hole (i.e., genus is 2), 1 shells
and 18 loops (14 faces + 4). Therefore,
Tutorial #6: Properties of Geometric Models
V-E+F-(L-F)-2(S-G) = 24-36+14-(18-14)-2(1-2)=0 Exercise 1: Summarize all the following properties of geometric models.
Provide the definitions of the properties, illustrate the properties with hand
drawings, and briefly explain the physical meaning.

Curves Cross-Sectional Area 3-D Surfaces Solids

Length Y Y Y -

Area - Y Y (Y)

Volumn - - - Y

Answer #2. The following solid has a penetrating hole and an Mass (Y) (Y) (Y) Y
internal cubic chamber as shown by the right cut-away figure. It
has 24 vertices, 12*3 (cubes) = 36 edges, 6*3 (cubes) - 2 (top Centroid Y Y Y Y
and bottom openings) = 16 faces, 1 hole (i.e., genus is 1), 2
1st MoI (Y) (Y) (Y) Y
shells and 18 loops (16 faces + 2 inner loops on top and ( M xy , M zx , M yz )
bottom faces). Therefore,
2nd MoI (Y) (Y) (Y) Y
V-E+F-(L-F)-2(S-G) = 24-36+16-(18-16)-2(2-1)=0 ( I xx , I yy , I zz )

Product (Y) (Y) (Y) Y


of Initia ( I xy , I xz , I yz )

Exercise 2: Bézier curve length (see notes).

Exercise 3: 3-D surface of a torus (see notes).

Tutorial #5 & #6 (W. Ma / MBE / CityU) 57 Tutorial #5 & #6 (W. Ma / MBE / CityU) 58
DEPARTMENT OF
MECHANICAL AND BIOMEDICAL ENGINEERING
CITY UNIVERSITY OF HONG KONG
MBE4005 - Finite Element Analysis
(Tutorial #6)

Tutorial #6: Properties of Geometric Models

Exercise 1: Summarize all the following properties of geometric models.


Provide the definitions of the properties, illustrate the properties with hand
drawings, and briefly explain the physical meaning.

Curves Cross-Sectional Area 3-D Surfaces Solids

Length Y Y Y -

Area - Y Y (Y)

Volumn - - - Y

Mass (Y) (Y) (Y) Y

Centroid Y Y Y Y

1st MoI (Y) (Y) (Y) Y


( M xy , M zx , M yz )

2nd MoI (Y) (Y) (Y) Y


( I xx , I yy , I zz )

Product (Y) (Y) (Y) Y


of Initia ( I xy , I xz , I yz )

Exercise 2: Bézier curve length (see notes).

Exercise 3: 3-D surface of a torus (see notes).

Tutorial #5 & #6 (W. Ma / MBE / CityU) 58


DEPARTMENT OF CITY UNIVERSITY OF HONG KONG
MECHANICAL AND BIOMEDICAL ENGINEERING DEPARTMENT OF MANUFACTURING ENGINEERING
CITY UNIVERSITY OF HONG KONG AND ENGINEERING MANAGEMENT
MBE4005 - Finite Element Analysis MBE4005 - Finite Element Analysis
(Tutorial #7) (Tutorial #7)

Tutorial #7: Mesh Generation Tutorial #7: Mesh Generation

Exercise 1. Illustrate the following types of meshes with hand drawings: triangle Exercise 1. Illustrate the following types of meshes with hand drawings:
mesh, quadrilateral meshes, tetrahedron meshes, pentahedron meshes triangle mesh, quadrilateral meshes, tetrahedron meshes,
and hexahedron meshes. pentahedron meshes and hexahedron meshes.

Exercise 2. Briefly summarize the geometric meaning of a voronoi diagram. Hints: See slides.

Exercise 3. Briefly summarize the main properties of a Delaunay triangulation.

Exercise 4. Given a set of randomly distributed points on a 2D plane, find a


Delaunay triangulation using the following algorithm/criteria:

 Circumcircle criteria,
 Mini-max criteria,
 Max-min criteria.

Based on the Delaunay triangulations, construct a Voronoi diagram.

Exercise 5. Briefly summarize key surface meshing techniques.

Exercise 6. Briefly summarize key volume meshing techniques.

Tutorial #7 (W. Ma / MBE / CityU) 59 Tutorial #7 (W. Ma / MBE / CityU) 60


Exercise 2. Briefly summarize the geometric meaning of a voronoi diagram. Exercise 3. Briefly summarize the main properties of a Delaunay
triangulation.
Voronoi diagram: Given a finite set of points in the plane, the idea is to assign to each
point a region of influence in such a way that the regions decompose the plane. To A Delaunay triangulation has the following properties:
describe a specific way to do that let S  R 2 be a set of n points p  R 2 and define
the Voronoi region of p  S as the set of points x  R 2 that are at least as  Two closest points are always connected together (by a Delaunay edge).
 The circumcircle of a Delaunay triangulation does not contain any other vertices.
close to p as to any other point in S:
 The triangulation is optimal and no further edge swapping is possible using a

V p  x  R 2 | x  p  x  q , q  S  mini-max criteria or a max-min criteria.

The following is an example of a Delaunay triangulation for seven planar points.


See Figure 1 for an illustration.

Figure 2: A Delaunay triangulation and its dual voronoi diagram (The Voronoi edges
are dotted and the dual Delaunay edges are solid).
Figure 1: Seven points which define the same number of Voronoi regions. One of the
regions is bounded because the defining point is surrounded by others. Exercise 4. Given a set of randomly distributed points on a 2D plane, find a
Delaunay triangulation using a point insertion algorithm and the
following criteria:

 Circumcircle criteria,
 Mini-max criteria,
 Max-min criteria.

Based on the Delaunay triangulations, construct a Voronoi diagram.

Hints: Please pick up 10 points on a piece of paper and construct a Delaunay


triangulation with different approaches.

Tutorial #7 (W. Ma / MBE / CityU) 61 Tutorial #7 (W. Ma / MBE / CityU) 62


Exercise 5. Briefly summarize key surface meshing techniques.

Many of today's mesh generation problems involve the formation of elements on


arbitrary three-dimensional surfaces. These surfaces are typically represented by
NURBS, which have been generated within a commercial CAD package. The
resulting surface elements can either be used directly as structural shell elements, or
used as input to a volumetric mesh generator. Surface mesh generation algorithms can
be classified as either parametric space or direct 3D.

Parametric Space: Parametric space algorithms will form elements in the two-
dimensional parametric space of the surface. Since all NURBS surfaces have an
underlying uv representation, it can often be efficient to mesh in two dimensions and
as a final step, map the uv coordinates back to world space, xyz coordinates. The
drawback to this method is that the elements formed in parametric space may not
always form well-shaped elements in three dimensions once mapped back to the
surface. To resolve this, parametric surface meshers can do one of two things:

1) modify or reparamaterize the underlying parametric representation so there is a


reasonable mapping from parametric space to world space; or
2) modify the mesh generation algorithm so that stretched or anisotropic elements
meshed in 2D will map back to well-shaped, isotropic elements in 3D.

Direct Approaches: Direct 3D surface mesh generators form elements directly on the
geometry without regard to the parametric representation of the underlying geometry.
In some cases where a parametric representation is not available or where the surface
paramaterization is very poor, direct 3D surface mesh generators can be useful. One
of the approaches is called an advancing front approach for arbitrary 3D surfaces. In
this method surface normals and tangents must be computed in order to compute the
direction of the advancing front. In addition, a significant number of surface
projections are required to ensure that new nodes remain on the surface. Also of
significance is the increased complexity of the intersection calculations required to
ensure that triangles on the surface do not overlap.

Exercise 6. Briefly summarize key volume meshing techniques.

 Parametric space transformation for (analytical solid model):


o Mesh in (u, v, w) space and then apply (u, v, w)  (x, y, z) mapping.

 Direct 3D volume meshing:


o B-rep solid model: Boundary surface meshing  volume meshing using
techniques, such as advancing front/normal/layer …
o CSG solid model: CSG solid  B-rep solid  volume meshing from B-rep
o Other direct approaches, such as feature-based volume meshing  volume
mesh Boolean operations.

Tutorial #7 (W. Ma / MBE / CityU) 63


n
1. Given a B-spline curve r (t )   v i Bi , k (t ) defined by the following set of knots
i 1
{-0.2, -0.1, 0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.1}
MBE4005 - Finite Element Analysis with k=4 and a set of n=10 control points v i  R 3 for i=1, 2, ..., n.
(Supplement for Tutorial #3)
Split the entire curve into two new B-spline curves at parameter t=0.5
and provide full details for each of the new B-spline curves, including
Supplementary Exercise for Tutorial #3: B-spline Curves and Surfaces.  the order,
n
 the number of control points,
1. Given a B-spline curve r (t )   v i Bi , k (t ) defined by the following set of knots  the set of knots,
i 1  the set of control points, and
{-0.2, -0.1, 0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.1}  parameter range.
with k=4 and a set of n=10 control points v i  R 3 for i=1, 2, ..., n.
Provide reasons that lead to your conclusions.
Split the entire curve into two new B-spline curves at parameter t=0.5
and provide full details for each of the new B-spline curves, including Answer: The curve can be splitted at t=0.5 into two independent B-spline curves.
 the order,
 the number of control points, (1) When solve this question, may use hand drawing to illustrate how the curve is split
 the set of knots, into two (or extracted) by drawing the two curves with control polygon and indicating
the curve segments and shared control points.
 the set of control points, and
 parameter range.

Provide reasons that lead to your conclusions.

Hints/Notes:

You may also extract a piece of the curve as another B-spline curve.
See slides on B-splines (pp. 14-18) for splitting a B-spline curve
into multiple segments (applicable to any knots, uniform, non-uniform, or multiple) n
or joining two curves into s single B-spline curve (for global uniform knots). t r (t )   v i Bi , k (t )
i 1

The answers explained in the following pages for curve splitting apply to ALL types
of knots, such as uniform, global uniform, non-uniform or multiple knots.

However, the approach for joining curves shown in slides pp. 14-18 (mainly on pp.
18) is ONLY applicable to global uniform knots, which is easy to handle (there are
also other conditions, but we did not discuss during the lecture). k=4

B1(t) B2(t) B3(t) B4(t) B5(t) B6(t) B7(t) B8(t) B9(t) B10(t)

-0.2 -0.1 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 1.1

tk  t4 t n 1  t11

FEA / Supplementary Exercises (W. Ma / MBE / CityU) iii FEA / Supplementary Exercises (W. Ma / MBE / CityU) iv
(2) The parameter range of the original curve is [tk, tn+1] = [0.1, 0.8]. (7) In a similar way, one can also extract the second curve from the original curve.

(3) If the curve is split at t=0.5, it will be split into two pieces with parameter ranges as n
The second curve q(t )   q j B j , k (t ) is defined by
[0.1, 0.5] and [0.5, 0.8], respectively. j 1

 order k=4 (same as the original curve), and


(4) You may then identify which basis functions within each region are non-zero.
 the number of control points n=6.
For the first piece within [0.1, 0.5], the non-zero basis functions are {B1, B2, …, B7}.
 a sub set of the original knots: {0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.1}
This implies that this piece will be defined/affected by the first 7 control points
 a sub set of the original control points: q j  v j  4  R 3 for i=j+4=5, 6, 7, 8, 9, 10
v i  R 3 for i=1, 2, 3, 4, 5, 6, 7.
 The parameter range is [0.5, 0.8].
(5) You may further identify what knots will define/affect the above basis functions.
They are {-0.2, -0.1, 0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8}.

(6) After sorting out the information, you can now define the first piece

n t
The first piece of curve p(t )   pi Bi , k (t ) is defined by n
i 1 q(t )   q j B j, k (t )
j 1
 order k=4 (same as the original curve),
 the number of control points n=7,
 a sub set of the original knots: {-0.2, -0.1, 0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8}
 a sub set of the original control points: p i  v i  R 3 for i=1, 2, 3, 4, 5, 6, 7
 the parameter range is [0.1, 0.5].

k=4

B1(t) B2(t) B3(t) B4(t) B5(t) B6(t) B7(t) B8(t) B9(t) B10(t)
n
t p(t )   p i Bi , k (t )
i 1

-0.2 -0.1 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 1.1

tk  t4 t n 1  t 6
k=4

B1(t) B2(t) B3(t) B4(t) B5(t) B6(t) B7(t) B8(t) B9(t) B10(t)
(8) The two curves share 2k-1=7 knots and k-1=3 control points at the splitting end.
The principle is the same as that for defining a closed B-spline curve using periodical
knots (global uniform knots).

-0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 1.1
(9) You may also extract any piece of the original curve, such as a piece defined
within [0.4, 0.7], as another B-spline curve.
tk  t4 t n 1  t8

FEA / Supplementary Exercises (W. Ma / MBE / CityU) v FEA / Supplementary Exercises (W. Ma / MBE / CityU) vi
2. Given two B-spline curves defined by Answer: The two curves can be connected at the meeting end in two steps: (1) through knots
3 transformation; and (2)-(5) with an approach for connecting two curves with multiple end
p(t )   pi Bi ,3 (t ) with k=3 and knots {0.0, 0.0, 0.0, 1.0, 1.0, 1.0} for 0 ≤ t ≤ 1.0; knots presented in the slides on pp. 10-13 on B-slines.
i 1
and
4 (1) Preliminaries – knots transformation: Given a B-spline curve or surface, one may
q(t )   q i Bi ,3 (t ) with k=3 and knots {0.0, 0.0, 0.0, 0.5, 1.0, 1.0, 1.0} for 0 ≤ t ≤ 1.0 apply the following transformation to the set of knots without altering the shape of
i 1 the curve or the surface. The only change to the curve or surface is the
as shown in the following figure, where p 3  q1 and p 2 , p 3 , q1 , q 2 are collinear. parametrizatoin:
n
Represent the above two curves by a single B-spline curve as r (t )   v i Bi , k (t ) .  equal translation to ALL knots, and
i 1
 equal scaling to ALL knots.
Provide all the parameters for defining the B-spline curve r (t ) and indicate:

 the order, Example 1:


 the number of control points, The 1st curve of this example is defined with knots {0, 0, 0, 1, 1, 1}.
 the set of knots,
 the set of control points, and
 parameter range.
n

Provide reasons that lead to your conclusions. p(t )   pi Bi,k (t )


i 1

q4 t
tn 1  t4  1.0
n
t k  t 3  0 .0
p2 q(t )   q j B j , k (t )
j 1

After equal knots scaling with ti  0.5  ti , the original set of knots is transformed
q1 to a new set of knots {0, 0, 0, 0.5, 0.5, 0.5}.
p1 q3
n p3
After the transformation, the curve remains unchanged, but the parametrization
t p(t )   pi Bi, k (t ) t
has been changed as shown in the following figure.
i 1

q2
n
p(t )   pi Bi,k (t )
i 1

Hints/Notes: See slides on B-splines pp. 10-13 for joining two B-spline curves with
multiple end knots.
t
The answers explained in the following pages
tn 1  t4  0.5
are ONLY applicable to curves t k  t 3  0 .0
having the same order AND defined using k-multiple end knots at the meeting end.

FEA / Supplementary Exercises (W. Ma / MBE / CityU) vii FEA / Supplementary Exercises (W. Ma / MBE / CityU) viii
(2) After the above knots transformation, the original B-spline curves become
Example 2:
tn 1  t5  1.0 3

The 2nd curve of this example is defined p(t )   pi Bi ,3 (t ) with k=3 and knots {0.0, 0.0, 0.0, 0.5, 0.5, 0.5} for 0 ≤ t ≤ 0.5;
i 1
with knots {0, 0, 0, 0.5, 1, 1, 1}.
and
4
q(t )   q i Bi ,3 (t ) with k=3 and knots {0.5, 0.5, 0.5, 0.75, 1.0, 1.0, 1.0} for 0.5 ≤ t ≤ 1.0
n i 1
q(t )   q j B j , k (t )
as shown in the following figure, where p 3  q1 and p 2 , p 3 , q1 , q 2 are collinear.
j 1

t n 1  t 5  1 . 0
t
q4
t k  t 3  0 .0
n
p2 q(t )   q j B j , k (t )
j 1
After equal knots translation with ti  ti  1.0 , the original set of knots is transformed
to a new set of knots {1, 1, 1, 1.5, 2, 2, 2}.
tn 1  t5  2.0 q1 tk  t3  0.5
p1 q3
After the transformation, n p3
the curve remain unchanged, t p(t )   pi Bi, k (t ) t
but the parametrization i 1

has been changed as shown t k  t 3  0 .0 tn 1  t4  0.5


in the right figure. q2
n
q(t )   q j B j , k (t )
j 1
(3) We can then combine the knots as follows (similar to the slides on pp. 10):

{0.0, 0.0, 0.0, 0.5, 0.5, 0.5}  {0.5, 0.5, 0.5, 0.75, 1.0, 1.0, 1.0}
t k  t 3  1 .0  {0.0, 0.0, 0.0, 0.5, 0.5, 0.75, 1.0, 1.0, 1.0} for 0.0 ≤ t ≤ 1.0

(4) With the new set of knots, n+k = 9, k=3, n=6.


One can further apply knots scaling with ti  0.5  ti , the original set of knots
As p3  q1 , we can define
will be transformed to a new set of knots tn 1  t5  1.0
{0.5, 0.5, 0.5, 0.75, 1,0, 1.0, 1.0}. v1  p1 , v 2  p 2 , v 3  p 3  q1 , and v 4  q 2 , v 5  q 3 , v 6  q 4

After the transformation, the curve remain unchanged, as the set of control points for the new curve after connection.
but the parametrization has been changed as shown
in the right figure

n
q(t )   q j B j , k (t )
j 1

t k  t 3  0 .5

Note: One may apply a single transformation ti  0.5  ti  1.0  ,


which produces the same results.

FEA / Supplementary Exercises (W. Ma / MBE / CityU) ix FEA / Supplementary Exercises (W. Ma / MBE / CityU) x
(5) The two curves are finally defined as a single B-spline curve

n
r (t )   v i Bi , k (t )
MBE4005 - Finite Element Analysis
i 1 (Supplement for Tutorial #7)

with k=3, n=6,


knots {0.0, 0.0, 0.0, 0.5, 0.5, 0.75, 1.0, 1.0, 1.0} for 0.0 ≤ t ≤ 1.0, Supplementary Exercise for Tutorial #7: Mesh generation.
and a set of control points v i i 1 defined in (4).
6

1. Given a group of seven surfaces as shown in the following figure, use hand drawings
and briefly explain how to use the parametric approach for surface mesh generation
for the entire area covered by all the surfaces in 3D space.

tn 1  t7  1.0
v6

v2

v1 v3 v5
t

t k  t 3  0 .0 t4  0.5
v4

Note: As there is no unique solution for knots transformation, you may obtain other solutions
for defining the same curve as shown in the above figure. x y

FEA / Supplementary Exercises (W. Ma / MBE / CityU) xi FEA / Supplementary Exercises (W. Ma / MBE / CityU) xii
Hints/Answers:
Similar to the parametric approach for single surface mesh generation (See A as follows), a (B). For a group of surfaces, a similar approach can be developed with the help of a global
unified mesh can also be produced for a group of surfaces using the parametric approach (B). mapping M1 shown in the following figure. See next page for further details about the mesh
generation algorithm.
(A). For a single surface using the parametric approach, a surface mesh can be produced
using the following procedure:

(A1) Find the mapping from the 2D parametric space to 3D physical space, i.e., the (M2) nu 1 nv 1

p1 (u1 , v1 )   pij Bi (u1 ) B j (v1 )


1
definition of the surface. While this equation is a B-spline surface, it can be any parametric
surface.  i  1 j 1

 nu 2 n v 2
nu nv
p 2 (u2 , v2 )   p ij2 Bi (u2 ) B j (v2 )
p(u , v)   v ij Bi (u ) B j (v) v5 v6 v7  i 1 j 1
i 1 j 1 
 nu 7 n v 7

v p 7 (u7 , v7 )   p ij7 Bi (u7 ) B j (v7 )


u6
u5 u7
 i 1 j 1

v3 v4
p(u0, v0)
(u0, v0)
v0
u3 u4
v
p(u,v) v1 v2 p6(u6,v6)
u z u p7(u7,v7)
u0
u1 u2
(P2)
u6 v7
v6
x y
P5(u5,v5) u7
(A2) Based on the above mapping, one can then do the triangulation in the parametric (u, p1(u1,v1)
v) space first, and then map the triangulation from the parametric (u, v) space to the 3D u1  u u2  u  1 u  f (u , v) v5
u5
(M1)  ,  , ,  7 p3(u3,v3)
physical space (x, y, z), by mapping all vertices from (u, v) space to (x, y, z) space while  1
v  v  2
v  v  v7  g (u , v) v4
keeping all topological connectivity unchanged. See following figure shown with one
u4
triangle. v3
u3 P2(u2,v2)
nu nv
p(u , v)   v ij Bi (u ) B j (v) v
p1(u1,v1)
i 1 j 1
v2
z
u2
v v1
v6 u6 u1
v5 v7
p(u0, v0) u5 u7 x y
(P3)
(u0, v0)
v0 v3 v4

v u3 u4
p(u,v)
z v1 v2
u u
u0 u
(P1) u1 u2

x y

FEA / Supplementary Exercises (W. Ma / MBE / CityU) xiii FEA / Supplementary Exercises (W. Ma / MBE / CityU) xiv
(B1) In case of a group of surfaces, each surface has a local mapping, The other vertex located in the local parametric space (u4, v4) in P2 is mapped to
such as (u1, v1) in local parametric space P2 to p1 (u1 , v1 ) in physical space P3 the corresponding surface p 4 (u4 , v4 ) in the physical space P3 through the
through the respective equation of p1 (u1 , v1 ) in the mapping defined in M2. nu 4 n v 4
corresponding mapping p 4 (u4 , v4 )   pij4 Bi (u4 ) B j (v4 ) in M2.
i 1 j 1
(B2) In order to apply the parametric approach, we also need a global mapping from a  The final surface mesh for the group of surface in P3 is then defined following the
local region in the global parametric space (u, v) in P1 to the corresponding local same topological connectivity as that of the original mesh defined in the global
parametric space in P2 through the respective global to local mapping defined in M1. parametric space P1.
For instance, a local region (u2, v2) shown in the global parametric space P1 is (B4) While this example only shows complete surfaces, the approach also works for
mapped to the corresponding local parametric space (u2, v2) in P2 through the trimmed surfaces.
u  u  1
corresponding mapping  2 shown in the mapping defined in M1.
v2  v

(B3) When the mappings are properly defined, one may construct a unified surface mesh
for the group of surfaces in the physical space P3 starting from a triangulation in the
global parametric space P1. The procedure is as follows:

 Perform triangulation (or produce any other type of meshes) in the global space,
such as the triangle shown in the global parametric space P1.

Note that two vertices of this triangle are located in the local region of (u3, v3) in
the global parametric space P1 and the third vertex is located in the local region
of (u4, v4) in the global parametric space P1.

 Vertices of the triangulation in the global parametric space P1 are further mapped
to the corresponding local parametric space in P2 through respective mapping
defined in M1.

Note that the two vertices located in the region of (u3, v3) in the global parametric
space P1 are mapped to the corresponding local parametric space (u3, v3) in P2
u  u
through the corresponding mapping  3 in M1.
v3  v  1

The other vertex located in the region of (u4, v4) in the global parametric space P1
is mapped to the corresponding local parametric space (u4, v4) in P2 through the
u  u  1
corresponding mapping  4 in M1.
v4  v  1

 The mapped vertices in the local parametric space P2 are further mapped to the
physical space P3 through the respective mapping defined in M2.

The two vertices located in the local parametric space (u3, v3) in P2 are mapped to
the corresponding surface p3 (u3 , v3 ) in the physical space P3 through the
nu 3 n v 3
corresponding mapping p3 (u3 , v3 )   p3ij Bi (u3 ) B j (v3 ) in M2.
i 1 j 1

FEA / Supplementary Exercises (W. Ma / MBE / CityU) xv FEA / Supplementary Exercises (W. Ma / MBE / CityU) xvi
1. Review of truss finite element model formulation
DEPARTMENT OF
MECHANICAL AND BIOMEDICAL ENGINEERING
CITY UNIVERSITY OF HONG KONG Our basic steps are:
MBE4005 - Finite Element Analysis
(Tutorial #8) - build a relationship for strain and nodal displacements
-d (continuity equation)

- observe the relationship between stress and strain


Agenda: FEA tutorial #1
 = E (constitutive equation)

 Review of truss finite element model formulation - virtual work principle


based on Virtual Work Principle which links external force and displacement.
U e  We
 Equivalent load force from distributed load
U e   ( ) T dV  We  {d }T { f }
 Kinematic collapse vs. equivalent member V

- after simplifying the above equation, one produces the


governing equation for a single element as
[k]{d} = {f}

- assembly all the elements will produce the final


equation for FEA …
[K]{D} = {F}

The above procedure is actually applicable to many elements


for finite element model formulation.

1 2
2. Equivalent load force from distributed load Objective: We wish to find f ei an f ej that produce equivalent
work compared with the distributed loading (work is given by
 The criterion for producing equivalent load is related to  w  F  d  F  d ).

the virtual work principle.


f ei i q j f ej
 This may be easily verified by reviewing the truss finite
element model formulation procedure. x

 For the case shown in Fig. 2.5, there is a distributed load on Solutions: Now let us first consider the work produced by
a member (see Fig. 2.5 below), distributed loading:

wq   qdx u ( x)   qu ( x)dx
e e
x x
Note that for a truss element, we have u  (1  )u1  u2
L L
1 2 Thus the work wq can be defined as

 x x 
wq   q (1  )u1  u 2 dx
e 
we have the following procedure to find the equivalent L L 
 x   x 
forces at related nodes based on the virtual work principle wq    q(1  )dx   u1    q dx   u2 (a)
 L   L 
(see next page).  e   e 
Noticing that the work produced by f ei an f ej is as follows:

w f  f ei  u1  f ej  u 2 (b)

Comparing equations (a) and (b), we have then the equivalent forces

x x
f ei   q(1  )dx , f ej   q dx
e
L e
L

3 4
3. Kinematic collapse vs. equivalent member *** Question ***
In what circumstances do we have to assign
3.1 Element assignment & kinematic collapse
more than one element on one member?

The finite element approach to mechanical structures is


usually classified into two cases:
- Member geometry (constant cross section for truss and beam elements)
- discrete structures (case -1)
- Load (loads are usually only applied at nodal positions when performing analysis)
- continuous structures (case -2)
- Material (each element should have the same material)

Example: Element selection and splitting / mesh generation

(Bicycle in page 82 essential reading book)

Discrete system finite element modelling

Element-1
Element-2
Element-3

Usually each element for one body in a physical system

5 6
Solution: 3.2 Finding an equivalent member for truss elements

 Beam element is decided to be used.

 Two possible models are shown below.

A B C

Solution:
(a) Beam assignment used in the laboratory

As we discussed in the lecture, we cannot have two elements:


one is over A-B and the other B-C, due to a kinematic
collapse with truss elements.

(b) Refined mesh We have to consider first a so called equivalent member.

The criterion for equivalence is the same stiffness.

7 8
Objective: To find an equivalent member of ABC For a two force member,

EA
F F k .
(a)
A
L
B C
As E, L are the same, we thus have
F F
(b) EAeq
A C k eq  ,
L

(a) We first consider (a) the original elements: The total or,
deformation is given by k eq L
Aeq  ,
x  x1  x2 E
F F 1 1
x    F     Aeq is often the input parameter for many FEA software
k1 k 2  k1 k 2  (such as UGII / GFEM) instead of k eq .
The overall stiffness of the two elements is
F 1 k k
k   1 2
x 1  1 k1  k 2
k1 k 2
(b) We then consider the equivalent element (b)
F
k eq 
x
Based on (a) and (b), we have
k k
k eq  1 2
k1  k 2

9 10
Modelling of Engineering Problems with FEM
DEPARTMENT OF
MECHANICAL AND BIOMEDICAL ENGINEERING
CITY UNIVERSITY OF HONG KONG
MBE4005 - Finite Element Analysis
Three aspects need to be simultaneously considered:
(Tutorial #9)

 Force: symmetric and anti-symmetric (see EX-1)

 Geometry: symmetric
Agenda: FEA tutorial #2
 Restraint: symmetric
 Modelling of Engineering Problems with FEM
(Examples)

 Assignments (2 cases) Case 1: (S=symmetric; AS=Anti-symmetric)


(See separate sheets)
(a) S

or

(b) AS

1 2
Case 3: (symmetric axies 1-1, 2-2; anti-symmetric 3-3)

Case 2:
q
1
(a) Symmetric lines 1-1, 2-2
q q
2 2

1
q 1
2 P P 2

1 q
1
Symmetric q
1
Symmetric
P
1 q

1 Symmetric

q
q
Symmetric P/2

Anti-symmetric

3 4
Case 4: The solution is given below.
Figure below shows an engineering problem, a large plate with
several holes. There are uniform distributed loads at four sides. q

Dimensions of holes as well as their arrangement are shown in the


figure as well. The question is to develop the smallest area for a finite
element model.
y q

x
q r
l

y q

r
x 1. Pick up one block-area and mark constraints (all symmetric):
l 1

l 2 2

2. Symmetry in load, geometry and constraints (1-1):


1

2 2

5 6
Assignment 1 (simple case, no decomposition needed):
3. Symmetry in load, geometry and constraints (2-2):
In Figure 2 shown below, there is a strip which is assumed as infinitive long. The thickness
of the strip is very small compared with the other dimensions of the strip. Equal sized circles
are arranged as shown in the figure. Inside the circles there is a distributed load q applied.

(a) What is the smallest area considered for developing a finite element model?
(b) Explain the boundary conditions of that smallest area.

4. Symmetry in load, geometry and constraints (3-3):


3

D t

A
3
Figure 2
B C

Boundary conditions:

AB: free boundary with (   0 ,   0 )


v
BC: symmetry (   0 , v  0 )
CD: loading attached (   0 ,   0 ) u
DA: symmetry (   0 , vt  0 )

7 8
Assignment 2 (complex case, decomposition needed): Assignment 1 (simple case, no decomposition needed):
Figure 3 shows a strip which is assumed to be infinitively long. The thickness of the strip In Figure 2 shown below, there is a strip which is assumed as infinitive long. The thickness
is very small compared with other dimensions of the strip. Equal sized circles are of the strip is very small compared with the other dimensions of the strip. Equal sized circles
arranged as shown in the figure. A distributed load acts within some circles as shown in the Figure. are arranged as shown in the figure. Inside the circles there is a distributed load q applied.
A pair of planar normal forces are applied at two ends.
(a) What is the smallest area considered for developing a finite element model?
(a) What is the smallest area considered for developing a finite element mesh model?
(b) Explain the boundary conditions of that smallest area.
(b) Explain the boundary conditions of that smallest area.

Figure 3

9 10
Hints for assignment #1: Assignment 2 (complex case, decomposition needed):
The model can be simplified as follows: Figure 3 shows a strip which is assumed to be infinitively long. The thickness of the strip
is very small compared with other dimensions of the strip. Equal sized circles are
1. Pick up one block-area and mark constraints (all symmetric): arranged as shown in the figure. A distributed load acts within some circles as shown in the Figure.
A pair of planar normal forces are applied at two ends.
1
(a) What is the smallest area considered for developing a finite element mesh model?
(c) Explain the boundary conditions of that smallest area.
2 2
q

1
2. Symmetry in load, geometry and constraints (1-1):
1

2 q 2

Figure 3

3. Symmetry in load, geometry and constraints (2-2):


A B

v E

q D
u C

Boundary conditions:

AB: free boundary with (   0 ,   0 )


BC: symmetry (   0 , u  0 )
CD: symmetry (   0 , v  0 )
DE: free boundary with [   0 ,   0 (  q) ]
EA: symmetry (   0 , u  0 )

11 12
Case A: The model can be further simplified as follows:
Hints for assignment #2:
1. Pick up one block-area and mark constraints (all symmetric):
Decompose the system into three independent sub-systems. The final/total effect will be the
integration of the three effects: 1

2 2

N q q N

1
2. Symmetry in load, geometry and constraints (1-1):
1

(A)
= 2 2

N N 1

3. Symmetry in load, geometry and constraints (2-2):


A B

(B)
+ v

u
E

D
C

q/2 q/2 q/2 q/2


Boundary conditions:

AB: free boundary with (   0 ,   0 )


BC:   0 ,   0 (  N ) , u  0

(C)
+ CD: symmetry [   0 , v  0 ]
DE: free boundary with (   0 ,   0 )
EA: symmetry [   0 ,   0 (  N ) , u  0 ]
q/2 q/2 q/2 q/2

13 14
Case B: The model can be further simplified as follows: Case C: The model can be simplified as follows:

1. Pick up one block-area and mark constraints (all symmetric): 1. Pick up one block-area and mark constraints (symmetry in geometry and constraints, anti-
symmetry in load):
1
1

2 2
q/2
2 2
q/2

1
2. Symmetry in load, geometry and constraints (1-1): 1
1 2. Symmetry in load, geometry and constraints (1-1):
1

2 q/2 2
2 q/2 2

1
1

3. Symmetry in load, geometry and constraints (2-2):


A B 3. Symmetry in load, geometry and constraints (2-2):
v A B
E
v E
u q/2 D
C q/2 D
u C

Boundary conditions:
Boundary conditions:
AB: free boundary with (   0 ,   0 )
AB: free boundary with (   0 ,   0 )
BC: symmetry (   0 , u  0 )
BC: anti-symmetry (   0 , v  0 )
CD: symmetry (   0 , v  0 )
CD: symmetry (   0 , v  0 )
DE: free boundary with [   0 ,   0  q / 2 ]
DE: free boundary with (   0 ,   0  q / 2 )
EA: symmetry (   0 , u  0 )
EA: symmetry (   0 , u  0 )

15 16
DEPARTMENT OF 2. Deriving the system equations for each of the elements shown
MECHANICAL AND BIOMEDICAL ENGINEERING below (the same figure on pp. 56) using the result of truss
CITY UNIVERSITY OF HONG KONG element (derived using the virtual work principle on pp. 43-56 for
truss element).
MBE4005 - Finite Element Analysis
(Supplementary Exercises
for FEA Tutorials)

Supplementary exercises for FEA Tutorial #1

1. Use the spring system shown below, derive the system equation
using the direct model formulation method. Based on the
resulting equations, apply boundary constraints and external
loading to simplify the system equations. Symbolically solve the
system equations for unknown displacements and unknown nodal
forces. (See pp. 11-17 for partial solution). 3. Using the assemble method to set up the entire system equation
for the example of the previous question. Apply appropriate
boundary conditions and external loading for realizing the FEA
solution. Symbolically solve the FEA problem for unknown
displacements and unknown nodal forces. (See pp. 56-63 for
related information)

1 2
5. Get familiar with the derivation of the system equations for a 2D
DEPARTMENT OF linear triangular element and a quadrilateral element, respectively
MECHANICAL AND BIOMEDICAL ENGINEERING (pp. 99-120). Explain why it is much more accurate using
CITY UNIVERSITY OF HONG KONG quadrilateral elements than using triangular elements?
MBE4005 - Finite Element Analysis
(Supplementary Exercises
for FEA Tutorials)

Supplementary exercises for FEA Tutorial #2

4. The general beam element shown on pp. 87 can be regarded as a


superposition of four simple elements, namely a truss element, two
simple beam elements with flexural deformation about y- and z-axis,
respectively, and a torsional element about the x-axis. Given the
individual system equations of all the four individual elements, use the
assembly method to derive the system equation for the general beam
element. (The answer can be found on pp. 82-89.)

6. Similar to question number 5, explain the main differences


between linear triangular elements (3 nodes) versus quadratic
triangle elements (6 nodes) (121-122).

3 4

Vous aimerez peut-être aussi