使用matlab验证modelview矩阵

来源:互联网 发布:数据科学导论 pdf下载 编辑:程序博客网 时间:2024/05/16 18:44
format compactposX = 3;    % 物体位置posY = -2;posZ = 4;
rotX = 15;   % 物体旋转角度rotY = 14;rotZ = 14;camX = 3;   % 摄像机位置camY = -2;camZ = 10;pitch = 14;  % 绕X轴heading = 10; % 绕Y轴roll = 14;   % 绕Z轴% 转成弧度rotX = deg2rad(rotX);rotY = deg2rad(rotY);rotZ = deg2rad(rotZ);% 模型平移矩阵tran_matrix = [   1 0 0 posX   0 1 0 posY   0 0 1 posZ   0 0 0 1];% 模型绕Z旋转矩阵rotZ_matrix = [    cos(rotZ) -sin(rotZ) 0 0   sin(rotZ)  cos(rotZ) 0 0   0          0         1 0   0          0         0 1];% 模型绕Y旋转矩阵rotY_matrix = [   cos(rotY)  0 sin(rotY) 0   0          1 0         0   -sin(rotY) 0 cos(rotY) 0   0          0 0         1];% 模型绕X旋转矩阵rotX_matrix = [   1 0         0          0   0 cos(rotX) -sin(rotX) 0   0 sin(rotX) cos(rotX)  0   0 0         0          1];%模型矩阵model =  tran_matrix * rotX_matrix * rotY_matrix * rotZ_matrix * eye(4);model% 转成弧度pitch = deg2rad(pitch);heading = deg2rad(heading);roll = deg2rad(roll);% 视图平移矩阵tran_matrix = [   1 0 0 -camX   0 1 0 -camY   0 0 1 -camZ   0 0 0 1];% 模型绕Z旋转矩阵rotZ_matrix = [    cos(-roll) -sin(-roll) 0 0   sin(-roll)  cos(-roll) 0 0   0          0         1 0   0          0         0 1];% 模型绕Y旋转矩阵rotY_matrix = [   cos(-heading)  0 sin(-heading) 0   0              1 0         0   -sin(-heading) 0 cos(-heading) 0   0              0 0         1];% 模型绕X旋转矩阵rotX_matrix = [   1 0           0          0   0 cos(-pitch) -sin(-pitch) 0   0 sin(-pitch) cos(-pitch)  0   0 0           0          1];view = rotZ_matrix * rotY_matrix  * rotX_matrix * tran_matrix * eye(4);viewmodelview = view * model

0 0
原创粉丝点击