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 TNG B-SPLI
9
III.1. Tái tng cong B-spline i qua m t im 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
và
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
im và 0jn
-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 TNG B-SPLINE
III.1. Tái tng cong B-spline i qua m t im ch
T các im nm trên ng cong, ta s tìm tp các im kim soát ca chúng. Bài
toán có thc 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 im kim soát da trên mt s im ã bit nm trên ng cong. Nu
các im bit 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à thut toán dng ng cong áp ng chính xác liu cho trc
qua m và áp ng vector o hàm tim liên quan.
N suy g hai phng pháp:
suy toàn cc (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. Chn s u khin ti thiu
2. Dng cong xp x i suy toàn cc
3. Ki sai lch cng cong xp x ti mm d liu
4. N sai lch nc l
u khin và tr v c 2.
Cách 2:
1. Chn s u khii l ng cong xp x c tính toán
ng sai s
2. Dng cong xp x i suy toàn cc
3. Ki chính xác cng cong xp x ti mm d liu
4. N sai lch lcho phép, tr lng cong xp x
c li, gim s u khin và tr lc 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 ca ma trn P là vecto P
k
- Hàng th k ca ma tr
- Hàng th k ca N ch các giá tr N
1,p
(u), N
2,p
h-1,p
(u) ti 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 liu (D
0d
, D
1d
md
)
- Bc 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
:
- Nu m>n thì các ma trn con luôn có 2 cnh thc
bt C = det Ci = 0.
- Nu n m: ma trc tách thành hai loi ma trn:
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] Nguyn Tn Khôi, Bài ging Mô hình hóa hình hi hng.
[2] A fast algorithm for cubic B-spline curve fitting.pdf.
[3] www.engr.mun.ca/~dfriis/cadkey/program/textappc.html.