Hãy A
được ma trận điểm 4x4 MATLAB, thu được từ chức năng xem bằng cách:Matlab 3D xem ma trận
A = view;
A(1:3,1:3)
phải tương ứng với luân chuyển và mở rộng quy mô,
A(1:3,4)
phải tương ứng với dịch thuật và
A(4,:)
nên chỉ đơn giản là [0 0 0 1]
.
Khi cài đặt các thông số máy ảnh để kịch bản đơn giản sau đây:
Tôi nhận được rằng A = view
là:
-1 0 0 0.5
0 1 0 -0.5
0 0 1 -0.5
0 0 0 1
Bây giờ tôi không thể tìm chúng tôi, nơi 0,5 của đến từ . Lưu ý rằng tôi đặt vị trí máy ảnh thành [0,0,0] vì vậy không nên dịch.
tính đặc thù khác, thiết lập các vị trí camera tới [0,0,10] bởi:
set(gca, 'CameraPosition', [0,0,10])
kết quả trong A: = xem ma trận trở
1 0 0 -0.5
0 1 0 -0.5
0 0 -1 5.5
0 0 0 1
Vì vậy, tôi đã nhận thấy sự -0,5 đã thay đổi thành 5,5 trong A(3,4)
và điều này bằng cách nào đó phải làm với 5 = 10/2.
Tức là, thay đổi vị trí của máy ảnh thành [0,0, a] thay đổi ma trận xem tại A(3,4)
khoảng a/2
.
Đây là ... lạ? Riêng? Odd?
Cập nhật: Tuy nhiên, một phân tử khác là yếu tố quyết định A (1: 3,1: 3) là -1 mặc dù đối với ma trận xoay, nên 1. Khi đó -1 nghĩa là không chỉ xoay vòng cũng phản ánh. Tại sao chúng ta cần sự phản chiếu?
Tôi cũng nhận được kết quả tương tự, thật kỳ lạ ... Vì giá trị của nó, hãy xem [thread] này (http://www.mathworks.com/matlabcentral/answers/15887-how-to-render-an-accurate-image-of-a-3d-model) đề cập đến một số thuộc tính trục không có giấy tờ liên quan đến chế độ xem 3D và 2D sự chiếu – Amro