Các kỹ thuật xử lý đồ họa 3D Các kỹ thuật xử lý đồ họa 3D Các kỹ thuật xử lý đồ họa 3D Các kỹ thuật xử lý đồ họa 3D Các kỹ thuật xử lý đồ họa 3D Các kỹ thuật xử lý đồ họa 3D Các kỹ thuật xử lý đồ họa 3D Các kỹ thuật xử lý đồ họa 3D Các kỹ thuật xử lý đồ họa 3D Các kỹ thuật xử lý đồ họa 3D Các kỹ thuật xử lý đồ họa 3D Các kỹ thuật xử lý đồ họa 3D Các kỹ thuật xử lý đồ họa 3D Các kỹ thuật xử lý đồ họa 3D Các kỹ thuật xử lý đồ họa 3D Các kỹ thuật xử lý đồ họa 3D Các kỹ thuật xử lý đồ họa 3D Các kỹ thuật xử lý đồ họa 3D Các kỹ thuật xử lý đồ họa 3D Các kỹ thuật xử lý đồ họa 3D
CÁC KỸ THUẬT XỬ LÝ ĐỒ HỌA 3D Mục tiêu: Cung cấp khái niệm đồ họa không gian chiều (3D), phương pháp biểu diễn đối tượng 3D Các kỹ thuật xử lý đối tượng 3D đồ họa Phương pháp thể (vẽ) đối tượng 3D lên hình Từ lập trình kỹ thuật tính tốn để xử lý đối tượng 3D phép quay, tịnh tiến, co giãn, biến dạng, thuật toán phép chiếu song song, chiếu phối cảnh để vẽ hình 3D lên hình Nội dung: I Giới thiệu đồ họa không gian 3D Các đối tượng giới thực phần lớn đối tượng ba chiều, nên việc thể đối tượng ba chiều máy tính một công việc hết sức cần thiết để đưa tin học gần gũi với thực tế Cũng giống cách biểu diễn đối tượng ba chiều mặt phẳng khác (như máy ảnh, camera, ), biểu diễn bằng máy tính cũng phải tuân theo quy luật phối cảnh, sáng, tối, nhằm giúp người xem tưởng tượng lại hình ảnh một cách gần Ngoài biểu diễn máy tính có ưu giúp ta quan sát đối tượng ở nhiều góc cạnh khác nhau, ở khoảng cách khác Phần giới thiệu một số kĩ thuật biểu diễn đối tượng ba chiều máy tính, từ đối tượng đơn giản hình khối, đa diện, đến đối tượng tương đối phức tạp Hệ tọa độ Hệ tọa độ dùng để biểu diễn điểm không gian Hệ tọa độ Đề - biểu diễn một điểm gồm bộ giá trị (x,y,z) tương ứng với hoành độ, tung độ cao độ Hệ tọa độ biểu diễn theo quy tắc bàn tay phải: để bàn tay phải cho ngón hướng theo trục z, nắm tay lại, tay chuyển động theo hướng từ trục x đến trục y Hình 1: Minh họa hệ tọa độ bàn tay phải Hệ tọa tọa độ theo qui ước bàn tay trái : để bàn tay phải cho ngón hướng theo trục z, nắm tay lại, ngón tay chuyển động theo hướng từ trục x đến trục y Hình 2: Minh họa hệ tọa độ bàn tay trái Hệ tọa tọa độ nhất: Mỗi điểm (x, y, z) không gian Đề-các biểu diễn bởi một bộ bốn tọa độ không gian chiều thu gọn (hx, hy, hz, h) Người ta thường chọn h = Hệ tọa độ cầu biểu diễn một điểm không gian dựa bộ ba (R, , ), đó: R khoảng cách từ điểm đến gốc tọa độ góc lệch so với Ox mặt phẳng Oxy góc lệch so với mặt phẳng Oxy Hình Minh họa hệ tọa độ cầu Mơ hình WireFrame Một phương pháp thơng dụng đơn giản để mơ hình hóa đối tượng mơ hình khung nối kết (WireFrame) Một mơ hình khung nối kết gồm có một tập đỉnh tập cạnh nối đỉnh Khi thể bằng mơ hình này, đối tượng ba chiều có vẻ rỡng khơng giống thực tế Để hồn thiện hơn, người ta dùng kĩ thuật tạo bóng loại bỏ đường mặt khuất Tuy nhiên vẽ bằng mơ hình thường nhanh nên người ta thường dùng việc xem phác thảo (preview) đối tượng, đặc biệt hệ CAD Danh sách đỉnh Vertex x y x 0 1 0.5 1.5 0 0 1 Kỹ thuật lập trình đồ họa mặt sau mặt trước Với mơ hình khung nối kết, hình dạng đối tượng ba chiều biểu diễn bằng hai danh sách (list) : danh sách đỉnh (vertices) danh sách cạnh (edges) nối đỉnh Danh sách đỉnh cho biết thơng tin hình học vị trí đỉnh, cịn danh sách cạnh xác định thơng tin sự kết nối, cho biết cặp đỉnh tạo cạnh Chúng ta quan sát một vật thể ba chiều biểu diễn bằng mơ hình khung nối kết sau : 1 0.5 1.5 10 1 Hình 4: Vật thể 3D biểu diễn mơ hình Wire Frame DANH SÁCH CẠNH Edge Vertex1 Vertex2 10 11 12 13 14 15 16 17 10 2 10 6 10 3 Các phép biến đổi 3D Phép biến đổi một đối tượng A{ (xi, yi, zi) | i=1,…,n } thành A’{ (x’i, y’i, z’i) với i=1,…,n } Đặc điểm: Thực biến đổi điểm độc lập Số lượng điểm không thay đổi Tập cạnh không đổi Mở rộng từ phép biến đổi 2D Biến một điểm P(x,y,z) thành điểm Q(x’,y’,z’) Dạng ma trận: Q[x’,y’,z’,1] = P[x, y, z,1]M M ma trận biến đổi m11 m 21 m31 m41 m12 m22 m13 m23 m32 m42 m33 m43 0 0 0 1 a Phép tịnh tiến (Translation ) Phép tịnh tiến (translation) với véc tơ tịnh tiến (Tx,Ty,Tz) ta có ma trận M sau: Hình Minh họa phép tịnh tiến b Phép co giãn (Scaling) Tỷ lệ co giãn theo chiều (Sx,Sy,Sz), ta có ma trận M sau: Hình Minh họa phép co giãn c Phép biến dạng (Shear) Hệ số biến dạng (b,c,d,f,g,h) ta có ma trận M sau: d Phép đối xứng (Mirror) Đối xứng qua trục tọa độ với tham số (Mx, My, Mz) ma trận M sau: Đối xứng qua trục Ox: Mx=1, My=-1, Mz=-1 Đối xứng qua trục Oy: Mx=-1, My=1, Mz=-1 Đối xứng qua trục Oz: Mx=-1, My=-1, Mz=1 Đối xứng qua gốc tọa độ O: Mx=-1, My=-1, Mz=-1 Hình 7: Minh họa phép đối xứng e Phép quay (Rotation) Đơn giản phép quay quanh trục tọa độ với góc quay dương, quay trở phép quay 2D quanh gốc tọa độ i Quay quanh trục Oz Quay quanh trục Oz với góc quay , có ma trận M sau: Hình Minh họa phép quay quanh trục Oz ii Quay quanh trục Oz Quay quanh trục Oy với góc quay , có ma trận M sau: Hình 9: Minh họa phép quay quanh Oy iii Quay quanh trục Oz Quay quanh trục Oy với góc quay , có ma trận M sau: Hình 10: Minh họa phép quay quanh Ox iv Quay quanh trục song song với trục tọa độ Tịnh tiến trục quay trùng với trục TĐ Thực quay quanh trục TĐ Tịnh tiến ngược lại vị trí ban đầu Hình 11: Minh họa quay quanh trục song song với trục tọa độ Ví dụ: Thực phép quay với trục quay song song với Oz qua điểm (XR,YR,0) với góc Ta thực bước: Tịnh tiến trục quay đến Oz - MT1; Quay quanh Oz - MROz; Tịnh tiến ngược lại – MT2 v Trục quay Trục quay (V) (1) Tịnh tiến V đến vị trí gốc TĐ (sao cho V qua gốc TĐ) (2) Thực với trục quay qua gốc ở (3) Tịnh tiến ngược lại so với (1) Trục quay qua gốc tọa độ (V) (1) Quay V một mặt phẳng tọa độ (Oxzquanh Ox) (2) Quay V trục tọa độ (Oxquanh Oz) (3) Quay đối tượng quanh Ox (4) Thực ngược lại 21 Các phép chiếu 3D Định nghĩa về phép chiếu Một cách tổng quát, phép chiếu phép chuyển đổi điểm đối tượng hệ thống tọa độ n chiều thành điểm hệ thống tọa độ có số chiều nhỏ n Định nghĩa về hình chiếu Ảnh đối tượng mặt phẳng chiếu hình thành từ phép chiếu bởi đường thẳng gọi tia chiếu (projector) xuất phát từ một điểm gọi tâm chiếu (center of projection) qua điểm đối tượng giao với mặt chiếu (projection plan) Các bước xây dựng hình chiếu Đối tượng không gian 3D với tọa độ thực cắt theo một không gian xác định gọi view volume View volume chiếu lên mặt phẳng chiếu Diện tích chốn bởi view volume mặt phẳng chiếu cho khung nhìn Là việc ánh xạ khung nhìn vào một cổng nhìn cho trước hình để hiển thị hình ảnh Hình 12: Minh họa chiếu phối cảnh song Hình 13: Minh họa chiếu song a Phép chiếu song song Phép chiếu song song (Parallel Projections) phép chiếu mà ở tia chiếu song song với hay xuất phát từ điểm vô Phân loại phép chiếu song song dựa hướng tia chiếu (Direction Of Projection) mặt phẳng chiếu (projection plane) Phép chiếu trực giao Là phép chiếu song song tia chiếu vng góc với mặt phẳng chiếu Về mặt tốn học, phép chiếu trực giao phép chiếu với một mặt phẳng toạ độ có giá trị bằng Thường dùng mặt phẳng z=0, x=0 y=0 Ứng với mỡi mặt phẳng chiếu ta có một ma trận chiếu tương ứng Muốn biến điểm P(x,y,z) thành điểm Q qua phép chiếu trực giao tọa độ Q xác định sau: Q(x,y,z,1) = P(x,y,z,1)*M4*4 (M ma trận chiếu) Với mặt phẳng chiếu Oxy (z=0), ma trận chiếu là: Với mặt phẳng chiếu Oyz (x=0), ma trận chiếu là: Với mặt phẳng chiếu Oxz (y=0), ma trận chiếu là: Hình 14: Hinh minh họa phép chiếu trực giao b Phép chiếu phối cảnh Phép chiếu phối cảnh phép chiếu mà tia chiếu không song song với mà xuất phát từ một điểm gọi tâm chiếu Phép chiếu phối cảnh tạo hiệu ứng luật xa gần tạo cảm giác độ sâu đối tượng giới thật mà phép chiếu song song không lột tả Các đoạn thẳng song song mơ hình 3D sau phép chiếu hội tụ một điểm gọi điểm triệt tiêu (vanishing point) Phân loại phép chiếu phối cảnh dựa vào tâm chiếu - Centre Of Projection (COP) mặt phẳng chiếu projection plane Phép chiếu phối cảnh gồm tâm chiếu, tâm chiếu, tâm chiếu Hình 15: Minh họa chiếu phối cảnh i Phép chiếu phối cảnh tâm chiếu Giả sử mặt phẳng đặt z=0 tâm chiếu nằm trục z, cách trục z một khoảng zc= -1/r Phương trình biến đổi: Ma trận biến đổi Tr có dạng: Hình 16 Minh họa chiếu phối cảnh tâm chiếu ii Phép chiếu phối cảnh tâm chiếu Tâm chiếu nằm trục x, cách x khoảng -1/p Tâm chiếu nằm trục y, cách y khoảng -1/q Tọa độ tâm chiếu Điểm triệt tiêu trục x, y là: Phương trình biến đổi iii Phép chiếu phối cảnh tâm chiếu Tâm chiếu trục x điểm [-1/p 0 1] Tâm chiếu trục y điểm [0 -1/q 1] Tâm chiếu trục z điểm [ 0 -1/r 1] Điểm triệt tiêu -VP tương ứng [1/p 0 1], [0 1/q 1], [ 0 1/r 1] Phương trình biến đổi Chúc Anh/ Chị học tập tốt! Bài - Kỹ thuật lập trình đồ họa Trang ... (preview) đối tượng, đặc biệt hệ CAD Danh sách đỉnh Vertex x y x 0 1 0.5 1.5 0 0 1 Kỹ thuật lập trình đồ họa mặt sau mặt trước Với mơ hình khung nối kết, hình dạng đối tượng ba chiều biểu... 0 1], [0 1/q 1], [ 0 1/r 1] Phương trình biến đổi Chúc Anh/ Chị học tập tớt! Bài - Kỹ thuật lập trình đồ họa Trang ... độ (Oxquanh Oz) (3) Quay đối tượng quanh Ox (4) Thực ngược lại 21 Các phép chiếu 3D Định nghĩa về phép chiếu Một cách tổng quát, phép chiếu phép chuyển đổi điểm đối tượng hệ thống tọa