声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2000|回复: 3

[编程技巧] 情人节了 送一个情人节礼物

[复制链接]
发表于 2012-2-9 14:16 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
function h=implicitsurf(f,xlimit,ylimit,zlimit,gd)
if nargin==2
    ylimit=xlimit;zlimit=xlimit;gd=25;
elseif nargin==3
    gd=ylimit;ylimit=xlimit;zlimit=xlimit;
elseif nargin==4
    gd=25;
elseif nargin==5
else
    error('Error in input arguments')
end
if length(gd)==1
    gd=[gd;gd;gd];
end
x=linspace(xlimit(1),xlimit(2),gd(1));
y=linspace(ylimit(1),ylimit(2),gd(2));
z=linspace(zlimit(1),zlimit(2),gd(3));
[x,y,z]=meshgrid(x,y,z);val=f(x,y,z);
[f,v]=isosurface(x,y,z,val,0);
if isempty(f)
    warning('There is no graph in the range.');
    p=[];
else
    newplot;
    p=patch('Faces',f,'Vertices',v,'CData',v(:,3),'facecolor','flat','EdgeColor','k');
    isonormals(x,y,z,val,p);view(3);grid on
end
if nargout==0
else
    h=p;
end


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%例三:
%f=@(x,y,z)(x.^2 + (9/4)*y.^2 + z.^2 - 1).^3 - x.^2.*z.^3 - (9/80)*y.^2.*z.^3;
%g=@(x,y,z)(sqrt(x.^2+y.^2)-2).^2+z.^2-.09;
%h=implicitsurf(f,[-1.5 1.5],[-.8 .8],[-1.5 1.5],50);
%set(h,'AmbientStrength',.5);%可以设置各种效果
%hold on%可以添加图形
%h=implicitsurf(g,[-2.3,2.3],[-2.3,2.3],[-.3,.3]);
%colormap hsv;set(h,'AmbientStrength',.8,'FaceAlpha',.5);%可以设置各种效果
%axis off;axis equal;shading interp;camlight;lighting gouraud;spinmap(10);
回复
分享到:

使用道具 举报

 楼主| 发表于 2012-2-9 14:17 | 显示全部楼层
将%%%%下面的代码运行就可以了 看看一个神奇的东西
发表于 2013-7-31 09:22 | 显示全部楼层
你是从事哪方面健康检测的?

点评

反对: 3.0
反对: 3
于本版面的主题不相符!?  发表于 2013-8-13 00:50
发表于 2013-9-27 21:58 | 显示全部楼层
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-15 18:30 , Processed in 0.060343 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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