Save 3D surface output of "rotate" to variable

10 views (last 30 days)
Hey all,
I was thrilled to find the rotate function as I was coding up my own. However, I've come across a key issues I was hoping someone could help me with:
After applying the rotate function to a 3D surface, how do I save the output to a variable so that I can analyze it?
Any advice/comments are greatly appreciated. Basically, what I'm trying to do is alter topographic data so that the perspective above a certain point is normal to the surface and work with this perspective.
Many thanks.

Accepted Answer

Scott
Scott on 12 Nov 2015
Disregard. Found the following as helpful:
  1 Comment
Mike Garrity
Mike Garrity on 12 Nov 2015
That's right. The rotate function modifies the XData, YData, and ZData properties of the object you give it.
Just to be clear, you can skip all of the openfig and findall stuff on that page you linked to and simplify it down to something like this:
[x,y,z] = cylinder;
h = surf(x,y,z)
rotate(h,[0 1 0],30)
newx = h.XData;
newy = h.YData;
newz = h.ZData;
And if you'd ever like to go back to coding your own, you might find this post helpful. It gets into how you represent perspective when you do this type of transformation.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!