作业帮 > 综合 > 作业

matlab 画三维图形

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/16 11:02:25
matlab 画三维图形
假设已知两点a (0,0,0)和 b(0,5,0)
现在求第三点c
c到a的距离 小于 c到b的距离
并且c到a的距离ca 和 c到b的距离cb 之差 为恒定值 N
如何将c点所有的值求出来,并且画出三维图形呢
求指教,
mn = 50;
N = 3.5; % 距离之差 为恒定值 N
[x,y,z]=meshgrid(linspace(-10,10,mn),linspace(-15,0,mn),linspace(-10,10,mn));
val = sqrt(x.*x+(y-5).*(y-5)+z.*z) - sqrt(x.*x+y.*y+z.*z) ;
isosurface(x,y,z,val,N)
xlabel( 'x' );
ylabel( 'y' );
zlabel( 'z' );
axis equal
grid on
view(-30,20)
再问: 非常感谢您的回答,还有问题需要继续请教您。 这里面y的范围是-15到0 如何设置成正0到15 还有就是如果我选择的点是(0,0,0)和(0,20,0) 那么[x,y,z]该如何建立? 还有请问N是否影响参数的设置? sqrt((X-0)^2+(Y-0)^2+(Z-0)^2) - sqrt((X-0)^2+(Y-20)^2+(Z-0)^2) = N N为2到10的整数 方便加我的qq吗? 五八一九3296 谢谢!!!
再答: 1 这里面y的范围是-15到0 如何设置成正0到15 y的范围是正0到15,方程无解。 2 还有就是如果我选择的点是(0,0,0)和(0,20,0) 那么[x,y,z]该如何建立? mn = 50; N = 3.5; % 距离之差 为恒定值 N [x,y,z]=meshgrid(linspace(-100,100,mn),linspace(-150,0,mn),linspace(-100,100,mn)); val = sqrt(x.*x+(y-20).*(y-20)+z.*z) - sqrt(x.*x+y.*y+z.*z) ; isosurface(x,y,z,val,N) xlabel( 'x' ); ylabel( 'y' ); zlabel( 'z' ); axis equal grid on view(-30,20) 3 N是否影响参数的设置? 影响 4 多动手,答案在你手中。 5 sqrt((X-0)^2+(Y-0)^2+(Z-0)^2) - sqrt((X-0)^2+(Y-20)^2+(Z-0)^2) = N N为2到10的整数 mn = 50; N = 10; % 距离之差 为恒定值 N [x,y,z]=meshgrid(linspace(-100,100,mn),linspace(-50,50,mn),linspace(-100,100,mn)); val = sqrt(x.*x+y.*y+z.*z) - sqrt(x.*x+(y-20).*(y-20)+z.*z) ; isosurface(x,y,z,val,N) xlabel( 'x' ); ylabel( 'y' ); zlabel( 'z' ); axis equal grid on