Tải bản đầy đủ (.pdf) (25 trang)

Báo cáo môn học : Mô hình hóa hình học Đề tài : Tái tạo mặt cong B-spline

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (877.12 KB, 25 trang )

Tiểu luận môn: Mô hình hóa hình học GVHD: TS. Nguyễn Tấn Khôi
Học viên thực hiện: Nguyễn Minh Quỳnh-Ngô Văn May Trang 1








tái tạo mặt cong B-spline đều bậc 3 từ một tập điểm đã cho

 phê
 
Chúng em  
chúng em 

Đà Nẵng, ngày 05 tháng 02 năm 2014














Tiểu luận môn: Mô hình hóa hình học GVHD: TS. Nguyễn Tấn Khôi
Học viên thực hiện: Nguyễn Minh Quỳnh-Ngô Văn May Trang 2


 1
I.  3
 3
 5
 5
II. -SPLINE 6
 cong Bezier 6
 7
-spline 9
-spline 9
III. TÁI  I TNG B-SPLI    
 9
III.1. Tái tng cong B-spline i qua m t im ch 9
-spline 11
 11
 14
-
 20
 25






Tiểu luận môn: Mô hình hóa hình học GVHD: TS. Nguyễn Tấn Khôi

Học viên thực hiện: Nguyễn Minh Quỳnh-Ngô Văn May Trang 3
I. CONG BEZIER


      

               ình dáng



- 

-

I.1. 


   
n
n
kk
k0
P t P .B t





 
n

k
Bt

   
 
 
n k n k
n k k k
kn
n!
B t C . 1 t .t 1 t .t
k! n k !

   

 k,
 
n
n
k
k1
B t 1





 
n
k

Bt

(blending function).






Tiểu luận môn: Mô hình hóa hình học GVHD: TS. Nguyễn Tấn Khôi
Học viên thực hiện: Nguyễn Minh Quỳnh-Ngô Văn May Trang 4


 

 
n
Bt

P

       
n n n n
0 1 n
B t B t B t B t



 
0 1 n

P P P P


   
nT
P t B t .P


 
n
k
Bt

 
 
n n 0 1 n
k 0 1 n 0 1 n
B a a .t a .t t ,t , ,t . a ,a , ,a    


   
n n T
P t Pow t .Bez .P


*
 
 
n 0 1 n
Pow t t ,t , ,t

.


 
n
i
Bt

   
ji
n i j
ni
Bez i, j 1 .C .C


.

3
1 0 0 0
3 3 0 0
Bez
3 6 3 0
1 3 3 1













P
1
1
P
1

P
0
1
P
1

P
0
2
P
2

Tiểu luận môn: Mô hình hóa hình học GVHD: TS. Nguyễn Tấn Khôi
Học viên thực hiện: Nguyễn Minh Quỳnh-Ngô Văn May Trang 5
I.2. Các tính  

+ 
+ 




+ 


+ 



+             

+ 
Pk.
 
 
 
n1
'
n1
k k k k 1 k
k0
P t n. P .B t , P P P




    

.
I.3. t cong Bezier



       
 
       
S u,v X u,v ,Y u,v ,Z u,v) S u,v i.X u,v j.Y u,v k.Z u,v    
               




     
mn
mn
i,k i k
i 0 k 0
P u,v P .B u .B v





Tiểu luận môn: Mô hình hóa hình học GVHD: TS. Nguyễn Tấn Khôi
Học viên thực hiện: Nguyễn Minh Quỳnh-Ngô Văn May Trang 6
 
   


 
i

Pu


không gian.




II.  B-SPLINE
II.1. 
 


 



 
n
k
Bt



 
n
k
Bt

 t  







 
              
polynomial).

Tiểu luận môn: Mô hình hóa hình học GVHD: TS. Nguyễn Tấn Khôi
Học viên thực hiện: Nguyễn Minh Quỳnh-Ngô Văn May Trang 7

 
 
 
 
 
   
 
2
2
2
1
a t t 0,1
2
33
g t b t t 1,2
42
1

c t 3 t 2,3
2






   








coù giaù mang
coù giaù mang
coù giaù mang




-1 liên



   
n

kk
k0
p t P .g t




P(t) =
k
L


0
Pk.gk(t)


 R, ti 
P(t) =
k
L


0
Pk.Rk(t)
II.2. 
Theo trên ta có:
   
n
kk
k0

P t P .R t (*)




 



Tiểu luận môn: Mô hình hóa hình học GVHD: TS. Nguyễn Tấn Khôi
Học viên thực hiện: Nguyễn Minh Quỳnh-Ngô Văn May Trang 8





        
 -

