Bài giảng Đồ họa máy tính: Chương 7 - ThS. Trần Thị Minh Hoàn

26 11 0
Bài giảng Đồ họa máy tính: Chương 7 - ThS. Trần Thị Minh Hoàn

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

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!

Chương VII: Đường mặt cong tự không gian ba chiều Mơ hình hóa ba chiều  Nhiệm vụ  Biểu diễn đối tượng rắn để hiển thị    Trong nhiều trường hợp biểu diễn 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 phải sử dụng phương pháp xấp xỉ nội suy Hai giải pháp   Xây dựng mơ hình đường cong, mặt cong có dạng tự để đạt độ trơn cao Xấp xỉ mặt cong tập đa giác (khảm): chia bề mặt đối tượng thành nhiều đa giác Biểu diễn đường cong tự  Lựa chọn cách biểu diễn Biểu diễn đường cong tự  Lựa chọn cách biểu diễn  Đường cong biểu diễn bới ma trận điểm   Cần số lượng điểm vô lớn để biểu diễn xác hình dạng Sử dụng hàm đa thức để thể hình dạng đường cong  Dạng tổng quát hàm đa thức n n p( x)  an x  an1 x n 1   a1 x  a0   x i i 0 n – nguyên dương, a0, a1, , an số thực   Đa thức thuận tiện cho tính tốn 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ả dễ dàng tính vi phân Biểu diễn đường cong tự  Dạng thông dụng biểu diễn đường cong mơ hình hóa hình học: Dạng tham số   Đường cong xấp xỉ đường cong đa thức liên tục phần Mỗi đoạn đường cong xác định ba hàm x, y z x = x(t),  y = y(t) z = z(t) Véctơ vị trí điểm đường cong là: p(t) = (x(t), y(t), z(t))  Hai phương pháp xấp xỉ thông dụng hệ thống CAD Bézier B-spline Đường cong Bézier   Pierre Bézier (1960, Renault), P de Casteljau (Citroen) Đường cong Bézier bậc n xác định n+1 điểm điều khiển phương trình tham số có dạng sau: n P (t )   Vk Bk , n (t ),  t 1 k 0 n n! Bk , n (t )   (1  t ) n  k t k  (1  t ) n  k t k k!( n  k )! k  V0, V1 Vn - đ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 k  t  n B k ,n (t )   t  k 0 Đường cong Bézier  n Từ phương trình P (t )   Vk Bk ,n (t ),  t 1 k 0  Ta có hệ phương trình tham số n n x (t )   x k Bk , n (t ) k 0  y (t )   y k Bk , n (t ) k 0 n z (t )   z k Bk , n (t ) 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 (quadratic) có dạng P(t) = (1-t)2V0 + 2(1-t)tV1+t2V2 Đường cong Bézier bậc (cubic)  Đường cong Bézier bậc xác định đ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 ), Ta có  t 1 k 0 V1 P(t)=V0B0,3+V1B1,3+V2B2,3+V3B3,3 3! t (1  t )  (1  t ) 0!3! 3! B1,3  t (1  t )  3t (1  t ) 1!2! 3! B2 ,3  t (1  t )  3t (1  t ) 2!1! 3! B3,3  t (1  t )  t 3!0! B0 ,3  V2 V0 V3 [(1-t)3]+[3t(1-t)2]+[3t2(1-t)]+t3=1 P(t) = (1-t)3V0 + 3(1-t)2tV1+3(1-t)t2P2+t3V3 Dạng ma trận đường cong Bézier  Với đường cong bậc  P (t )  (1  t ) 3t (1  t ) 3t (1  t )  V0  V   1 t V2    V3  P (t )  (1  3t  3t  t ) (3t  6t  3t )  P (t )  t t2 1   6 t 1  3  0 1   (3t  3t )  V0  0 V1  0 V2    0 V3  V0  V  t3   V2    V3   P(t) = [t] [M]B [V]B Thuật toán vẽ đường cong Bézier // n+1 số lượng điểm điều khiển //Pi điểm điều khiển thứ i có tọa độ x, y, z (Pix, Piy, Piz) BesierCurve() begin n for i=0 to n P ( t )  Vk Bk , n ( t ) Nhập điểm điều khiển Pi k 0 next i n! for t=0 to insteps of 0.05 B k , n (t )  (1  t ) n  k t k k !( n  k )! x=y=z=0 for i=0 to n B=Blend(i, n, t) x=x+Pix*B Blend (i, n, t) y=y+Piy*B begin z=z+Piz*B next i blend=GiaiThừa(n)/(GiaiThừa(i)*GiaiThừa(n-i)) if (x, y, z) điểm bắt đầu blend=blend*(t)i*((1-t)n-i) then MoveTo (x, y, z) return (blend) else LineTo(x, y, z) endif end next t end  Thí dụ đường cong Bézier Cho hai đường cong Bézier P, Q xác định trình tự đ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 cho x, y, z bảo đảm tính liên tục C1  P Q đường cong bậc Q(t)=(1-t)3V0+3t(1-t)2V1+3t2(1-t)p2+t3V3  Q (t )  (1  t )  3t (1  t ) 3t (1  t ) V0  V  t3   V2    V3   Véctơ tiếp tuyến (lấy đạo hàm theo t) 10 Bài tập Một đường cong Bézier bậc 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 đường cong t=1/4 12 Biểu diễn mặt cong tự  Phương pháp biểu diễn đường cong công cụ hữu hiệu để biểu diễn đường cong Hermite, Bézier, B-Spline  Đường cong   Cần 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  Mặt cong Bézier định nghĩa từ phương trình đường cong đơn giản V0, V0, V0, V1, 1   Tích tensơ áp dụng cho hai hướng s t Xác định điểm mặt cong V3, t V0, V1, s V2, V3, n m P ( s, t )    Vi , j Bi , n ( s ) B j ,m (t )  s, t  i 0 j 0 Vi,j - điểm điều khiển, tổng số điểm điều khiển (m+1)x(n+1); Bi,n(s) Bj,m(t) - hàm liên kết trơn Bernstein theo hướng s 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 miền bao lồi điểm điều khiển  Các điểm góc mặt cong trùng với điểm điều khiển 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 ma trận [A]:  Với phần tử aij [A] phần tử tương ứng [A]T aji  Ma trận chuyển vị ma trận hàng ma trận cột [A]-1 ma trận nghịch đảo [A]: [A][A]-1=I, (I ma trận đơn vị) Mặt cong Bézier  Biểu diễn dạng ma trận mặt cong Bézier kép  P ( s, t )  s s2  1   6 s 1  3  0 1   1   6 P( s, t )    3  0 1    V0,0    V1,0   V2,0    V3,0 V0,1 V1,1 V0,2 V1,2 V2,1 V3,1 V2,2 V3,2 1  t    0  t  0  t    0   Để biểu diễn mặt cong Bézier kép cần đến 16 điểm điều khiển V0,3  V1,3  V2,3   V3,3  Thí dụ ứng dụng mặt cong Bézier  Yêu cầu  Giải pháp 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  Xác định lưới điều khiển để tạo điểm mặt cong dọc theo mặt cắt ngang nửa hình trụ  Di chuyển điểm dọc theo trục z với khoảng cách  Khảo sát mặt cắt z=0: chọn điểm cung tròn sau: P0(20, 0), P1(102, 102), P2(0, 20), P3(-102, 102), P4(-20,0) P2 y y P1 P3 z t 100 P4 20 x P0 x Thí dụ ứng dụng mặt cong Bézier  Để nội suy P0, ,P4 cần điểm điều khiển Bézier: V0, V1, V2, V3, V4 P (t )   B4 ,i (t )Vi i 0   Chọn ti cho t 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ạng đồng P 5 x  B 5 x V 5 x  B40 (t )  B (t )  40     B40 (t )  n n! Bni (t )   t i (1  t ) n  i  t i (1  t ) n  i i!( n  i )! i B41 (t ) B42 (t ) B43 (t ) B41 (t1 ) B41 (t1 )  B44 (t )  V0   V1   V2     V3  B44 (t )  V4  4! t (1  t ) 1  x 0.25 x (0.25)  0.4218 1!(  1)! Thí dụ ứng dụng mặt cong Bézier  Tính cho phần tử lại [B] B5 x 0 0   0.3164 0.4218 0.2109 0.0469 0.0039     0.0625 0.25 0.375 0.25 0.0625   0039 0468 2812 4218 3164    0 0  0 0  V0   V  0.3164 0.4218 0.2109 0.0469 0.0039   1   V2   0.0625 0.25 0.375 0.25 0.0625     V 0039 0468 2812 4218 3164     V4   0 0  -1 V 5 x  B 51x P 5 x 1  20 1  20  10 10 1  21.05 15.44 1      20 1   - 0.1 32.61 1      10 10 21.05 15.44       20 1  - 20 1 Thí dụ ứng dụng mặt cong Bézier  Bổ sung điểm điều khiển đường cong lưới Bézier cách thay đổi giá trị z từ đến 100 với khoảng cách 20  Lưới điều khiển Bézier với 30 điểm ( 20,0,20) (20,0,40)  (20,0,0) ( 21.05,15.44,0) ( 21.05,15.44,20)   (0.1,32.61,0)    (20,0,0) ( 20,0,20) ( 20,0,40)       Khảm (Tessellation )   "tessellate" xếp đặt hình vng nhỏ theo mẫu khảm Hai loại khảm    Sử dụng đa giác (tam giác, hình vuông, lục giác) Sử dụng tam giác không (TIN – Triagulated Irregular Network Model) TIN có khả biểu diễn bề mặt liên tục từ tập điểm liệu rời rạc khơng gian   Về mặt hình học, chúng tập đỉnh nối với thành tam giác để hình thành bề mặt 3D Trong tam gác mặt phẳng  Bề mặt thơ cần nhiều điểm vào cịn bề mặt trơn tru cần điểm vào Thí dụ khảm (Tessellation ) Khỉ đầu chó raster 200x200 Lưới tam giác khơng Lưới TIN tô màu Kỹ thuật xây dựng TIN  Sơ đồ Voronoi  Thí dụ: Phân hoạch vùng cho cột điện thoại thành phố   1850: Peter Lejeune-Dirichlet  1908: Voronoi công bố Định nghĩa  Gọi P = {p1, p2, ,pn} tập điểm mặt phẳng Euclidean hai chiều Gọi điểm site Hãy phân hoạch mặt phẳng theo cách gán điểm cho site gần Tồn điểm vùng gán cho site hình thành vùng Voronoi V(pi) V(pi) bao gồm điểm gần site pi site khác  V ( pi )  x : pi  x  p j  x ,  j  i  Sơ đồ Voronoi   Sơ đồ Voronoi vị trí p1, p2  Gọi B(p1, p2) = B12 đường phân giác vng góc với đoạn p1, p2  Tính chất: Mọi điểm x B12 cách p1 p2 hay |p1x | = | p2x | x p1 B12 p2 Sơ đồ Voronoi vị trí  Các vị trí p1, p2, p3 tạo thành tam giác  Tính chất: Sơ đồ chứa đường phân giác vng góc B12, B23 B31 Theo Euclid chúng gặp điểm – tâm đường trịn qua ba đỉnh tam giác  Sơ đồ Voronoi ba điểm điểm B23 p2 p3 B12 B31 p1 Xây dựng TIN  Tam giác TIN thỏa mãn tiêu thức Delauney  Năm 1934 Delauney chứng minh    Nếu nối cặp site sơ đồ Voronoi có hai đa giác chia sẻ cạnh đoạn thẳng ta có tam giác site Các tam giác thỏa mãn tiêu thức Delauney: vịng trịn ngoại tiếp chúng khơng bao site khác Tính chất tam giác Delauney  Tồn sơ đồ Voronoi tương ứng với tập điểm cho trước  Nếu v đỉnh Voronoi giao vùng V(p1), V(p2) V(p3) v tâm vịng trịn C(v) xác định p1, p2, p3 bên vòng tròn không chứa đỉnh khác Xây dựng TIN Hình thành TIN từ sơ đồ Voronoi ... (1  t ) 2!1! 3! B3,3  t (1  t )  t 3!0! B0 ,3  V2 V0 V3 [(1-t)3]+[3t(1-t)2]+[3t2(1-t)]+t3=1 P(t) = (1-t)3V0 + 3(1-t)2tV1+3(1-t)t2P2+t3V3 Dạng ma trận đường cong Bézier  Với đường cong bậc... 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 cho x, y, z bảo đảm tính liên tục C1  P Q đường cong bậc Q(t)=(1-t)3V0+3t(1-t)2V1+3t2(1-t)p2+t3V3  Q (t )  (1  t )...  x i i 0 n – nguyên dương, a0, a1, , an số thực   Đa thức thuận tiện cho tính tốn 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ả dễ dàng tính

Ngày đăng: 26/10/2021, 13:23

Hình ảnh liên quan

Hình thành TIN từ sơ đồ Voronoi - Bài giảng Đồ họa máy tính: Chương 7 - ThS. Trần Thị Minh Hoàn

Hình th.

ành TIN từ sơ đồ Voronoi Xem tại trang 26 của tài liệu.

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan