Hình đa diện, khối đa diện

Một phần của tài liệu xử lý đồ họa trong matlab phục vụ cho công cụ toán học ở trường phổ thông (Trang 53 - 55)

8. Cấu trúc luận văn

2.5.9. Hình đa diện, khối đa diện

2.5.9.1. Hình chóp, khối chóp

Để vẽ một hình chóp chúng ta có hai cách thực hiện. Thứ nhất là dựng lần lƣợt các cạnh bên và cạnh đáy của nó bằng việc nối các cặp đỉnh tƣơng ứng với cạnh đó. Thứ hai ta có thể dựng theo mặt của hình chóp. Mỗi hình chóp đƣợc tạo thành từ các mặt bên và mặt đáy dựa trên các nút đỉnh của mặt đó. Trƣờng hợp đầu xây dựng là đơn giản sử dụng cách vẽ đoạn thẳng ta đã nêu ở trên, phần này ta chủ yếu đề cập đến trƣờng hợp thứ hai sử dụng hàm vẽ patch. Giả sử ta cần vẽ hình tứ diện SABC, S(0, 0, 1), A(0, 0, 0), B(0, 1, 0), C(1, 0, 0).

Thứ tự Đỉnh Tọa độ đỉnh Mặt x y z 1 S 0 0 1 1 2 3 (SAB) 2 A 0 0 0 1 3 4 (SBC) 3 B 0 1 0 1 4 2 (SCA) 4 C 1 0 0 2 3 4 (ABC) Các bƣớc thực hiện nhƣ sau:  Lập ma trận tọa độ đỉnh nodes = [0 0 1;0 0 0;0 1 0;1 0 0];  Lập ma trận xác định các mặt của tứ diện faces = [1 2 3;1 3 4;1 4 2;2 3 4];

 Gọi hàm patch để vẽ các mặt của tứ diện

2.5.9.2. Hình lăng trụ, khối lăng trụ

Vẽ hình lăng trụ giống với vẽ hình chóp có hai cách; Cách thứ nhất là dựng lần lƣợt các cạnh bên và cạnh đáy của nó bằng việc nối các cặp đỉnh tƣơng ứng với cạnh đó dùng hàm plot3. Cách thứ hai ta vẽ các mặt của lăng trụ bằng cách lập các ma trận tọa độ đỉnh và ma trận xác định các mặt của lăng trụ rồi dùng hàm patch trong MATLAB để vẽ.

Ví dụ vẽ hình hộp đơn vị:

Hình 15. Phân tích hình đa diện

Giải pháp trong MATLAB

% lập ma trận tọa độ đỉnh

nodes = [0 0 0;1 0 0;1 1 0;0 1 0;0 0 1;1 0 1;1 1 1;0 1 1]; % lập ma trận xác định mặt của hình hộp

faces = [1 2 6 5;2 3 7 6;3 4 8 7;4 1 5 8;1 2 3 4;5 6 7 8]; % gọi hàm patch để vẽ

Hình 16. Biểu diễn hình hộp

2.5.10. Mặt tròn xoay

Một phần của tài liệu xử lý đồ họa trong matlab phục vụ cho công cụ toán học ở trường phổ thông (Trang 53 - 55)

Tải bản đầy đủ (PDF)

(108 trang)