-

này là Nk,n(t).
-
   
n
k k,n
k0
P t P .N t





***TÓM LẠI
-
-1).

--Spline Nk,n(t) là:
     
k k n
k,n k,n 1 k 1,n 1
k n 1 k k n k 1
t t t t
N t .N t .N t
t t t t

  
   
   


   

   


 
k k 1
k,n
1 t t t
Nt

0 other else








-
     
mn
i,k i,m k,n
i 0 k 0
P u,v P .N u .N v




-Spline.
Tiểu luận môn: Mô hình hóa hình học GVHD: TS. Nguyễn Tấn Khôi
Học viên thực hiện: Nguyễn Minh Quỳnh-Ngô Văn May Trang 9
II.3. -spline
               
-

f(u,v) = (x(u,v),y(u,v),z(u,v)) 
II.3.1. Phương trình mặt cong B-spline

i,j

im và 0jn
-spline:
S(u,v) =


m
i 0



n
j 0
N
i,p
(u) N
i,q
(v).P
ij

u[u
0
,u
n+k
],v[v
0
,v
n+l
]
P
i,j

,  


U={u
i
, |0  i  n+k, u
0
  u
i
 u
m+p
}

V={v
j
, |0  j  m+l, v
0
  v
j
 v
n+l
}
 
 : S(u,v) =


m
i 0




n
j 0
N
i,3
(u) N
i,3
(v).P
ij

III. TÁI  I TNG B-SPLINE    

III.1. Tái tng cong B-spline i qua m t im ch
T các im nm trên ng cong, ta s tìm tp các im kim soát ca chúng. Bài
toán có thc miêu t nh sau:
Tiểu luận môn: Mô hình hóa hình học GVHD: TS. Nguyễn Tấn Khôi
Học viên thực hiện: Nguyễn Minh Quỳnh-Ngô Văn May Trang 10

Xác nh các im kim soát da trên mt s im ã bit nm trên ng cong. Nu
các im  bit thu ng cong thì ta có:




k  n+l
 
[P] = [N][B] (*)

t
j


-t
j

j+1 
b 
Tiểu luận môn: Mô hình hóa hình học GVHD: TS. Nguyễn Tấn Khôi
Học viên thực hiện: Nguyễn Minh Quỳnh-Ngô Văn May Trang 11

t
max

 k  n+l  

