Lecture 36 - IITK - Indian Institute of Technology Kanpur

Download Report

Transcript Lecture 36 - IITK - Indian Institute of Technology Kanpur

Anupam Saxena
Associate Professor
Indian Institute of Technology KANPUR
208016
Geometric/PARAMETRIC Modeling
Solid Modeling
Modeling of
Curves
Modeling of
Surfaces
(Patches)
Perception of
Solids
Representation,
Differential
Geometry
Differential
Geometry
Topology and
Solids
Ferguson
Segments
Tensor Product
Solid Modeling 12
Bezier Segments
1-2
Boundary
Interpolating
Transformations
and Projections
1-2
B-spline curves
1-5
Composite
NURBS
NURBS
A closed, connected composite surface represents the shape of a solid.
This surface, in turn, is composed of surface patches,
aesthetics, aerodynamics, fluid flow etc. may influence surface design
Surfaces of aircraft wings and fuselage, car body and its doors,
seats, and windshields are all designed by combining surface patches
at their boundaries.
Surface patches can be modeled mathematically in parametric form as
f (u, v)  x(u, v)
x(u, v), y(u, v), z (u, v)
y(u, v) z(u, v)
u  [0,1],v  [0,1]
scalar polynomials in parameters (u, v)
Tensor product surface patches
Boundary interpolating patches
Sweep surfaces
Quadric (Analytic) surface patches
Let  and  be univariate functions such that
   i (u )i 0 ,    j (v)j 0
m
n
m
r(u, v)   Cij i (u) j (v)
n
uU and vV
Cij 3
j 0 i 0
is called a tensor product surface with domain UV
e.g. The surface is bi-quadratic for m = n = 2 and bi-cubic for m = n = 3
(u )   0 (u ) 1 (u )  (1  u ) u,

(v)   0 (v)  1 (v)  2 (v)  (1  v) 2
2v(1  v) v 2

 (1  v) 2 
C  (0,0,0) C01  (0,2,4) C02  (0,  1, 3) 

r (u, v)  [ x y z ]  (1  u ) u  00
2
v
(
1

v
)



 C10  (1,2,0) C11  (1,2,4) C12  (1,  1, 3)   v 2 


u = constant
v = constant
Generalization
n
m

r (u, v)   D ij u i v j  u m
j 0 i 0
u m1
 D mn
D
 ( m1) n
. . 1 .

 .
 D0n


D m ( n 1)
. .
D ( m1)( n1)
. .
.
. .
.
. .
D 0( n1)
. .
D m0   v n 
D ( m1) 0  v ( n1) 
.  . 


.  . 
D 00   1 
m and n are user-chosen degrees in parameters u and v
For a bi-cubic surface patch, one needs to specify 16 sets of data as
One for each Dij
control points and/or slopes
patches with degrees in u and v greater than 3 can be modeled
one can as well choose the degrees unequal in parameters
for most applications, use of bi-cubic surface patches seems adequate
3
3
r(u, v)   Cij  i (u ) j (v)
j 0 i 0
In matrix form
C 00
C
 0 (u ) 1 (u )  2 (u )  3 (u ) 10
C 20

C 30
C 01
C 02
C11
C 21
C12
C 22
C 31
C 32
0 (u )  (2u 3  3u 2  1),
1 (u )  (2u 3  3u 2 ),
 2 (u )  (u  2u  u ),
3
2
3 (u )  (u 3  u 2 )
Hermite functions
C 03   0 (v) 
C13  1 (v) 
C 23   2 (v)


C 33   3 (v) 
rv (0,1)
r01
ru (0,1)
(v =1)
(u =0)
r11
rv (1,1)
ru (1,1)
rv (0,0)
ru (0,0)
r00
(v =0)
rv (1, 0)
r10
(u =1)
ru (1, 0)
r (0,0)  C 00 ;
r (1,0)  C10 ;
ru (0,0)  C 20 ;
ru (1,0)  C 30
r (0,1)  C 01 ;
r (1,1)  C11 ;
ru (0,1)  C 21 ;
ru (1,1)  C 31
rv (0,0)  C 02 ;
rv (1,0)  C12 ;
ruv (0,0)  C 22 ;
ruv (1,0)  C 32
rv (0,1)  C 03 ;
rv (1,1)  C13 ;
ruv (0,1)  C 23 ;
ruv (1,1)  C 33
 2 r(u, v)
 ruv (0,0)
udv u 0,v 0
 2 r(u, v)
 ruv (0,1)
udv u 0,v 1
 2 r(u, v)
 ruv (1,0)
udv u 1,v 0
 2 r(u, v)
 ruv (1,1)
udv u 1,v 1
Ferguson’s patch
 r (0,0) r (0,1) rv (0,0) rv (0,1)   0 (v) 
 r (1,0)
  (v) 
r
(
1
,
1
)
r
(
1
,
0
)
r
(
1
,
1
)
v
v
 1 
r (u , v)   0 (u ) 1 (u )  2 (u ) 3 (u )
ru (0,0) ru (0,1) ruv (0,0) ruv (0,1)  2 (v)



r
(
1
,
0
)
r
(
1
,
1
)
r
(
1
,
0
)
r
(
1
,
1
)

(
v
)
u
uv
uv
 u
 3 
= UMGMT VT
Geometric matrix
Ferguson coefficient matrix
A simple Ferguson Bicubic Patch
 (6,0,0) (6,0,6) (0,0,6) (0,0,6)
 (0,6,0) (0,6,6) (0,0,6) (0,0,6)

G
 (0,5,0)
(0,5,0)
0
0 


0
0 
(5,0,0) (5,0,0)
Specifying twist vectors is
not easy; we assign them 0
values
6
4
2
0
6
4
2
r(u, v) = UMGMT VT =

  7u
[ 7u 3 13u 2  6 ,
2
3
 6v]
 8u 2  5 ,
0 6
4
0
A simple Ferguson Bicubic Patch
(0,0,6)
(0,0,6) 
 (6,0,0) (6,0,6)
 (0,6,0) (0,6,6)

(
0
,
0
,
6
)
(
0
,
0
,
6
)

G
 (0,5,0) (0,5,0)
(100,0,100) (100,0,100)


(

5
,
0
,
0
)
(

5
,
0
,
0
)
(

100
,
0
,

100
)
(
100
,
0
,
100
)


10
5
0
0
-5
15
2
10
4
5
0
6