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