[B] = [N]
-1
[P]
 k  n+l  j+l (n<

[P] = [N][B]
[N]
T
[P] = [N]
T
[N] [B]
[B] = [[N]
T
[N]] [N]
T
[P]

-spline
III.2.1. Phương pháp Nội suy
N suy là thut toán dng ng cong áp ng chính xác liu cho trc 
qua   m và áp ng vector o hàm tim liên quan.
N suy g hai phng pháp:
 suy toàn cc (Global Interpolation)
 suy c b(Local Interpolation)
a. Nội suy toàn cục đường cong

B-

-




.
Tiểu luận môn: Mô hình hóa hình học GVHD: TS. Nguyễn Tấn Khôi
Học viên thực hiện: Nguyễn Minh Quỳnh-Ngô Văn May Trang 12
cong B-

- 
k


k

k



- spline trên (N0,p(u),



    

     
k
và P
i
        


k
= [dk1,
 


Ta có: D
i
= N.P
i

Tiểu luận môn: Mô hình hóa hình học GVHD: TS. Nguyễn Tấn Khôi
Học viên thực hiện: Nguyễn Minh Quỳnh-Ngô Văn May Trang 13

 B-spline có n+1

b. Nội suy toàn cục mặt cong


- 

-











là, Qi0, Qi1, -

 hàng i c



-
-




Tiểu luận môn: Mô hình hóa hình học GVHD: TS. Nguyễn Tấn Khôi
Học viên thực hiện: Nguyễn Minh Quỳnh-Ngô Văn May Trang 14
III.2.2. Phương pháp Xấp xỉ






 


phép .

Cách 1:
1. Chn s u khin ti thiu
2. Dng cong xp x i suy toàn cc
3. Ki sai lch cng cong xp x ti mm d liu
4. N sai lch nc l
u khin và tr v c 2.
Cách 2:
1. Chn s u khii l ng cong xp x c tính toán
ng sai s 
2. Dng cong xp x i suy toàn cc
3. Ki chính xác cng cong xp x ti mm d liu
4. N sai lch lcho phép, tr lng cong xp x 
c li, gim s u khin và tr lc 2.









Tiểu luận môn: Mô hình hóa hình học GVHD: TS. Nguyễn Tấn Khôi
Học viên thực hiện: Nguyễn Minh Quỳnh-Ngô Văn May Trang 15
a. Xấp xỉ toàn cục đường cong
 
0
, D
1

n
p h, sao cho
n>h≥p≥l, -
i


- 
- 


0
, t
1

n
}.
-spline : C(u) =


h
i 0
N

i,p
(u).P
i

D
0
= C(0) = P
0
D
n
= C(1) = P
h

i
-Ta có:
C(u) = N
0,p
(u)D
0
+ (



1
1
h
i
N
i,p
(u)P

i
) + N
h,p
(u).D
n

k
 C(t
k
 :
D
k
 C(t
k
) = Dk  [N
0,p
(t
k
)D
0
+ (



1
1
h
i
N
i,p

(t
k
)P
i
) + N
h,p
(t
k
).D
n
]
= (D
k
 N
0,p
(t
k
)D
0
 N
h,p
(t
k
)D
n
)  (



1

1
h
i
N
i,p
(t
k
)P
i
)

0
, D
k
, D
n
, N
0,p
(t
k
) và N
h,p
(t
k

0,p
(u) và N
h,p
(u)t
k


 Q
k
= D
k
 N
0,p
(t
k
)D
0
 N
h,p
(t
k
)D
n

f()  :
f(p
1

h-1
) =



1
1
h

i
|Q
k
 (



1
1
h
i
N
i,p
(t
k
)P
i
)|
2

               
2
.





Q
k

 (



1
1
h
i
N
i,p
(t
k
)P
i
)|
2
= ( Q
k
 (



1
1
h
i
N
i,p
(t
k

)P
i
)) * ( Q
k
 (



1
1
h
i
N
i,p
(t
k
)P
i
))
Tiểu luận môn: Mô hình hóa hình học GVHD: TS. Nguyễn Tấn Khôi
Học viên thực hiện: Nguyễn Minh Quỳnh-Ngô Văn May Trang 16
= Q
k
Q
k
 2(



1

1
h
i
N
i,p
(t
k
)P
i
) Q
k
) + (



1
1
h
i
N
i,p
(t
k
)P
i
)* (



1

1
h
i
N
i,p
(t
k
)P
i
)
Hàm f()  :
f(p
1

h-1
) =



1
1
n
i
[Q
k
Q
k
 2(




1
1
h
i
N
i,p
(t
k
)P
i
) Q
k
)+(



1
1
h
i
N
i,p
(t
k
)P
i
)* (




1
1
h
i
N
i,p
(t
k
)P
i
)]
f() { p
1

h-1
f() 

g

k
và N
i,p
(t
k

g






(Q
k
Q
k
) = 0



(N
i,p
(t
k
)P
i
) Q
k
) = N
i,p
(t
k
)



Q
k

 i=g :




(



1
1
h
i
N
i,p
(t
k
)P
i
) Q
k
) = N
g,p
(t
k
)Q
k
(fg)’ = f*g + f*g’



(




1
1
h
i
N
i,p
(t
k
)P
i
) (



1
1
h
i
N
i,p
(t
k
)P
i
)
= (




1
1
h
i
N
i,p
(t
k
)P
i
) (



1
1
h
i
N
i,p
(t
k
)




)+ (




1
1
h
i
N
i,p
(t
k
)




) (



1
1
h
i
N
i,p
(t
k
)P
i

)
= 2(



1
1
h
i
N
i,p
(t
k
)




) (



1
1
h
i
N
i,p
(t
k

)P
i
)

i
, P
g


g
là :



(



1
1
h
i
N
i,p
(t
k
)P
i
) (




1
1
h
i
N
i,p
(t
k
)P
i
) = 2 N
g,p
(t
k
) (



1
1
h
i
N
i,p
(t
k
)P
i

)
f() 
g



= -2 N
g,p
(t
k
)Q
k
+ 2 N
g,p
(t
k
) (



1
1
h
i
N
i,p
(t
k
)P
i

)
Ta có :



1
1
h
i
N
g,p
(t
k
)



1
1
h
i
N
i,p
(t
k
)P
i
=




1
1
h
i
N
g,p
(t
k
)Q
k

Do có (h--1 và (h-
Tiểu luận môn: Mô hình hóa hình học GVHD: TS. Nguyễn Tấn Khôi
Học viên thực hiện: Nguyễn Minh Quỳnh-Ngô Văn May Trang 17
 :
P =






















Q =













1
1
n
k










1
1
n
k












1
1
n
k

















N =









































































Ta có :
- Hàng th k ca ma trn P là vecto P
k

- Hàng th k ca ma tr
- Hàng th k ca N ch các giá tr N
1,p

(u), N
2,p

h-1,p
(u) ti tham s t
k

-1)x s, (n-1)x(h-1)
và (h-
g:



1
1
n
k
N
g,p
(t
k
)




1
1
n
i

N
g,p
(t
k
)P
i =



1
1
n
i
N
g,p
(t
k
)Q
k
 :



1
1
h
i
(




1
1
n
k
N
g,p
(t
k
) N
i,p
(t
k
))P
i
=



1
1
n
k
N
g,p
(t
k
)Q
k


i
:



1
1
n
k
N
g,p
(t
k
) N
i,p
(t
k
)
 : (N
T
N).P = Q




.
 :
*Input 
0
, D

1

n
p
*Output -spline p

Tiểu luận môn: Mô hình hóa hình học GVHD: TS. Nguyễn Tấn Khôi
Học viên thực hiện: Nguyễn Minh Quỳnh-Ngô Văn May Trang 18

0

n

Let P
0
= D
0
and P
h
= D
n
for k:= 1 to h-1 do




1
1
n
k

N
i,p
(t
k
)Q
k
for k:= 1 to n-1 do
for i:= 1 to h-1 do
Tính N
i,p
(t
k

Tính M = N
T
N

i
b. Xấp xỉ toàn cục mặt cong

ij

-

ij
} () 
-
P



S(u,v) =


e
i 0


f
j 0
N
i,p
(u) N
j,q
(v)P
ij

0
, S
1

m
} 
0
, t
1

m
}

cd

 :
D
cd
= S(s
c
,t
d
) =


e
i 0


f
j 0
N
i,p
(s
c
) N
j,q
(t
d
)P
ij

cd
 :
|D

cd
- S(s
c
,t
d
)|
2

 :
f(P
00
,P
01

ef
) =


m
c 0


n
d 0
|D
cd
- S(s
c
,t
d

)|
2


ij





= 0
Tiểu luận môn: Mô hình hóa hình học GVHD: TS. Nguyễn Tấn Khôi
Học viên thực hiện: Nguyễn Minh Quỳnh-Ngô Văn May Trang 19

ij






 

ij

-spline.


 
soát { P

ij
-spline.



:

ij


-

0
,s
1

m
và nút vecto U;

0
,t
1

m
và nút vecto V;
For d:= 0 to n do /* for column d ò D */


- m d liu (D
0d

, D
1d

md
)
- Bc p
- Các tham s s
0
,s
1

m
nút vecto U
 gian Q
0d
, Q
1d

ed

End


Tiểu luận môn: Mô hình hóa hình học GVHD: TS. Nguyễn Tấn Khôi
Học viên thực hiện: Nguyễn Minh Quỳnh-Ngô Văn May Trang 20

c0
, Q
c1


cn

//
c0
, P
c1

cf
End
III.3.-
-
 

*Thuật toán:
-  
- 
- 
- thúc.





 


u,  f(x) 

i


i
theo


 
f(x) = a
0
+ a
1
x
1

m-1
x
m-1
+ a
m
x
m


i

i

i
, ta có:
y
i =
a

0
+ a
1
x
1

m-1
x
i
m-1
+ a
m
x
i
m

+ e
i
i 

i
= y
i
-


m
j 0
a
j

x
i
j
Tiểu luận môn: Mô hình hóa hình học GVHD: TS. Nguyễn Tấn Khôi
Học viên thực hiện: Nguyễn Minh Quỳnh-Ngô Văn May Trang 21



n
i 0
e
i
2
=


n
i 0
(y
i
-


m
j 0
a
j
x
i
j

)
2






k
ta có:
( y
i
-


m
j 0
a
j
x
i
j
) / a
k
= 2 (y
i
-


m

j 0
a
j
x
i
j
) (-x
i
k
) = 2( - y
i
x
i
k
+


m
j 0
a
j
x
i
j+k
)




= 2



n
i 0
( - y
i
x
i
k
+


m
j 0
a
j
x
i
j+k




m
j 0
a
j


n

i 0
x
i
j+k
=


n
i 0
y
i
x
i
k

(n+1)a
0
+ a
1


n
i 0
x
i
+ a
2


n

i 0
x
i
2

m


n
i 0
x
i
m
=


n
i 0
y
i
a
0


n
i 0
x
i
+ a
1



n
i 0
x
i
2
+ a
2


n
i 0
x
i
3

m


n
i 0
x
i
m+1
=


n
i 0

y
i
x
i

a
0


n
i 0
x
i
2
+ a
1


n
i 0
x
i
3
+ a
2


n
i 0
x

i
4

m


n
i 0
x
i
m+2
=


n
i 0
y
i
x
i
2


a
0


n
i 0
x

i
m
+ a
1


n
i 0
x
i
m+1
+ a
2


n
i 0
x
i
m+2

m


n
i 0
x
i
m+m
=



n
i 0
y
i
x
i
m


C =














n
i 0







n
i 0






n
i 0






n
i 0






n
i 0






n
i 0






n
i 0






n
i 0






n

i 0



 


n
i 0





n
i 0






n
i 0







n
i 0






n
i 0






n
i 0






n
i 0






n
i 0






n
i 0





n
i 0






n
i 0
















d = (


n
i 0
y
i
x
i
0
,


n
i 0
y
i
x
i

1



n
i 0
y
i
x
i
m
)

Tiểu luận môn: Mô hình hóa hình học GVHD: TS. Nguyễn Tấn Khôi
Học viên thực hiện: Nguyễn Minh Quỳnh-Ngô Văn May Trang 22

0
, y
1

n
)
T
, e = (e
0
,e
1

n
T

) , a = (a
0
,a
1

n
T
)
F =






































 : F
T
Fa = F
T
y
-

  :



c

:



- Nu m>n thì các ma trn con luôn có 2 cnh thc
bt C = det Ci = 0.
- Nu n m: ma trc tách thành hai loi ma trn:
                 
x0,x1, ,xn 
Tiểu luận môn: Mô hình hóa hình học GVHD: TS. Nguyễn Tấn Khôi
Học viên thực hiện: Nguyễn Minh Quỳnh-Ngô Văn May Trang 23

0.
*** t
 
 th :
/*Tai tao dung da thuc uoc luong theo phuong phap binh phuong toi thieu*/
/*Cho truoc bac m, xac dinh cac he so, tra ve tong binh phuong cac sai so*/
double regresspoli(double *a,int m)
{ int i,j,k; kmatran aa; double **f,**ft;
f = new double* [nqs+1];
for(I=0;i<=nqs;i++) f[i] = new double [m+1];
ft = new double* [m+1];
for(I=0;i<=m;i++) ft[i] = new double [nqs+1];
/*Tinh ma tran. f la ma tran co kieu nhu Vandermon nhung co n hang m cot, ft la ma tran
chuyen vi cua f. Nhu vay (ft x f) se la ma tran aa cua he phuong trinh tuyen tinh */
for(i=0;i<=nqs;i++)
{ f[i][0]=1;
for(j=1;j<=m;j++)
f[i][j]=f[i][j-1]*xqs[i];
}
//Tinh ma tran chuyen vi

for(i=0;i<=m;i++) for(j=0;j<=nqs;j++) ft[i][j]=f[j][i];
/*Tinh ma tran vuong aa cap m, chi can tinh tinh nua tren roi gan cho nua duoi, vi ma
tran aa la doi xung */
for(i=0;i<=m;i++) for(j=i;j<=m;j++)
{ aa[i][j]=ft[i][0]*f[0][j];
for(k=1;k<=nqs;k++) aa[i][j]+=ft[i][k]*f[k][j];
}
//Gan nua duoi
Tiểu luận môn: Mô hình hóa hình học GVHD: TS. Nguyễn Tấn Khôi
Học viên thực hiện: Nguyễn Minh Quỳnh-Ngô Văn May Trang 24
for(i=0;i<=m;i++) for(j=0;j<i;j++) aa[i][j]=aa[j][i];
//Tinh ve phai cua he phuong trinh
for(i=0;i<=m;i++)
{ aa[i][m+1]=ft[i][0]*yqs[0];
for(k=1;k<=nqs;k++) aa[i][m+1]+=ft[i][k]*yqs[k];
}
for(i=0;i<=nqs;i++)
delete [] f[i];
for(i=0;i<=m;i++)
delete [] ft[i];
gjordan(aa,a,m);
//Tinh tong binh phuong cac sai so
double ss,fa,xx; ss=0; for(i=0;i<=nqs;i++)
{ fa=1;xx=1;
for(j=1;j<=m;j++)
{ xx=xx*xqs[i];
fa+=a[j]*xx;
}
ss+=(yqs[i]-fa)*(yqs[i]-fa);
}

return ss;
}






Tiểu luận môn: Mô hình hóa hình học GVHD: TS. Nguyễn Tấn Khôi
Học viên thực hiện: Nguyễn Minh Quỳnh-Ngô Văn May Trang 25




[1] Nguyn Tn Khôi, Bài ging Mô hình hóa hình hi hng.
[2] A fast algorithm for cubic B-spline curve fitting.pdf.
[3] www.engr.mun.ca/~dfriis/cadkey/program/textappc.html.

×