MATLAB如何实现图形变换

2022年2月28日 27点热度 0人点赞

      空间变换是动画制作经常用到的技术手段,其空间变换有4种:平移变换,旋转变换,比例变换和错切变换。任何复杂的空间变换都可以经过若干以上4中基本空间变换得到。

工具/原料

  • 电脑
  • MATLAB软件

方法/步骤

  1. 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. 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. 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. 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
经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。
作者声明:本篇经验系本人依照真实经历原创,未经许可,谢绝转载。
展开阅读全部

laozhao

这个人很懒,什么都没留下

文章评论