objmodel.m

来自「用MATLAB实现模拟立方体的重构」· M 代码 · 共 32 行

M
32
字号
function X=objmodel(cubelengh,position,angle)

%产生立方体模型的函数
%其中cubelengh为立方体边长,position为形如[ox oy oz]的三维向量表示立方体定点4在空间坐标中的位置
%angle也是三维向量,分别表示物体绕xyz轴的旋转角度

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

%旋转物体1
%rotate z-axis zangle degree(顺时针)
Rz=[cos(angle(3)) sin(angle(3)) 0;-sin(angle(3)) cos(angle(3)) 0;0 0 1];
%rotate y-axis yangle degree(顺时针)
Ry=[cos(angle(2)) 0 -sin(angle(2));0 1 0;sin(angle(2)) 0 cos(angle(2))];
%rotate x-axis xangle degree(顺时针)
Rx=[1 0 0;0 cos(angle(1)) sin(angle(1));0 -sin(angle(1)) cos(angle(1))];
R=Rx*Ry*Rz;
X=R*X;
%平移物体1
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 + -
显示快捷键?