发布网友 发布时间:2022-04-23 16:58
共2个回答
热心网友 时间:2023-10-09 23:03
这是四维绘图,而且xyz之间没有关系,不能降维,只能给你画f为定值的隐函数图像,为了好计算说明f可取整数。但是f在等于某些值时,这个方程无解,即没有xyz值满足你的方程,所以你画不出这个方程的图像。也就是sqrt((x+2)^2+(y-2)^2+(z-2)^2)-sqrt((x+2)^2+(y-2)^2+(z+2)^2)的值域在-3到3之间,要画出图则sqrt((x+2)^2+(y-2)^2+(z-2)^2)-sqrt((x+2)^2+(y-2)^2+(z+2)^2)-9-f=0必须有解,这时解出f可能的值就是6,7,8,和-9,-10,-11,-12。下面是f=8和-10时的图像。
clear all
[x,y,z]=meshgrid(-20:1:20,-20:01:20,-20:1:20);
f1=sqrt((x+2).^2+(y-2).^2+(z-2).^2)-sqrt((x+2).^2+(y-2).^2+(z+2).^2)+1;%f=-10
f2=sqrt((x+2).^2+(y-2).^2+(z-2).^2)-sqrt((x+2).^2+(y-2).^2+(z+2).^2)-1;%f=8
[d1,m1]=isosurface(x,y,z,f1,0);
[d2,m2]=isosurface(x,y,z,f2,0);
figure(1)
patch('faces',d1,'vertices',m1,'facevertexcData',jet(length(m1)),'facecolor','k','edgecolor','flat');
grid on
view(3);
xlabel('X'),ylabel('Y'),zlabel('Z');title('f=-10');
figure(2)
patch('faces',d2,'vertices',m2,'facevertexcData',jet(length(m2)),'facecolor','k','edgecolor','flat');
grid on
view(3);
xlabel('X'),ylabel('Y'),zlabel('Z');title('f=8');
热心网友 时间:2023-10-09 23:03
你这是四维空间作图啊....