介绍
Transform用于坐标的三维变换。
案例
Translate (Flag=1)
P1=[-1,1,1;1,1,1;1,-1,1;-1,-1,1;-1,1,-1;1,1,-1;1,-1,-1;-1,-1,-1];
T=Transform(P1);
T=Translate(T,-2,-1,3);
P2=Solve(T);
scatter3(P1(:,1),P1(:,2),P1(:,3), ...
'MarkerEdgeColor','k',...
'MarkerFaceColor',[0 .75 .75]);
hold on
scatter3(P2(:,1),P2(:,2),P2(:,3), ...
'MarkerEdgeColor','k',...
'MarkerFaceColor',[1 0 0]);
axis equal
平移变换

Scale (Flag=2)
P1=[-1,1,1;1,1,1;1,-1,1;-1,-1,1;-1,1,-1;1,1,-1;1,-1,-1;-1,-1,-1];
T=Transform(P1);
T=Scale(T,2,1,3);
P2=Solve(T);
scatter3(P1(:,1),P1(:,2),P1(:,3), ...
'MarkerEdgeColor','k',...
'MarkerFaceColor',[0 .75 .75]);
hold on
scatter3(P2(:,1),P2(:,2),P2(:,3), ...
'MarkerEdgeColor','k',...
'MarkerFaceColor',[1 0 0]);
axis equal
缩放

Rotate (Flag=3)
P1=[-1,1,1;1,1,1;1,-1,1;-1,-1,1;-1,1,-1;1,1,-1;1,-1,-1;-1,-1,-1];
T=Transform(P1);
T=Rotate(T,45,0,0);
P2=Solve(T);
scatter3(P1(:,1),P1(:,2),P1(:,3), ...
'MarkerEdgeColor','k',...
'MarkerFaceColor',[0 .75 .75]);
hold on
scatter3(P2(:,1),P2(:,2),P2(:,3), ...
'MarkerEdgeColor','k',...
'MarkerFaceColor',[1 0 0]);
axis equal
旋转

Scale wirh origin point (Flag=4)
P1=[-1,1,1;1,1,1;1,-1,1;-1,-1,1;-1,1,-1;1,1,-1;1,-1,-1;-1,-1,-1];
T=Transform(P1);
T=Scale(T,2,1,3,'Ori',[-1,-1,-1]);
P2=Solve(T);
scatter3(P1(:,1),P1(:,2),P1(:,3), ...
'MarkerEdgeColor','k',...
'MarkerFaceColor',[0 .75 .75]);
hold on
scatter3(P2(:,1),P2(:,2),P2(:,3), ...
'MarkerEdgeColor','k',...
'MarkerFaceColor',[1 0 0]);
axis equal
绕原点缩放

Rotate wirh origin point (Flag=5)
P1=[-1,1,1;1,1,1;1,-1,1;-1,-1,1;-1,1,-1;1,1,-1;1,-1,-1;-1,-1,-1];
T=Transform(P1);
T=Rotate(T,0,0,45,'Ori',[-1,-1,-1]);
P2=Solve(T);
scatter3(P1(:,1),P1(:,2),P1(:,3), ...
'MarkerEdgeColor','k',...
'MarkerFaceColor',[0 .75 .75]);
hold on
scatter3(P2(:,1),P2(:,2),P2(:,3), ...
'MarkerEdgeColor','k',...
'MarkerFaceColor',[1 0 0]);
axis equal
绕原点旋转

本网站基于Hexo 3-Hexz主题生成。如需转载请标注来源,如有错误请批评指正,欢迎邮件至 392176462@qq.com