Bài giảng Đồ họa máy tính: Giới thiệu đồ họa 3 chiều do TS. Đào Nam Anh biên soạn cung cấp cho người học các kiến thức tổng quan về đồ họa ba chiều, biểu diễn đối tượng ba chiều. Mời các bạn cùng tham khảo nội dung chi tiết.
Computer Graphics ĐỒ HỌA MÁY TÍNH GIỚI THIỆU ĐỒ HỌA BA CHIỀU Ts Đào Nam Anh Computer Graphics NỘI DUNG I TỔNG QUAN VỀ ĐỒ HỌA BA CHIỀU II BIỂU DIỄN ĐỐI TƯỢNG BA CHIỀU Trang đầu Computer Graphics Tham khảo Francis S Hill Computer Graphics Macmillan Publishing Company, NewYork, 1990, 754 tr James D.Foley, Andries Van Dam, Feiner, John Hughes Introduction to Computer Graphics Addision Wesley, NewYork, 1995, 559 tr James D.Foley, Andries Van Dam, Feiner, John Hughes Computer Graphics - Principle and Practice Addision Wesley, NewYork, 1996, 1175 tr Dương Anh Đức, Lê Đình Duy Giáo trình Đồ họa máy tính Khoa Công nghệ thông tin, Trường Đại học Khoa học Tự nhiên (lưu hành nội bộ), 1996, 237 tr Hồng Kiếm, Dương Anh Đức, Lê Đình Duy, Vũ Hải Qn Giáo trình Cơ sở Đồ họa Máy Tính, NXB Giáo dục, 2000 Donald Hearn, M.Pauline Baker Computer Graphics, C version Prentice Hall International Inc, Upper Saddle River, New Jersey, 1997, 652tr Trang đầu Computer Graphics GIỚI THIỆU ĐỒ HỌA BA CHIỀU 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 cơng việ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 máy tính 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 cách gần Ngồ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 Trang đầu cách khác Computer Graphics GIỚI THIỆU ĐỒ HỌA BA CHIỀU Chương giới thiệu 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 mặt tìm hiểu chương trước Trang đầu Computer Graphics TỔNG QUAN VỀ ĐỒ HỌA BA CHIỀU Khi mơ hình hóa hiển thị cảnh ba chiều, ta cần phải xem xét nhiều khía cạnh vấn đề khác Bề mặt đối tượng xây dựng nhiều tổ hợp khác mặt phẳng mặt cong Ngồi ra, đơi cần mô tả số thông tin bên đối tượng Các công cụ hỗ trợ đồ họa (graphics package) thường cung cấp số hàm hiển thị thành phần bên trong, đường nét tiêu biểu hiển thị phần đối tượng ba chiều (solid object) Trang đầu Computer Graphics TỔNG QUAN VỀ ĐỒ HỌA BA CHIỀU Các phép biến đổi hình học thường sử dụng nhiều đa dạng đồ họa ba chiều so với đồ họa hai chiều Phép biến đổi hệ quan sát không gian ba chiều phức tạp nhiều so với không gian hai chiều phải chọn lựa nhiều tham số mô tả cảnh ba chiều xuất Trang đầu Computer Graphics TỔNG QUAN VỀ ĐỒ HỌA BA CHIỀU Các mô tả cảnh ba chiều phải qua quy trình xử lí gồm nhiều cơng đoạn phép biến đổi hệ tọa độ quan sát phép chiếu chuyển cảnh từ hệ tọa độ quan sát ba chiều xuống hệ tọa độ thiết bị hai chiều Những phần nhìn thấy cảnh, ứng với hệ quan sát chọn đó, phải xác định cuối cùng, thuật toán vẽ mặt áp dụng nhằm tạo hình ảnh trung thực (gần với thực tế) cảnh Trang đầu Computer Graphics TỔNG QUAN VỀ ĐỒ HỌA BA CHIỀU Sơ lược quy trình hiển thị Quy trình xử lí thông tin đồ họa ba chiều chuỗi bước nối tiếp nhau, kết bước đầu vào bước Bắt đầu việc xây dựng mơ hình đối tượng Các mơ hình thường mơ tả khơng gian ba chiều (x,y,z) Các mơ hình thường thể vật thể (solid) bề mặt (boundaries) đối tượng Trang đầu Computer Graphics TỔNG QUAN VỀ ĐỒ HỌA BA CHIỀU Sơ lược quy trình hiển thị 10 Có hai kiểu mơ hình hóa Trong solid modeling đối tượng đồ họa sở thường dùng để mơ tả đối tượng tích (volume) Trong boundary representations(B-reps), đối tượng định nghĩa bề mặt chúng Các mơ hình thường biểu diễn hệ tọa độ cục bộ, gọi hệ tọa độ đối tượng Trong hệ tọa độ có thân đối tượng định nghĩa, gốc tọa độ đơn vị đo lường chọn cho việc biểu diễn đối tượng tiện lợi Trang đầu Computer Graphics BIỂU DIỄN ĐỐI TƯỢNG BA CHIỀU Biểu diễn mặt đa giác 40 Trong số trường hợp, ta có khả chọn lựa sử dụng biểu diễn đa giác Tuy nhiên, số hệ thống đồ họa cho phép khả biểu diễn khác ví dụ mặt cong spline Trang đầu Computer Graphics BIỂU DIỄN ĐỐI TƯỢNG BA CHIỀU Biểu diễn mặt đa giác 41 Biểu diễn mặt đa giác đa diện cho định nghĩa xác đặc tính đối tượng Nhưng đối tượng khác ta nhận biểu diễn gần Hình bên cho biểu diễn hình trụ tập hợp mặt đa giác Biểu diễn dạng wireframe cho phép hiển thị đối tượng nhanh Khi cần thể đối tượng thực hơn, ta Mơ hình wireframe hình trụ dùng kĩ thuật tạo bóng nội suy (interpolating shading) Trang đầu Computer Graphics BIỂU DIỄN ĐỐI TƯỢNG BA CHIỀU Biểu diễn mặt đa giác Biểu diễn bảng đa giác 42 Ta biểu diễn mặt đa giác tập hợp đỉnh thuộc tính kèm theo Khi thơng tin mặt đa giác nhập, liệu điền vào bảng dùng cho xử lí tiếp theo, hiển thị biến đổi Các bảng liệu mô tả mặt đa giác tổ chức thành hai nhóm: bảng hình học bảng thuộc tính Các bảng lưu trữ liệu hình học chứa tọa độ đỉnh tham số cho biết định hướng không gian mặt đa giác Thông tin thuộc tính đối tượng chứa tham số mơ tả độ suốt, tính phản xạ thuộc tính texture đối tượng Trang đầu Computer Graphics BIỂU DIỄN ĐỐI TƯỢNG BA CHIỀU Biểu diễn mặt đa giác Biểu diễn bảng đa giác 43 Một cách tổ chức thuận tiện để lưu trữ liệu hình học tạo ba danh sách: bảng lưu đỉnh, bảng lưu cạnh bảng lưu đa giác Các giá trị tọa độ cho đỉnh đối tượng chứa bảng lưu đỉnh Bảng cạnh chứa trỏ trỏ đến bảng đỉnh cho biết đỉnh nối với cạnh đa giác Bảng lưu đa giác chứa trỏ trỏ tới bảng lưu cạnh cho biết cạnh tạo nên đa giác Trang đầu Computer Graphics BIỂU DIỄN ĐỐI TƯỢNG BA CHIỀU Biểu diễn mặt đa giác Biểu diễn bảng đa giác 44 Ngồi ra, ta thêm số thông tin bổ sung vào bảng để xử lí nhanh cần truy xuất thơng tin Ví dụ, ta thêm trỏ từ cạnh đến đa giác chứa Tương tự, ta thêm thơng tin bảng lưu đỉnh để biết cạnh kề với đỉnh cho trước … Vì bảng lưu thơng tin đối tượng phức tạp nên việc kiểm tra tính đắn đầy đủ liệu quan trọng Trang đầu Computer Graphics BIỂU DIỄN ĐỐI TƯỢNG BA CHIỀU Biểu diễn mặt đa giác Phương trình mặt phẳng 45 Để thực việc hiển thị đối tượng ba chiều, ta phải xử lí liệu nhập thơng qua quy trình gồm nhiều bước Trong số bước này, ta cần thông tin định hướng đối tượng thông tin định hướng mặt đối tượng khơng gian Những thơng tin lấy thông qua tọa độ đỉnh phương trình mơ tả mặt đa giác đối tượng Trang đầu Computer Graphics BIỂU DIỄN ĐỐI TƯỢNG BA CHIỀU Biểu diễn mặt đa giác Phương trình mặt phẳng 46 Phương trình biểu diễn mặt phẳng có dạng: Ax + By + Cz + D = (5.1) (x,y,z) điểm mặt phẳng A, B, C, D số diễn tả thông tin không gian mặt phẳng Để xác định phương trình mặt phẳng, ta cần biết ba điểm không thẳng hàng mặt phẳng Để xác định phương trình mặt phẳng qua đa giác, ta sử dụng tọa độ ba đỉnh (x1,y1), (x2,y2) , (x3,y3) , đa giác Từ (5.1) Axk + Byk + Czk + D = 0, k=1,2,3 (5.2) Trang đầu Computer Graphics BIỂU DIỄN ĐỐI TƯỢNG BA CHIỀU Biểu diễn mặt đa giác Phương trình mặt phẳng 47 Dùng quy tắc Cramer, ta xác định A, B, C, D theo công thức: Khai triển định thức ta công thức tường minh hệ số: Trang đầu Computer Graphics BIỂU DIỄN ĐỐI TƯỢNG BA CHIỀU Biểu diễn mặt đa giác Phương trình mặt phẳng 48 Hướng mặt phẳng thường xác định thông qua vector pháp tuyến Vector pháp tuyến n=(A,B,C), A, B, C hệ số phương trình mặt phẳng ta vừa tính (5.4) Vector pháp tuyến mặt phẳng Trang đầu Computer Graphics BIỂU DIỄN ĐỐI TƯỢNG BA CHIỀU Biểu diễn mặt đa giác Phương trình mặt phẳng 49 Vì ta thường làm việc với mặt bao quanh đối tượng nên ta cần phân biệt hai mặt mặt phẳng Mặt tiếp giáp với phần bên đối tượng ta gọi mặt trong, mặt mặt Nếu cạnh đa giác mô tả theo chiều ngược chiều kim đồng hồ, vector pháp tuyến mặt phẳng hướng từ (giả sử hệ tọa độ biểu diễn đối tượng hệ tọa độ bàn tay phải) Ví dụ, hình bên, vector pháp tuyến mặt phải khối lập phương đơn vị (mặt tơ) có phương trình mặt phẳng x-1=0 có vector pháp tuyến tương ứng (1,0,0); vector pháp tuyến hướng từ Trang đầu Computer Graphics BIỂU DIỄN ĐỐI TƯỢNG BA CHIỀU Biểu diễn mặt đa giác Phương trình mặt phẳng 50 Phương trình mặt phẳng dùng để xác định vị trí tương đối điểm khơng gian với mặt phẳng Nếu điểm P(x,y,z) không nằm mặt phẳng, lúc ta có: Ax + By + Cz + D Ta xác định P nằm phía hay nằm phía ngồi mặt phẳng nhờ vào dấu biểu thức Ax + By + Cz + D: Nếu Ax + By + Cz + D < 0, điểm P(x,y,z) nằm Nếu Ax + By + Cz + D > 0, điểm P(x,y,z) nằm Dấu hiệu kiểm tra cho hệ tọa độ bàn tay phải phương trình mặt phẳng tính từ tọa độ đỉnh đa giác cho theo chiều ngược chiều kim đồng hồ Đôi khi, hữu ích ta khảo sát đường mặt thơng qua phương trình tham số Trang đầu Computer Graphics BIỂU DIỄN ĐỐI TƯỢNG BA CHIỀU Biểu diễn mặt đa giác Phương trình mặt phẳng 51 Phương trình tham số mặt phương trình có hai tham số u, v Một điểm mặt có tọa độ biểu diễn dạng vector tham số: p(u, v) = (x(u, v), y(u, v), z(u, v)) Với cặp giá trị (u, v) ta có tọa độ (x, y, z) biểu diễn điểm bề mặt cho Các mặt phân biệt với hàm x(), y(), z() khác Trang đầu Computer Graphics BIỂU DIỄN ĐỐI TƯỢNG BA CHIỀU Biểu diễn mặt đa giác Phương trình mặt phẳng 52 Để giới hạn không gian mặt, thông thường người ta định lại tọa độ biên cho u, v tương ứng biến đổi đoạn Ví dụ, mặt cầu với bán kính r, tâm gốc tọa độ biểu diễn phương trình sau: x(u, v) = r sin( u) cos(2 v) y(u, v) = r sin( u) sin(2 v) z(u, v) = r cos( u) Trong u, v thay đổi đoạn [0,1] Một mặt phẳng xác định điểm với vector vị trí c hai vector a, b khơng phương Trang đầu Computer Graphics BIỂU DIỄN ĐỐI TƯỢNG BA CHIỀU Biểu diễn mặt đa giác Phương trình mặt phẳng 53 Nhận xét điểm mặt phẳng biểu diễn vector tổng sau: p(u, v) = c + au + bv Đây phương trình tham số mặt phẳng Trong phương trình u, v biến đổi khoảng mặt phẳng trải dài đến vô tận Tuy nhiên trường hợp cụ thể ta muốn dùng phần mặt phẳng, hình bình hành thơi chẳng hạn Các phần gọi planar patch, lúc ta tưởng tượng mặt phẳng ghép nối planar patch Trang đầu Computer Graphics Câu hỏi 54 https://sites.google.com/site/daonamanhedu/teaching/ computer-graphics Trang đầu ... 1997, 652tr Trang đầu Computer Graphics GIỚI THIỆU ĐỒ HỌA BA CHIỀU 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 cơng việc cần thiết để đưa tin... nhau, khoảng Trang đầu cách khác Computer Graphics GIỚI THIỆU ĐỒ HỌA BA CHIỀU Chương giới thiệu 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,... Graphics TỔNG QUAN VỀ ĐỒ HỌA BA CHIỀU Các phép biến đổi hình học thường sử dụng nhiều đa dạng đồ họa ba chiều so với đồ họa hai chiều Phép biến đổi hệ quan sát không gian ba chiều phức tạp nhiều