Slide về Cộng tham số Bzier - Đồ họa máy tính | Đại học Bách Khoa, Đại học Đà Nẵng

Slide về Cộng tham số Bzier - Đồ họa máy tính | Đại học Bách Khoa, Đại học Đà Nẵng giúp sinh viên tham khảo, ôn luyện và phục vụ nhu cầu học tập của mình cụ thể là có định hướng, ôn tập, nắm vững kiến thức môn học và làm bài tốt trong những bài kiểm tra, bài tiểu luận, bài tập kết thúc học phần, từ đó học tập tốt và có kết quả cao cũng như có thể vận dụng tốt những kiến thức mình đã học

TRƯỜNG I H C BÁCH KHOAĐẠ
KHOA CÔNG NGH THÔNG TIN
BÀI GING
ĐƯỜNG VÀ M T CONG BÉZIER
Nguyn Tn Khôi
2/40
Đường cong tham s Bézier c s d đượ ng trong đồ
ho máy tính và nhi u l nh v c khác. ĩ
a. Ph ngương trình tham s đon th
Xét mt đ o n thng đim đầu P
0
đim cui P
1
,
đ đ đ i m C m t i m b t k n m trên o n th ng.
Phương trình tham s ca đ o n thng:
2.1. Gii thi u
0 1
( ) (1 )
C u u P uP
= +
3/40
Đặt:
Ta có:
>> Mt đim trên đường th nh dng được xác đị a vào
các hàm cơ s các đim tương ng.
2.1. Gii thi u
0
1
1
B u
B u
=
=
0 0
1
0
1 1
( )
i i
i
C u B P B P
=
== +
4/40
b. Phương trình tham s ca đường cong bc hai
Xét đa giác bao gm các đỉnh P
0
, P
1
, . P
2
Chn mt tham s u [0, 1], đim S
0
,S nh
1
trên c
P
0
P
1
được biu din:
2.1. Gii thi u
1 2
0 0 1
1
( ) (1 )
( ) (1 )
S u u P uP
S u u P uP
= +
= +
5/40
b. Phương trình tham s ca đường cong bc hai
Xét cnh mi S
0
S
1
, m C trên cđi nh này được xác
đị đườnh theo tham s u cũng đ i m nm trên ng
cong bc hai ba đỉnh điu khin P
0
, P
1
, P
2
.
2.1. Gii thi u
0 1
( ) (1 )
C u u S uS
= +
6/40
c. Ph ng trình tham s a ươ c đường cong bc hai
Trin khai:
Các hàm cơ s:
2.1. Gii thi u
0 1 1 2
0 0 1 1 1 2
2 2
0 1 2
( ) (1 )((1 ) ) ((1 ) )
( ) (1 )( ) ( )
( ) (1 ) (2 (1 ))
C u u u P uP u u P uP
C u u P P u Pu u P Pu Pu
C u u P u u P u P
= + + +
= + + +
= + +
(
)
2
0
1
2
2
1
2 (1 )
B u
B u u
B u
=
=
=
2
0
( )
i i
i
C u B P
=
=
7/40
b. Ph ng trình tham s a ươ c đường cong bc ba
Thc hin tương t quá trình trên, ta có phương trình
bi sau:u di n nh ư
Các hàm cơ s:
2.1. Gii thi u
2
2
3
2
1
3
3 (1 )
3 (1 )
B u u
B u u
B u
=
=
=
3
0
( )
i i
i
C u B P
=
=
8/40
2.2.1. Phương trình đường cong
Trong đó:
các u khi n c a đỉnh đi đường
cong;
2.3. Đường cong tham s Bézier
,
0
( ) ( ) 0 1
n
i n i
i
C u PB u u
=
=
(
)
3
, , , , , 0
i i i i i i i i
P P x y z x
i n
y z
=
{
}
(
)
0...
i
i n
P =
9/40
2.2.1. Phương trình đường cong
Trong đó:
Hàm trn (blending funtion) hay còn g i là a đ
thc Bernstein (Bernstein polynomial) có b c : n
2.3. Đường cong tham s Bézier
,
0
( ) ( ) 0 1
n
i n i
i
C u PB u u
=
=
,
!
( ) (1 ) 0...
!( )!
i n i
n i
n
B u u u i n
i n i
= =
10/40
Mt đi (m trên đường cong Bézier C u) ti tham
s u to : độ
2.3. Đường cong tham s Bézier
,
0
,
0
,
0
( ) ( )
( ) ( ) ( )
( ) ( )
n
x i n i
i
n
y i n i
i
n
z i n i
i
C u x B u
C u C u y B u
C u z B u
=
=
=
=
= =
=
11/40
d 2.1: Xét ng cong Bézier b c hai (đườ đường
parabola) (n + 1) = 3 đỉnh điu khin P
0
, P
1
, P
2
:
2.3. Đường cong tham s Bézier
0 2 0 2
2,0
1 2 1
2,1
2 2 2 2
2,2
2 2
0 1 2
2
( ) (1 ) (1 )
2
( ) (1 ) 2 (1 )
1
2
( ) (1 )
2
( ) (1 ) 2 (1
0
)
B u u u u
B u u u u u
B u u u u
P u u P u u P u P
= =
= =
= =
= + +
12/40
d 2.2: Xét ng cong Bézier b c ba có ( 1) = đườ n + 4
đỉnh đ i u khin P
0
, P
1
, P
2
, P
3
. Phươ đường trình ca ng
cong như sau:
2.3. Đường cong tham s Bézier
( ) ( ) ( ) ( )
3 2 3 2 3 2 3
0 1
3 2 2 3
0 1 2 3
3 2
0 1 2 3 0 1 2 0 1 0
2 3
( ) (1 ) 3 (1 ) 3 (1 )
( ) ( 3 3 ) (3
( ) 3 3 1 3 6
6
3 3
3 ) ( 3 )
3
3
C u u u u P u u u P u
C u u P u u P u u P u P
C u P P P P u P P P u P P u
u P u P
P
= + + +
= + + + + + +
= + + + + +
+
+ +
(
)
( )
( )
( )
0 1 2 3
0 1 2
3 2
0 1
0
3 3
3 6 3
( ) ,
3 3
a P P P P
b P P P
C u au bu cu d
c P P
d P
= + +
= +
= + + +
= +
=
13/40
Đường cong Bézier luôn luôn đi qua đim đầu mđi
cu n:i ca khung điu khi
Các hàm Benstein có giá tr t 0 n 1. đế
Đường cong Bézier có ( 1) u khi n có b c n + đỉnh đi
p = n. Trong m i hàm tr n, tham s u có m + ( ) ũ i n i
= n. Do c c a ng cong Bézier là .đó, b đườ n
2.2.2. Tính ch t c a ng cong Bézier đườ
0
0) (
.
( ), 1
n
P P P P
= =
,
0
( ) 1
n
i n
i
B u
=
=
,
( ) 0 0,..., , [0,1]
i n
B u i n u
14/40
Ví d 2.4: Đường cong Bézier và các hàm Bernstein
tương ng.
Ti tham s 0.5 ta có 5 hàm Bernstein. tính ) u = Để C(u
vi xác nh, ta tính các tr ng s u đị B
n,i
(u) ng v i đỉnh
đ i u khi n P
i
và sau đ ó tính t ng c a chúng.
2.3. Đường cong tham s Bézier
15/40
Đường cong Bézier b c 3 có 4 u khi p = đỉnh đi n:
2.2.3. Bi u bi n d ng ma tr n
[ ]
( )
[ ][ ][ ]
3 2 2 3
0 1 2 3
0 1 2 3
3
2
( )
1 3
(1 )
3
3
1
3 6 3 0
(1 )
( )
3 3 0 0
1 0 0 0
1
3 (1 )u
u
u
C u
u
P
U
C u P u u
M
P u u P u P
u UC P M
=
= + + +
=
P P P P


16/40
17/40
Mt đỉnh điu khin ca đường cong C(u) có th c đượ
bi sau:u din thông qua các đỉnh lân cn như
2.2.5. Thu t toán de Casteljau
1 1
1
(1 ) 0,1, 2, , , 1, 2, ,
j j j
i i i
P u P uP i n j j n
+
= + = =
18/40
các đỉnh điu khin ca đường cong Bézier b c
n ti ln tính toán th j.
Thut toán de Casteljau:
Ti bước k = p - 1 ta có đim trên đường cong
Bézier ti tham s . u
2.2.5. Thu t toán de Casteljau
0
1 1
1
= , = 0, , 1
= (1 ) , = 1, , ; = 0, ,
i i
k k k
i i i
P P i p
P u P uP k p i p k
+
+
j
i
P
1
0
n
19/40
Ti bước k = p - 1 ta có đim trên đường cong
Bézier ti tham s . u
2.2.5. Thu t toán de Casteljau
1
0
n
20/40
2.2.6. Thay i hình d ng cong Bézierđổ ng đườ
21/40
3. M t cong Bézier
22/40
| 1/4

Preview text:

TRƯỜNG ĐẠI HỌC BÁCH KHOA 2.1. Giới thiệu
KHOA CÔNG NGHỆ THÔNG TIN
• Đường cong tham số Bézier được sử dụng trong đồ
hoạ máy tính và nhiều lĩnh vực khác.
a. Phương trình tham số đoạn thẳng BÀI GING
• Xét một đoạn thẳng có điểm đầu P và điểm cuối P , 0 1
điểm C là một điểm bất kỳ nằm trên đoạn thẳng.
ĐƯỜNG VÀ MT CONG BÉZIER Nguyễn Tấn Khôi
• Phương trình tham số của đoạn thẳng:
C (u) = (1− u)P + uP 0 1 2/40 2.1. Giới thiệu 2.1. Giới thiệu B = 1− u • Đặt: 0
b. Phương trình tham số của đường cong bậc hai B = u 1 1
• Xét đa giác bao gồm các đỉnh P , P , P . 0 1 2
• Ta có: C (u ) = B P +B P =  B P 0 0 1 1 i i i 0 =
>> Một điểm trên đường thẳng được xác định dựa vào
các hàm cơ sở và các điểm tương ứng.
• Chọn một tham số u ∈ [0, 1], điểm S ,S trên cạnh 0 1
P P được biểu diễn: 0 1 S ( ) u = (1 − ) u P + uP 0 0 1 S ( ) u = (1 − ) u P + uP 1 1 2 3/40 4/40 2.1. Giới thiệu 2.1. Giới thiệu
b. Phương trình tham số của đường cong bậc hai
c. Phương trình tham số của đường cong bậc hai
• Xét cạnh mới S S , điểm C trên cạnh này được xác • Triển khai: 0 1
định theo tham số u cũng là điểm nằm trên đường
C (u) = (1− u)((1− u )P + uP ) + u((1− u )P + uP ) 0 1 1 2
cong bậc hai có ba đỉnh điều khiển P , P , P . 0 1 2
C (u)= (1− u)(P P u + Pu)+ u(P Pu + P u) 0 0 1 1 1 2 2 2
C (u)= (1− u) P + (2u(1− u))P + u P 0 1 2
• Các hàm cơ sở: B = (1−u )2 0 2
B = 2u (1 u − )
C (u) =  B P 1 i i
C (u) = (1− u)S + uS i 0 = 0 1 2 B = u 2 5/40 6/40 2.1. Giới thiệu
2.3. Đường cong tham số Bézier
b. Phương trình tham số của đường cong bậc ba
2.2.1. Phương trình đường cong
• Thực hiện tương tự quá trình trên, ta có phương trình n biểu diễn như sau: C( ) u =  PB ( ) u 0 ≤ u ≤1 i , n i i 0 = 3 3 P ∈ ℝ
P (x , y , z ) x
∀ , y , z ∈ , ℝ i = 0…n C( ) u =  B P i i i i i i i i i i i= 0 Trong đó: • Các hàm cơ sở: • {P}( i = 0...n i
) các đỉnh điều khiển của đường 2 B = 3 ( u 1 − ) u 1 cong; 2
B = 3u (1 − u) 2 3 B = u 3 7/40 8/40
2.3. Đường cong tham số Bézier
2.3. Đường cong tham số Bézier
2.2.1. Phương trình đường cong
Một điểm trên đường cong Bézier C(u) tại tham n số u có toạ độ:
C (u) =  PB (u) 0 ≤ u ≤1 i n ,i i 0 = n   =  Trong đó:  C (u) x B (u)  x i n ,i i = 0  
• Hàm trộn (blending funtion) hay còn gọi là đa n  
C (u ) = C (u ) =   y B (u)
thức Bernstein (Bernstein polynomial) có bậc n: y i , n i i= 0   n   n!
C (u) =  z B (u)  B (u) i
u (1 u)n i− = − i = 0...n z i n ,i , n ii= 0  ! i (n − ) i ! 9/40 10/40
2.3. Đường cong tham số Bézier
2.3. Đường cong tham số Bézier
Ví dụ 2.1: Xét đường cong Bézier bậc hai (đường
Ví dụ 2.2: Xét đường cong Bézier bậc ba có (n + 1) = 4
parabola) có (n + 1) = 3 đỉnh điều khiển P , P , P : đỉ 0 1 2
nh điều khiển P , P , P , P . Phương trình của đường 0 1 2 3 cong như sau:  2 0 2 0 − 2 B (u) = u (1− u) = (1−   u) 3 2 2 3
C (u ) = (1 u
− ) P + 3u (1 u
− ) P + 3u (1−u )P +u P 2, 0 0 1 2 3  0 C (u ) = ( 3 2 u − + 3u − 3u + ) 1 P + ( 3 2
3u − 6u + 3u )P + ( 3 2 3
u +3u )P + u P 2 ( 3 0 1 )  3 2  1 2 1 B (u) =
u (1 −u) − = 2u(1 −   u) 3 2 2,1
C (u ) = ( P
+ 3P −3P + P )u + (3P −6P +3P )u + ( 3
P +3P )u + P 1   0 1 2 3 0 1 2 0 1 0
a = −P + 3P − 3  ( + 0 1 2 P 3 P ) 2 2 2 2 − 2 B ( )
u =   u (1 − ) u = u 2, 2 2
b = 3P − 6P + 3   ( P 0 1 2 ) 3 2 ( C )
u = au + bu + cu + d, 2 2 c = ( 3 − P + 3 P 0 1 )
P(u) = (1−u) P + 2u(1−u )P + u P 0 1 2 d = (P0 ) 11/40 12/40
2.2.2. Tính chất của đường cong Bézier
2.3. Đường cong tham số Bézier
• Đường cong Bézier luôn luôn đi qua điểm đầu và điểm
Ví dụ 2.4: Đường cong Bézier và các hàm Bernstein
cuối của khung điều khiển: P 0 ( ) = P , P( ) 1 = P . tương ứng. 0 n B (u) ≡ 0 i ∀ ≠ 0,...,n, u ∈[0,1] i,n
• Các hàm Benstein có giá trị từ 0 đến 1.
• Đường cong Bézier có (n + 1) đỉnh điều khiển có bậc
p = n. Trong mỗi hàm trộn, tham số u có mũ i + (n i)
= n. Do đó, bậc của đường cong Bézier là n. n
Tại tham số u = 0.5 ta có 5 hàm Bernstein. Để tính C(u) B ( ) u =1 i, n
với u xác định, ta tính các trọng số B (u) ứng với đỉnh i 0 = n,i
điều khiển P và sau đó tính tổng của chúng. i 13/40 14/40
2.2.3. Biễu biễn dạng ma trận
• Đường cong Bézier bậc p = 3 có 4 đỉnh điều khiển: 3 2 2 3 C(u) = (1 − ) u P + 3 ( u 1 − )
u P + 3u (1− u)P + u P 0 1 2 3 3  1 − 3 −3 1 u       2 3 − 6 3 0 u P P P P     C( ) u = [ 0 1 2 3 ]  3 − 3 0 0   u       1 0 0 0  1         P M U C (u ) =[ ] P [ M][ ] U 15/40 16/40
2.2.5. Thuật toán de Casteljau
2.2.5. Thuật toán de Casteljau
• Một đỉnh điều khiển của đường cong C(u) có thể được • j
P là các đỉnh điều khiển của đường cong Bézier bậc i
biểu diễn thông qua các đỉnh lân cận như sau:
n tại lần tính toán thứ j.
• Thuật toán de Casteljau: j j− 1 j− 1
P = (1− u )P + uP
i = 0,1, 2,…, n j , j = 1, 2,…, n i i i 1 + 0
P = P, i = 0,…, p− 1 i i k k 1 − k 1 P = (1− ) u P
+ uP − , k = 1,…, ; p
i = 0,…, p k i i i+1
• Tại bước k = p - 1 ta có n 1
P − là điểm trên đường cong 0
Bézier tại tham số u. 17/40 18/40
2.2.5. Thuật toán de Casteljau
2.2.6. Thay đổi hình dạng đường cong Bézier
• Tại bước k = p - 1 ta có n 1
P − là điểm trên đường cong 0
Bézier tại tham số u. 19/40 20/40 3. Mặt cong Bézier 21/40 22/40