[求助] matlab显示一个三维的,谢谢
现在有一个物体想用三维表示出来在matlab中,比如物体的坐标是(256,256,100)(中心点)其中256,256是x and y的方向坐标点,100就是z的方向上,这个物体是一个球形的,直径设为20 pixels。 其外,x以及y方向上的总的pixels 是512 and 512. 不知道怎么用matlab书
写程序。谢谢各位。
回复 楼主 tomcat2000 的帖子
个人水平专业有限, 不知道是否误解了, x/y各256点, 相对应z不是应该有256*256点? Chaching, 你好,x/y总的各是512点,z也 是 512点,我想画的是一个圆球,这个圆球的 中心点是 (256,256,100),直径是20. 不知道怎么用matlab画出这个球体来 用三维坐标? 谢谢回复 板凳 tomcat2000 的帖子
画圆球不是可以直接用sphere!回复 板凳 tomcat2000 的帖子
参考:http://forum.vibunion.com/forum/viewthread.php?tid=72730&extra=&page=1
回复 板凳 tomcat2000 的帖子
试试:clear
clc
=sphere(251);
x0=256;y0=256;z0=100;
d=20;
mesh(X*sqrt(d/2)+x0,Y*sqrt(d/2)+y0,Z*sqrt(d/2)+z0)
xlabel('x')
ylabel('y')
zlabel('z')
axis equal
hi, friendchj, 谢谢你的答复,
hi, friendchj, 谢谢你的答复,但是感觉画出来的图形还是不是我想要得。不过首先先要谢谢你。我的情况是:需要画一个三维的图形。x/y总的各是512点,z轴总的点数也 是 512点,现在我想画的是5个圆球(或者说是微粒),最好在最综的三维图形中显示出x,y,z总的坐标点数。谢谢。
第一个圆球的 中心点是 (256,256,100),直径是20.
第二个圆球的 中心点是 (50,56,30),直径是10.
第三个圆球的 中心点是 (300,356,300),直径是6.
第四个圆球的 中心点是 (150,86,200),直径是8.
第五个圆球的 中心点是 (150,356,120),直径是10.
这个五个微粒画在一个三维图形中,不知道应该怎么画?再次谢谢你。 不太清楚,你限制x,y,z点数的目的。不知道下面的能否满足你的要求
r=1;%半径
x0=0;%中心
y0=0;
z0=0;
theta=linspace(0,2,16)*pi;
phi=linspace(0,2,32)*pi;
x=zeros(length(theta),length(phi));
y=x;
z=x;
for i=1:length(theta)
for j=1:length(phi)
x(i,j)=r*sin(theta(i))*cos(phi(j))+x0;
y(i,j)=r*sin(theta(i))*sin(phi(j))+y0;
end
z(i,:)=r*cos(theta(i))+z0;
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
data=;
for i=1:5
x1=x*data(i,4)/2+data(i,1);
y1=y*data(i,4)/2+data(i,2);
z1=z*data(i,4)/2+data(i,3);
mesh(x1,y1,z1,z1)
hold on
end
axis square
hold off
页:
[1]