⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 drawheart.m

📁 基本的源程序
💻 M
字号:
function [xh,yh]=drawheart(varargin)
% 输入输出参数个数变化的示例
% 判断可变输入输出参数的个数
error(nargchk(0,3,nargin));
nin=nargin;
if nin==0
    cx1=0;
    cy1=0;
    r=1.0;
elseif nin==1
    cx1=0;
    cy1=0;
    r=varargin{1};
elseif nin==2
    cx1=0;
    cy1=varargin{1};
    r=varargin{2};   
else
    cx1=varargin{1};
    cy1=varargin{2};
    r=varargin{3};
end

if nargout==0
    flag=1;
else
    flag=0;
end
%  计算数组
theta=linspace(0,2*pi,100);
x0=r*cos(theta);
y0=r*sin(theta);
x1=x0+cx1;
y1=y0+cy1;
cx2=2*x0+cx1;
cy2=2*y0+cy1;
x3=x0.*cos(theta)-y0.*sin(theta);
y3=x0.*sin(theta)+y0.*cos(theta);
for k=1:100
    x2(k,:)=cx2(k)+x0;
    y2(k,:)=cy2(k)+y0;
    xx(k)=cx2(k)+x3(k);
    yy(k)=cy2(k)+y3(k);
end
xh=xx;
yh=yy;
if flag
    plot(cx1,cy1,'bp','Markersize',6);
    hold on;
    %plot(x1,y1);
    axis([cx1-3.2*r,cx1+3.2*r,cy1-3.2*r,cy1+3.2*r]);
    axis manual;
    hold on;
    daspect([1 1 1]);
    set(gcf,'doublebuffer','on');
    for k=1:100
        plot(x2(k,:),y2(k,:),'g',xx(k),yy(k),'r*');
        grid on;
        pause(0.05);
    end
end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -