空间变换是动画制作经常用到的技术手段,其空间变换有4种:平移变换,旋转变换,比例变换和错切变换。任何复杂的空间变换都可以经过若干以上4中基本空间变换得到。
工具/原料
-
电脑
-
MATLAB软件
方法/步骤
-
1
平移变换
图形中的平移变换就是指图形位置的平移,而不发生变形和转动。图形的平移变换通过将图形中所有点(x,y,z)分别沿x,y,z轴平移a,b,c打扫信的空间位置(x,y,z)来实现。
如:
>> x=linspace(0,2*pi,37);
xt=linspace(0,2*pi,37);
x=cos(xt);
y=sin(xt);
plot(x,y,'r:');
axis([-2,15,-2,15]);
hold on
for i=1:10
x=x+1;
y=y+1;
plot(x,y)
pause(0.2)
end
-
2
旋转变换
图形的旋转变换是指图形绕图形某轴旋转一定角度,而形状不发生改变。旋转变换可以通过将图形中所有点(x,y,z)绕坐标轴旋转一定角度后达到新的空间位置来实现。
如:
>> x=linspace(-2,2,21);
>> y=x.^2;
>> f=linspace(0,2*pi,37);
>> axis([-5,5,-5,5]);
>> hold on
>> for i=1:37
a=f(i);
x1=x*cos(a)+y*sin(a);
y1=y*cos(a)-x*sin(a);
plot(x1,y1);
pause(0.2)
end
-
3
比例变换
图形比例变换是指图形沿着某一方向按照一定比例改变空间尺寸。比例变换可以通过将图形中所有点的x轴,y轴,z轴3个方向坐标值按照一定比例进行缩放来完成。
如:
>> x=[1,2,2,1,1];
y=[1,1,2,2,1];
f=linspace(1,9,37);
axis([0,20,0,20])
hold on
for i=1:37
a=f(i);
x1=a*x;
y1=a*y;
plot(x1,y1)
pause(0.2)
end
-
4
错切变换
错切变换是指三维物体的某一面(或二维物体的某一边)沿指定方向的移动叫错切。
如:
>> x=[1,2,2,1,1];
>> y=[1,1,2,2,1];
>> f=linspace(1,9,37);
>> plot(x,y,'.r')
>> axis([0,20,0,10]);
>> hold on
>> for i=1:37
a=f(i);
x1=x+a*y;
y1=y+0.3*a*x;
plot(x1,y1)
pause(0.2)
end
END
文章评论