MATLAB创意绘图:爱心图像与动画的代码实现

代码效果见 视频

MATLAB爱心轨迹动画源代码:

x1=linspace(-2,2,200)
x2=linspace(0,2,100)
x3=linspace(-2,0,100)
y1=1.2*(1-(abs(x1)-1).^2).^0.5
y2=1.8*(acos(1-abs(0.5*x2+1))-pi)
y3=1.8*(acos(1-abs(0.5*x3-1))-pi)
set(gca,'XLim',[-2.5,2.5],'YLim',[-3.5,1.5])
hold on
comet(x1,y1)
hold on
comet(-x3,y3)
hold on
comet(-x2,y2)

MATLAB爱心放大动画源代码:

x01=linspace(-2,2,200)
x02=linspace(0,2,100)
x03=linspace(-2,0,100)
y01=1.2*(1-(abs(x01)-1).^2).^0.5
y02=1.8*(acos(1-abs(0.5*x02+1))-pi)
y03=1.8*(acos(1-abs(0.5*x03-1))-pi)
for i=0:500
    x1=x01*i/500
    x2=x02*i/500
    x3=x03*i/500
    y1=y01*i/500
    y2=y02*i/500
    y3=y03*i/500
    plot(x1,y1,'Color',[1 0 0])
    hold on
    plot(x2,y2,'Color',[1 0 0])
    hold on
    plot(x3,y3,'Color',[1 0 0])
    set(gca,'XLim',[-2.5,2.5],'YLim',[-3.5,1.5])
    pause(0.01)
end

MATLAB爱心跳动动画源代码:

x01=linspace(-2,2,200)
x02=linspace(0,2,100)
x03=linspace(-2,0,100)
y01=1.2*(1-(abs(x01)-1).^2).^0.5
y02=1.8*(acos(1-abs(0.5*x02+1))-pi)
y03=1.8*(acos(1-abs(0.5*x03-1))-pi)
for t=0:10
    for i=0:25
        x1=x01*(1+i/100)
        x2=x02*(1+i/100)
        x3=x03*(1+i/100)
        y1=y01*(1+i/100)
        y2=y02*(1+i/100)
        y3=y03*(1+i/100)
        clf
        plot(x1,y1,'Color',[1 0 0])
        hold on
        plot(x2,y2,'Color',[1 0 0])
        hold on
        plot(x3,y3,'Color',[1 0 0])
        set(gca,'XLim',[-3,3],'YLim',[-4,2])
        pause(0.05)
    end
    for j=0:25
        i=25-j
        x1=x01*(1+i/100)
        x2=x02*(1+i/100)
        x3=x03*(1+i/100)
        y1=y01*(1+i/100)
        y2=y02*(1+i/100)
        y3=y03*(1+i/100)
        clf
        plot(x1,y1,'Color',[1 0 0])
        hold on
        plot(x2,y2,'Color',[1 0 0])
        hold on
        plot(x3,y3,'Color',[1 0 0])
        set(gca,'XLim',[-3,3],'YLim',[-4,2])
        pause(0.05)
    end
end

MATLAB爱心3维绘画源代码:

x01=linspace(-2,2,200)
x02=linspace(0,2,100)
x03=linspace(-2,0,100)
y01=1.2*(1-(abs(x01)-1).^2).^0.5
y02=1.8*(acos(1-abs(0.5*x02+1))-pi)
y03=1.8*(acos(1-abs(0.5*x03-1))-pi)
for i=0:200
    z1=linspace(1-(i/200)^2,1-(i/200)^2,200)
    z2=linspace(1-(i/200)^2,1-(i/200)^2,100)
    x1=x01*i/200
    x2=x02*i/200
    x3=x03*i/200
    y1=y01*i/200
    y2=y02*i/200
    y3=y03*i/200
    plot3(x1,z1,y1,'Color',[1 0 0])
    hold on
    plot3(x2,z2,y2,'Color',[1 0 0])
    hold on
    plot3(x3,z2,y3,'Color',[1 0 0])
    hold on
    plot3(x1,-z1,y1,'Color',[1 0 0])
    hold on
    plot3(x2,-z2,y2,'Color',[1 0 0])
    hold on
    plot3(x3,-z2,y3,'Color',[1 0 0])
    set(gca,'XLim',[-2.5,2.5],'ZLim',[-3.5,1.5],'YLim',[-2.5,2.5])
end

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空