Bài giảng Đồ họa máy tính: Chương 7 - ThS. Trần Thị Minh Hoàn
lượt xem 5
download
Bài giảng Đồ họa máy tính: Chương 7 Đường và mặt cong tự do trong không gian ba chiều cung cấp cho người học những kiến thức như: Mô hình hóa ba chiều; Biểu diễn đường cong tự do; Đường cong Bézier; Đường cong Bézier bậc 3 (cubic); Dạng ma trận đường cong Bézier;...Mời các bạn cùng tham khảo!
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Đồ họa máy tính: Chương 7 - ThS. Trần Thị Minh Hoàn
- Chương VII: Đường và mặt cong tự do trong không gian ba chiều Mô hình hóa ba chiều Nhiệm vụ Biểu diễn các đối tượng rắn để hiển thị Trong nhiều trường hợp có thể biểu diễn chính xác bề mặt đối tượng: khối hộp, hình trụ, hình cầu Với khối rắn bất kỳ phải sử dụng phương pháp xấp xỉ và nội suy Hai giải pháp chính Xây dựng mô hình đường cong, mặt cong có dạng tự do để đạt độ trơn cao nhất Xấp xỉ mặt cong bởi tập đa giác (khảm): chia bề mặt đối tượng thành nhiều đa giác con 1
- Biểu diễn đường cong tự do Lựa chọn cách biểu diễn 2
- Biểu diễn đường cong tự do Lựa chọn cách biểu diễn Đường cong bất kỳ có thể biểu diễn bới ma trận điểm Cần số lượng điểm vô cùng lớn để biểu diễn chính xác hình dạng Sử dụng hàm đa thức để thể hiện hình dạng đường cong Dạng tổng quát của hàm đa thức n n n 1 p( x) an x an1 x ... a1 x a0 ai x i i 0 n – nguyên dương, a0, a1, ..., an là số thực Đa thức thuận tiện cho tính toán bằng máy tính Trong đồ họa đòi hỏi xác định tiếp tuyến, pháp tuyến cho đường cong. Đa thức cho khả năng dễ dàng tính vi phân. 3
- Biểu diễn đường cong tự do Dạng thông dụng biểu diễn đường cong trong mô hình hóa hình học: Dạng tham số Đường cong được xấp xỉ bởi đường cong đa thức liên tục từng phần Mỗi đoạn đường cong được xác định bởi ba hàm x, y và z x = x(t), y = y(t) và z = z(t) Véctơ vị trí của các điểm trên đường cong sẽ là: p(t) = (x(t), y(t), z(t)) Hai phương pháp xấp xỉ thông dụng nhất trong các hệ thống CAD hiện nay là Bézier và B-spline 4
- Đường cong Bézier Pierre Bézier (1960, Renault), P. de Casteljau (Citroen) Đường cong Bézier bậc n được xác định bởi n+1 điểm điều khiển là phương trình tham số có dạng sau: n P (t ) Vk Bk , n (t ), 0 t 1 k 0 n n! Bk , n (t ) (1 t ) n k t k (1 t ) n k t k k k!( n k )! V0, V1...Vn - các điểm điều khiển Bk,n(t) – hàm liên kết trơn (là đa thức Bernstein, hàm trộn) Bk ,n (t ) 0, với víi mọi mäi k và 0 t 1 n B k 0 k ,n (t ) 1 0 t 1 5
- Đường cong Bézier n Từ phương trình P (t ) Vk Bk ,n (t ), 0 t 1 k 0 Ta có hệ phương trình tham số n n n x (t ) x k Bk , n (t ) y (t ) y k Bk , n (t ) z (t ) z k Bk , n (t ) k 0 k 0 k 0 Đường cong Bézier tuyến tính (linear) có dạng P(t) = (1-t) V0 + t V1 Đường cong Bézier bậc 2 (quadratic) có dạng P(t) = (1-t)2V0 + 2(1-t)tV1+t2V2 6
- Đường cong Bézier bậc 3 (cubic) Đường cong Bézier bậc 3 được xác định bởi 4 điểm: Điểm bắt đầu (anchors) điểm kết thúc, hai điểm điều khiển (handles) Từ n P (t ) Vk Bk ,n (t ), 0 t 1 k 0 Ta có V1 V2 P(t)=V0B0,3+V1B1,3+V2B2,3+V3B3,3 3! 0 V0 B0 ,3 t (1 t ) 3 (1 t ) 3 0!3! 3! 1 V3 B1,3 t (1 t ) 2 3t (1 t ) 2 1!2! 3! 2 B2 ,3 t (1 t ) 3t 2 (1 t ) 2!1! [(1-t)3]+[3t(1-t)2]+[3t2(1-t)]+t3=1 3! 3 B3,3 t (1 t ) 0 t 3 P(t) = (1-t)3V0 + 3(1-t)2tV1+3(1-t)t2P2+t3V3 3!0! 7
- Dạng ma trận đường cong Bézier Với đường cong bậc 3 V0 V P (t ) (1 t ) 3 3t (1 t ) 2 3t 2 (1 t ) t 3 1 V2 V3 V0 V P (t ) (1 3t 3t 2 t 3 ) (3t 6t 2 3t 3 ) (3t 2 3t 3 ) t3 1 V2 1 V0 V3 1 3 3 3 6 3 0 V1 P (t ) t 3 t2 t 1 3 3 0 0 V2 1 0 0 0 V3 P(t) = [t] [M]B [V]B 8
- Thuật toán vẽ đường cong Bézier // n+1 số lượng các điểm điều khiển //Pi điểm điều khiển thứ i có các tọa độ x, y, z là (Pix, Piy, Piz) BesierCurve() begin n for i=0 to n do Nhập điểm điều khiển Pi P ( t ) Vk Bk , n ( t ) k 0 next i n! for t=0. to 1. insteps of 0.05 do B k , n (t ) (1 t ) n k t k x=y=z=0. k !( n k )! for i=0 to n do B=Blend(i, n, t) x=x+Pix*B Blend (i, n, t) y=y+Piy*B z=z+Piz*B begin next i blend=GiaiThừa(n)/(GiaiThừa(i)*GiaiThừa(n-i)) if (x, y, z) là điểm bắt đầu blend=blend*(t)i*((1-t)n-i) then MoveTo (x, y, z) else LineTo(x, y, z) return (blend) endif end next t end 9
- Thí dụ đường cong Bézier Cho hai đường cong Bézier P, Q xác định bởi trình tự các điểm sau: P: A(2, 3, 4), B(3, 1, 5), C(x, y, z), D(3, 4, 3) Q: D(3, 4, 3) , E(2, 6, 0), F(5, 7, 5), G(5, 2, 3) Hãy thiết lập điều kiện sao cho x, y, z bảo đảm tính liên tục C1. P và Q là các đường cong bậc 3 Q(t)=(1-t)3V0+3t(1-t)2V1+3t2(1-t)p2+t3V3 V0 V Q (t ) (1 t ) 3 3t (1 t ) 2 3t 2 (1 t ) t3 1 V2 V3 Véctơ tiếp tuyến (lấy đạo hàm theo t) 10
- Thí dụ đường cong Bézier Tìm véctơ tiếp tuyến (lấy đạo hàm theo t) V0 V Q ' (t ) 3 (1 t ) 2 3(3t 2 4t 1) 3t (3t 2) 3t 2 1 V2 V3 Phân đoạn thứ nhất tại cuối đường cong, với u=1, P’(u) và phân đoạn thứ 2 tại đầu đường cong, với t=0, Q’(0) A D B E P ' (1) 0 0 3 3 3( D C ) Q ' (0) 3 3 0 0 3( E D ) C F D G Để đảm bảo tính liên tục thì P’(u) tại u=1 phải bằng Q’(t) tại t=0 3(D-C)=3(E-D) x=4, y=2, z=6 11
- Bài tập 1. Một đường cong Bézier bậc 3 có bốn điểm điều khiển (0, 0, 0), (4, 2, 2), (8, 6, 4), (12, 0, 0). Hãy xác định tiếp tuyến của đường cong tại t=1/4. 12
- Biểu diễn mặt cong tự do Phương pháp biểu diễn đường cong là công cụ hữu hiệu để biểu diễn đường cong như Hermite, Bézier, B-Spline... Đường cong Cần 1 biến tham số (1 bậc tự do) để biểu diễn Mặt cong P(t) = [x(t), y(t), z(t)] 0 t 1 Cần hai biến tham số P(s,t) = [x(s,t), y(s,t), z(s,t)] 0 t 1, 0 s 1
- Mặt cong Bézier V0, V0, Mặt cong Bézier được định nghĩa từ 2 3 V0, phương trình đường cong đơn giản 1 V1, 1 V3, Tích tensơ áp dụng cho hai hướng s và t t 3 V1, Xác định các điểm trên mặt cong V0, 0 0 s V2, 0 V3, 0 n m P ( s, t ) Vi , j Bi , n ( s ) B j ,m (t ) 0 s, t 1 i 0 j 0 Vi,j - các điểm điều khiển, tổng số điểm điều khiển là (m+1)x(n+1); Bi,n(s) và Bj,m(t) - các hàm liên kết trơn Bernstein theo các hướng s và t.
- Mặt cong Bézier Tính chất Mặt cong có dạng tổng quát theo điểm điều khiển Nằm trong miền bao lồi của các điểm điều khiển Các điểm góc mặt cong trùng với các điểm điều khiển tại góc Biểu diễn dạng ma trận P(s,t) = [s][M]B[V]B [M]BT[t]T Ma trận chuyển vị [A]T của ma trận [A]: Với mỗi phần tử aij của [A] thì phần tử tương ứng của [A]T là aji. Ma trận chuyển vị của ma trận hàng là ma trận cột [A]-1 là ma trận nghịch đảo của [A]: [A][A]-1=I, (I là ma trận đơn vị)
- Mặt cong Bézier Biểu diễn dạng ma trận của mặt cong Bézier kép 1 3 3 1 V0,0 V0,1 V0,2 V0,3 3 6 3 V1,3 0 V1,0 V1,1 V1,2 P ( s, t ) s 3 s2 s 1 3 3 0 0 V2,0 V2,1 V2,2 V2,3 1 0 0 0 V3,0 V3,1 V3,2 V3,3 1 3 3 1 t 3 3 6 3 0 t 2 P( s, t ) 3 3 0 0 t 1 0 0 0 1 Để biểu diễn mặt cong Bézier kép cần đến 16 điểm điều khiển
- Thí dụ ứng dụng mặt cong Bézier Yêu cầu Một kết cấu mái nhà dạng nửa hình trụ rỗng. Hãy tạo lưới điều khiển Bézier để xấp xỉ mặt cong này Giải pháp Xác định lưới điều khiển để tạo ra các điểm mặt cong dọc theo mặt cắt ngang nửa hình trụ. Di chuyển các điểm này dọc theo trục z với khoảng cách đều nhau Khảo sát mặt cắt tại z=0: chọn 5 điểm trên cung tròn sau: P0(20, 0), P1(102, 102), P2(0, 20), P3(-102, 102), P4(-20,0) P2 y y P3 P1 z 100 t P4 20 P0 x x
- Thí dụ ứng dụng mặt cong Bézier Để nội suy P0,...,P4 cần 5 điểm điều khiển Bézier: V0, V1, V2, V3, V4. 4 P (t ) B4 ,i (t )Vi i 0 Chọn ti cho t trong khoảng [0,1]: t0=0.0, t1=0.25, t2=0.5, t3=0.75, t4=1.0 Viết biểu thức dưới dạng đồng nhất B40 (t 0 ) B41 (t 0 ) B42 (t 0 ) B43 (t 0 ) B44 (t 0 ) V0 B (t ) B41 (t1 ) . . . V1 40 1 P 5 x 3 B 5 x 5 V 5 x 3 . . . . . V2 . . . . . V3 B40 (t 4 ) . . . B44 (t 4 ) V4 n n! 4! Bni (t ) t i (1 t ) n i t i (1 t ) n i B41 (t1 ) t 1 (1 t ) 4 1 4 x 0.25 x (0.25) 3 0.4218 i i!( n i )! 1!( 4 1)!
- Thí dụ ứng dụng mặt cong Bézier Tính cho mọi phần tử còn lại của [B] 1 0 0 0 0 0.3164 0.4218 0.2109 0.0469 0.0039 V 5 x 3 B 51x 5 P 5 x 3 B5 x 5 0.0625 0.25 0.375 0.25 0.0625 0 . 0039 0 .0468 0 . 2812 0 . 4218 0 .3164 0 0 0 0 1 -1 V0 1 0 0 0 0 20 0 1 20 0 1 V 0.3164 0.4218 0.2109 0.0469 0.0039 10 2 10 2 1 21.05 15.44 1 1 V2 0.0625 0.25 0.375 0.25 0.0625 0 20 1 - 0.1 32.61 1 V 3 0 . 0039 0 . 0468 0 . 2812 0 . 4218 0 . 3164 10 2 10 2 1 - 21.05 15.44 1 V4 0 0 0 0 1 20 0 1 - 20 0 1
- Thí dụ ứng dụng mặt cong Bézier Bổ sung các điểm điều khiển đường cong trên lưới Bézier bằng cách thay đổi giá trị z từ 0 đến 100 với khoảng cách đều 20 Lưới điều khiển Bézier với 30 điểm sẽ là (20,0,0) ( 20,0,20) (20,0,40) . . ( 21.05,15.44,0) ( 21.05,15.44,20) . . . (0.1,32.61,0) . . . . . . . . . (20,0,0) ( 20,0,20) ( 20,0,40) . .
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Đồ họa máy tính: Ánh sáng
32 p | 236 | 33
-
Bài giảng Đồ họa máy tính - Ma Thị Châu
22 p | 279 | 28
-
Bài giảng Đồ họa máy tính: Các thuật toán mành hóa - Ma Thị Châu
18 p | 223 | 17
-
Bài giảng Đồ họa máy tính: Phần 1
47 p | 112 | 14
-
Bài giảng Đồ họa máy tính: Các phép biến đổi trong đồ họa hai chiều - TS. Đào Nam Anh
52 p | 135 | 13
-
Bài giảng Đồ họa máy tính: Giới thiệu đồ họa 3 chiều - TS. Đào Nam Anh
54 p | 110 | 12
-
Bài giảng Đồ họa máy tính: Các phép biến đổi trong đồ họa ba chiều - TS. Đào Nam Anh
28 p | 99 | 11
-
Bài giảng Đồ họa máy tính: Các đối tượng đồ họa cơ sở - TS. Đào Nam Anh
50 p | 100 | 10
-
Bài giảng Đồ họa máy tính: Phần 2
40 p | 102 | 8
-
Bài giảng Đồ họa máy tính: Các khái niệm đồ họa máy tính - Ma Thị Châu (2017)
31 p | 54 | 8
-
Bài giảng Đồ họa máy tính: Giới thiệu về đồ họa máy tính - TS. Đào Nam Anh
50 p | 88 | 7
-
Bài giảng Đồ họa máy tính: Phần 1 - ĐH Sư phạm kỹ thuật Nam Định
128 p | 38 | 6
-
Bài giảng Đồ họa máy tính: Giới thiệu đồ họa 3 chiều - TS. Đào Nam Anh (tt)
54 p | 91 | 6
-
Bài giảng Đồ họa máy tính - ĐH Hàng Hải VN
54 p | 41 | 6
-
Bài giảng Đồ họa máy tính: Bài 3 - Lê Tấn Hùng
39 p | 73 | 5
-
Bài giảng Đồ họa máy tính: Chương 1 - ThS. Trần Thị Minh Hoàn
44 p | 101 | 5
-
Bài giảng Đồ họa máy tính: Đồ họa ba chiều - Ngô Quốc Việt
36 p | 26 | 4
-
Tập bài giảng Đồ họa máy tính
227 p | 30 | 4
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn