Các đường cong tham số rất linh hoạt.
Chúng không cần phải là hàm
–Đường cong có thể có nhiều giá trị ứng với một tọa độ x.
Số lượng tham số thường cho thấy chiều của vật thể (x(u,v), y(u,v), z(u,v))
26 trang |
Chia sẻ: haohao89 | Lượt xem: 4068 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Bài giảng Đồ họa máy tính: Đường cong và bề mặt, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
12/10/2007Bùi Thế Duy - Bộ môn KHMT
1
Đồ họa máy tính
Đường cong và bề mặt I
12/10/2007Bùi Thế Duy - Bộ môn KHMT
2
Các loại đường cong
Đường thẳng Đường tròn
z Chính tắc:
y = mx + b r = Arx + Bry + Cr
z Tổng quát:
Ax + By + C = 0 (x – x0)2 + (y – y0)2 – r2 = 0
z Tham số:
x = x0 + (x1 – x0)t x = x0 + rcosθ
y = y0 + (y1 – y0)t y = y0 + rsinθ
12/10/2007Bùi Thế Duy - Bộ môn KHMT
3
Tại sao lại dùng tham số?
z Các đường cong tham số rất linh hoạt.
z Chúng không cần phải là hàm
– Đường cong có thể có nhiều giá trị ứng với một tọa độ
x.
z Số lượng tham số thường cho
thấy chiều của vật thể
(x(u,v), y(u,v), z(u,v))
12/10/2007Bùi Thế Duy - Bộ môn KHMT
4
Mô tả một đường cong
z Điểm điều khiển:
– Là tập các điểm ảnh hưởng đến hình
dạng của đường cong.
z Knots:
– Các điểm nằm trên đường cong.
z Đường cong nội suy (Interpolating
spline):
– Các đoạn cong đi qua điểm điều khiển.
z Đường cong xấp xỉ (Approximating
spline):
– Các điểm điều khiển ảnh hưởng đến
hình dáng của đoạn
12/10/2007Bùi Thế Duy - Bộ môn KHMT
5
Các đoạn cong
Chúng ta có thể biểu diễn một đường cong với độ dài bất kỳ
bằng một chuỗi các đoạn cong nối với nhau.
Chúng ta quan tâm đến các đoạn này nối với nhau như thế nào
…
12/10/2007Bùi Thế Duy - Bộ môn KHMT
6
Đường cong tham số bậc 3
(Parametric Cubic Curves)
z Để đảm bảo tính liên tục C2 các hàm của chúng ta phải có
bậc ít nhất là 3.
z Đường cong cubic có 4 bậc tự do và thay đổi 4 thứ.
z Sử dụng thức: x(t) có bậc n là một hàm của t. - y(t) và
z(t) cũng tương tự và được xử lý độc lập.
z Có nghĩa là:
i
n
i
i xatx ∑
=
=
0
)(
12/10/2007Bùi Thế Duy - Bộ môn KHMT
7
Một ví dụ
z Toàn bộ các vấn đế liên quan đến đường cong tham số
chính là xác định các hệ số của nó.
z Để làm được điều đó, chúng ta xác định các giá trị để
thỏa mãn các điều kiện của các knots và các điều kiện
liên tục.
z Ví dụ:
Cubic Hermite Splines
12/10/2007Bùi Thế Duy - Bộ môn KHMT
8
Đường cong Hermite
z 4 bậc tự do, 2 để điều khiển tính liên tục C0
và C1 tại mỗi đầu.
z Sử dụng đa thức để biểu diễn đường cong.
z Xác định: x = X(t) theo các giá trị x0, x0/,
x1, x1/
Bây giờ:
X(t) = a3t3 + a2t2 + a1t + a0
và X/(t) = 3a3t2 + 2a2t + a1
12/10/2007Bùi Thế Duy - Bộ môn KHMT
9
Tìm các hệ số Hermite
Thay t vào hai đầu:
x0 = X(0) = a0 x0/ = X/(0) = a1
x1 = X(1) = a3 + a2 + a1 + a0 x1/ = X/(1) = 3a3 + 2a2+ a1
Và lời giải là:
a0 = x0 a1 = x0/
a2 = -3x0 – 2x0/ + 3x1 – x1/ a3 = 2x0 + x0/ - 2x1 + x1/
12/10/2007Bùi Thế Duy - Bộ môn KHMT
10
Ma trận Hermite: MH
Đa thức kết quả có thể được biểu diễn qua dạng ma trận:
X(t) = tTMHq ( q là véc-tơ điều khiển)
[ ]
⎥⎥
⎥⎥
⎦
⎤
⎢⎢
⎢⎢
⎣
⎡
⎥⎥
⎥⎥
⎦
⎤
⎢⎢
⎢⎢
⎣
⎡
−−−
−
=
/
1
1
/
0
0
23
0001
0010
1323
1212
1)(
x
x
x
x
ttttX
Bây giờ chúng ta có thể định nghĩa đa giác tham số cho các
tọa độ một cách độc lập X(t), Y(t) và Z(t)
12/10/2007Bùi Thế Duy - Bộ môn KHMT
11
Các hàm Hermite cơ bản
x0 x1
x0/
x1/
Đồ thị cho thấy hình dạng của bốn
hàm cơ bản (hay còn gọi là
blending functions).
Chúng được gán nhãn với thành
phần trọng số của nó.
12/10/2007Bùi Thế Duy - Bộ môn KHMT
12
Họ các đường cong Hermite
y(t)
x(t)
12/10/2007Bùi Thế Duy - Bộ môn KHMT
13
Hiển thị các đường cong Hermite
z Đơn giản :
– Lặp qua t – chọn đơn vị lặp phù hợp.
– Tính giá trị x.
– Và y & z một cách độc lập.
– Vẽ các đoạn nối liền các điểm.
z Nối các đoạn:
– Các điểm đầu mút trùng nhau để có
liên tục C0
– Véc tơ pháp tuyến trùng nhau để có
liên tục C1
.
12/10/2007Bùi Thế Duy - Bộ môn KHMT
14
Đường cong Bézier
z Đường cong Hermite khó để mô hình hóa – cần
phải xác định các điểm và véc-tơ pháp tuyến.
z Sẽ dễ dàng hơn khi chỉ cần chỉ ra điểm.
z Pierre Bézier xác định 2 điểm đầu mút và 2 điểm
điều khiển để xác định véc-tơ pháp tuyến.
z Có thể tính ra từ ma trận Hermite:
– Hai điểm điều khiển xác định vec-tơ pháp tuyến
12/10/2007Bùi Thế Duy - Bộ môn KHMT
15
Đường cong Bézier
P4
P2
P1
P1
P4
P3
P3
P2
12/10/2007Bùi Thế Duy - Bộ môn KHMT
16
Ma trận Bézier
Trước hết chúng ta phải xác định các hàm cơ bản.
Cho một đa thức bậc n, chúng ta có n điểm điều khiển với các
thành phần cho đến tn-1 như sau:
fr là hàm cơ bản
Hệ số của tr theo khải triển của (t+(1-t))n-1
r
n
r
rqftX ∑−
=
=
1
0
)(
)!1(!
)!1()1( 111
1
−−
−=−= −−−−−− rnr
nCwherettCf r
nrnr
rn
n
r
12/10/2007Bùi Thế Duy - Bộ môn KHMT
17
Ma trận Bézier
z X(t) = tTMBq (MB là ma trận Bézier)
z Với n=4 và r=0,1,2,3 ta có:
z Tương tự với Y(t) và Z(t)
[ ]
⎥⎥
⎥⎥
⎦
⎤
⎢⎢
⎢⎢
⎣
⎡
⎥⎥
⎥⎥
⎦
⎤
⎢⎢
⎢⎢
⎣
⎡
−
−
−−
=
3
2
1
0
23
0001
0033
0363
1331
1)(
q
q
q
q
ttttX
12/10/2007Bùi Thế Duy - Bộ môn KHMT
18
Hàm cơ bản Bézier
q0 q3
q1 q2
12/10/2007Bùi Thế Duy - Bộ môn KHMT
19
Ví dụ về các đường cong nội suy
Đường cong Catmull-Rom nội suy qua các điểm điều khiển.
Véctơ pháp tuyến phải trùng tại các điểm điều khiển.
⎥⎥
⎥⎥
⎦
⎤
⎢⎢
⎢⎢
⎣
⎡
⋅
⎥⎥
⎥⎥
⎦
⎤
⎢⎢
⎢⎢
⎣
⎡
−
−−
−−
⋅⋅=
⋅⋅=
−
−
−
i
i
i
i
BCR
i
P
P
P
P
T
GMTtP
1
2
3
0020
0101
1452
1331
2
1
)(
12/10/2007Bùi Thế Duy - Bộ môn KHMT
20
Các đường cong B-Splines
z Các đường cong Cubic Bézier được ghép
với nhau cũng giống như các đường cong
Hermite thông qua việc đảm bảo độ liên
tục C0 và C1.
z Các đường cong B-Splines có thể có số
điểm điều khiển tùy ý với độ dài bất kỳ và
có tính liên tục C0, C1 và C2.
12/10/2007Bùi Thế Duy - Bộ môn KHMT
21
Đoạn B-Spline trông như thế nào
t0 t1 t2 t3 t4
1
12/10/2007Bùi Thế Duy - Bộ môn KHMT
22
Hàm B-Spline cơ bản
t1
1/6
4/6
f(t)
12/10/2007Bùi Thế Duy - Bộ môn KHMT
23
Các đường cong B-Spline
Knot.
Control point.
m = 9 (P0 ..P9)
m-1 knots
m+1 control points
m-2 curve segments
12/10/2007Bùi Thế Duy - Bộ môn KHMT
24
Các đường cong B-Spline
Knot.
Control point.P1
P2
P3
P0
Q3
12/10/2007Bùi Thế Duy - Bộ môn KHMT
25
Các đường cong B-Spline
Knot.
Control point.
Q4
P1
P3
P4
P2
12/10/2007Bùi Thế Duy - Bộ môn KHMT
26
Tổng kết
z Các đường cong bậc 3
z Các đường cong B-splines