MATLAB中的三维隐函数怎样画图啊?假设x^2+y^2+z^2=2就是Z不能分离出来

p=patch(isosurface(x,y,z,f,0.5));
是什么意思啊 View呢 ?谢谢qrea..啊 来帮我解答 那个0.5指的是啥呢? 谢谢大家 问题解决了

你例子里的是球面。直接用sphere就可以生成。
[x,y,z]=sphere;
r=sqrt(2);
mesh(r*x,r*y,r*z);
axis equal;

如果隐函数可以用参数方程表达出来,也可以用mesh或surf画。
比如画单叶双曲面-x^2+y^2+z^2=1
p=linspace(-pi/2.2,pi/2.2);
t=linspace(-pi,pi);
[phi,theta]=meshgrid(p,t);
x=tan(phi);
y=sec(phi).*sin(theta);
z=sec(phi).*cos(theta);
mesh(x,y,z)
axis equal

如果实在表示不出,可以用isosurface绘制三角网格图。
比如绘制隐函数(x^2+(9/4)*y^2+z^2-1)^3=x^2*z^3+(1/9)*y^2*z^3的图像(一颗爱心)
[x,y,z]=meshgrid(linspace(-1.3,1.3));
val=(x.^2 + (9/4)*y.^2 + z.^2 - 1).^3 - x.^2.*z.^3 - (1/9)*y.^2.*z.^3;
isosurface(x,y,z,val,0)
axis equal
view(-10,24)

____________________
我这答案里从没写过p=patch(isosurface(x,y,z,f,0.5));这个语句。我不知道你在说什么。
温馨提示:答案为网友推荐,仅供参考
相似回答
大家正在搜