help on matlab isosurface (3D object projects to 2 D plane)

5 次查看(过去 30 天)
Hi, I would like to ask for a projection issue in isosurface command.
More precisely, I hope to project a 3D object to the 2D plane, which can be found in the following figure.
I have made a short code to produce a simple geometric object. Hope someone could help me to visualize the object as the figure do. Thanks!
%------------------------------------
% mesh:
xx=1:20;
yy=1:20;
zz=1:20;
[X,Y,Z] = meshgrid(xx,yy,zz);
%init the test volume data test
test = zeros(size(X));
%small cube at lower
test(5:8,5:8,5:7)=50;
%large cube at higher
test(7:11,7:11,8:11)=60;
%isosurface
p= patch(isosurface(X,Y,Z,test,1));
isonormals(X,Y,Z,test,p)
set(p,'FaceColor','red','EdgeColor','none');
daspect([1 1 1])
view(3); axis([1,20,1,20,1,20])
camlight
lighting gouraud
grid on
%-------------------------------------------

回答(2 个)

Sampath
Sampath 2014-2-11
When we run this code, we don't get the results shown above!!
  2 个评论
Walter Roberson
Walter Roberson 2014-2-11
The sample code does not attempt to work with the teapot. It works with some artificial data which is two cubes stuck together.
SL
SL 2014-2-11
Thanks a lot for the remarks.
Actually the figure here is featured from one research article and we want to have the same shadow as it has.
The code here only allows to generate a simple object in 3D but I do not know how to tune "isosurface" command to obtain the shadow in 2D plane. Please kindly help me if you know how, thanks!

请先登录,再进行评论。


Gökalp
Gökalp 2015-6-30
Hi
did you find any proper solution to obtain projection over 2d plane?

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by