找回密码
 注册
Simdroid-非首页
查看: 88|回复: 0

【原创】一颗变化的心

[复制链接]
发表于 2010-6-25 20:44:34 | 显示全部楼层 |阅读模式 来自 北京
单击图形外侧,图形会变化,之前自己发在人人网上,看的人太少,就写在这里,

  1. main.m
  2. clear;clc;close all
  3. n=0.1;
  4. figure('menubar','none','name','heart','NumberTitle','off')
  5. [xx,yy]=heart_11(n);
  6. hp=fill(xx,yy,'r');
  7. title('Heart','Fontsize',22,'Fontname','华文行楷')
  8. set(gca,'Xtick',[],'Ytick',[]);box on;
  9. axis([-20 20 -20 20])
  10. xlabel({'\copyright Qibinbin','qibbxxt@126.com'});
  11. set(gcf,'ButtonDownFcn',['n=n+0.1;[xx,yy]=heart_11(n);',...
  12.         'set(hp,''xdata'',xx,''ydata'',yy);'...
  13.         'if n>4 set(hp,''facecolor'',''k'');end;'...
  14.         'if n>5.3 close; end']);
  15. heart_11.m
  16. function [xx,yy]=heart_11(n)
  17. if nargin==0
  18.     n=1;
  19. end
  20. t=-pi:0.01:90*pi/180;
  21. a=5*n;
  22. b=3*n;
  23. theta=45*pi/180;
  24. x=a*cos(t);
  25. y=b*sin(t);
  26. xy=zeros(2,length(x));
  27. for i=1:length(x)
  28. xy(:,i)=expm([0,-theta;theta,0])*[x(i);y(i)];
  29. end
  30. xy(:,xy(1,:)<0)=[];
  31. xy0=fliplr([-xy(1,:);xy(2,:)]);
  32. xy=[xy,xy0];
  33. xx=xy(1,:);
  34. yy=xy(2,:);
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×

评分

1

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-10-6 21:24 , Processed in 0.031476 second(s), 16 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表