model.m

来自「用MATLAB实现计算机视觉中三维重构所需的基本矩阵的运算」· M 代码 · 共 38 行

M
38
字号
% 生成立方体8个点的坐标矩阵
% length:立方体边长
% posiion:平移量  angle:旋转量
function X=model(length,position,angle)

X1=[length;0;0];
X2=[length;length;0];
X3=[0;length;0];
X4=[0;0;0];
X5=[length;0;length];
X6=[length;length;length];
X7=[0;length;length];
X8=[0;0;length];

X=[X1 X2 X3 X4 X5 X6 X7 X8];

%x轴旋转
Rx=[1 0 0;0 cos(angle(1)) sin(angle(1));0 -sin(angle(1)) cos(angle(1))];
%y轴旋转
Ry=[cos(angle(2)) 0 sin(angle(2));0 1 0;-sin(angle(2)) 0 cos(angle(2))];
%z轴旋转
Rz=[cos(angle(3)) sin(angle(3)) 0;-sin(angle(3)) cos(angle(3)) 0;0 0 1];

R=Rx*Ry*Rz;

X=R*X;

%加上偏移量(平移)
for i=1:8
    X(1,i)=X(1,i)+position(1);
    X(2,i)=X(2,i)+position(2);
    X(3,i)=X(3,i)+position(3);
end

    

 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?