Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Cube

0 views
Skip to first unread message

Fausto

unread,
Jul 20, 2008, 12:01:52 PM7/20/08
to
How can I plot a cube?

I don't understand how to use "fill3" function.

Matt Fig

unread,
Jul 20, 2008, 4:19:01 PM7/20/08
to
One method:

dx = .5;
dy = dx;
dz = dx;
Ns = 24;
x = linspace(-dx/2,dx/2,Ns);
y = linspace(-dy/2,dy/2,Ns);
z = linspace(-dz/2,dz/2,Ns);
[xr,yr] = meshgrid(x,y);
zr = ones(size(xr))*dz/2;
[xs,zs] = meshgrid(x,z);
ys = ones(size(xs))*dy/2;
[yt,zt] = meshgrid(y,z);
xt = ones(size(yt))*dx/2;
mesh(xt,yt,zt)
hold on
mesh(xr,yr,zr)
mesh(xs,ys,zs)
mesh(-xs,-ys,zs)
mesh(xr,-yr,-zr)
mesh(-xt,yt,-zt)
axis equal
rotate3d

vedenev

unread,
Jul 21, 2008, 7:08:02 AM7/21/08
to
other method:

% cube vertecies:
p1=[1;1;1];
p2=[-1;1;1];
p3=[-1;-1;1];
p4=[1;-1;1];
p5=[1;1;-1];
p6=[-1;1;-1];
p7=[-1;-1;-1];
p8=[1;-1;-1];

hold on

% top face
fill3([p1(1) p2(1) p3(1) p4(1)],...
[p1(2) p2(2) p3(2) p4(2)],...
[p1(3) p2(3) p3(3) p4(3)],[1 0 0]);

% bottom face:
fill3([p5(1) p6(1) p7(1) p8(1)],...
[p5(2) p6(2) p7(2) p8(2)],...
[p5(3) p6(3) p7(3) p8(3)],[1 0 0]);

X=[p1(1) p2(1) p3(1) p4(1) p1(1);
p5(1) p6(1) p7(1) p8(1) p5(1)];

Y=[p1(2) p2(2) p3(2) p4(2) p1(2);
p5(2) p6(2) p7(2) p8(2) p5(2)];

Z=[p1(3) p2(3) p3(3) p4(3) p1(3);
p5(3) p6(3) p7(3) p8(3) p5(3)];

% other facies:
hs=surf(X,Y,Z);
set(hs,'facecolor',[1 0 0]);
axis equal;
view(3);
camlight;

------------------------------------
Maxim Vedenev, Matlab freelancer
http://simulations.narod.ru/

Fausto

unread,
Jul 21, 2008, 7:34:20 AM7/21/08
to
thank you!
0 new messages