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

7 views (last 30 days)
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
%-------------------------------------------

Answers (2)

Sampath
Sampath on 11 Feb 2014
When we run this code, we don't get the results shown above!!
  2 Comments
Walter Roberson
Walter Roberson on 11 Feb 2014
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 on 11 Feb 2014
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!

Sign in to comment.


Gökalp
Gökalp on 30 Jun 2015
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!