在3D中绘制fx,y,z消失的表面

问题描述

我有一个功能

f(x,y,z)= 1 + 2xyz-x x-y y-z * z。我的兴趣范围是[-1,1]。

很明显,我无法构建人类可见的4D图,但是我可以在3D中绘制消失的点,或者用红色填充正的范围。

我几乎忘记了有关matlab和八度的所有内容,我搜索了示例并尝试:

[x y z] = meshgrid(-1:0.1:1,-1:0.1:1,-1:0.1:1);
coords = [x(:) y(:) z(:)];
V = 1.0 + 2*x.*y.*z -y.*y - z.*z - x.*x;
for p = 1: 1:100
 if V(p) >=0
 c = 'red';
scatter3(x(:,p),y(:,z(:,'c');
 end
  end

它会产生一个图,但它必须是虚假的,因为没有红点,并且1,1,1是一个解,它不会显示在图中。另外,z轴也弄乱了,只显示负值。

请帮助。

情节:

enter image description here

解决方法

尝试一下

[x y z] = meshgrid(  -1 : 0.1 : 1,-1 : 0.1 : 1,-1 : 0.1 : 1  );
V       = 1.0 + 2 * x .* y .* z - y .* y - z .* z - x .* x;

scatter3( x(:),y(:),z(:),100,V(:),'filled' );