加载中…
个人资料
blue_ocean
blue_ocean
  • 博客等级:
  • 博客积分:0
  • 博客访问:8,506
  • 关注人气:139
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

matlab动态绘制三维心形图

(2015-11-26 18:22:08)
标签:

matlab

isosurface

gif

三维心

分类: matlab

matlab动态绘制三维心形图程序如下,核心是isosurface函数,verts存储了心形曲面各点的坐标,而faces存储了各点的连接顺序。

clear
filename='heart';
[x,y,z]=meshgrid(linspace(-3,3)); 
p=(x.^2+(9/4)*y.^2+z.^2-1).^3-x.^2.*z.^3-(9/80)*y.^2.*z.^3; 
[faces,verts,colors] = isosurface(x,y,z,p,0,x);
for i=1:9
figure(i)
pp=patch('Faces',faces(1:284+i*1000,:),'Vertices',verts);
set(pp,'FaceColor','red','EdgeColor','none');
view(-30,24)
axis off
axis equal
axis tight
camlight
lighting gouraud
pause(0.5)
f(i) = getframe(i);
imind = frame2im(f(i));
[imind,cm] = rgb2ind(imind,256);
if i == 1
 
        imwrite(imind,cm,filename,'gif', 'Loopcount',inf,'DelayTime',0.5);
 
else
 
        imwrite(imind,cm,filename,'gif','WriteMode','append','DelayTime',0.5);
 
end
close(i)
end

 

http://s16/mw690/003cvAxDzy6Xj2r1m7dbf&690



 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有