Translation for an ellipsoid ?

6 次查看(过去 30 天)
Sakshi
Sakshi 2011-6-18
Is it possible to translate an ellipsoid after it is rotated. I have understood the usage of rotate function for doing this.
[a,b,c]=ellipsoid(axes_handle,0,0,0,sx(k),sy(k),sz(k),meshSize);
h2=surf(a,b,c);
rotate(h2,[1 0 0],phix_d);
However, there does not seem to exist a similar function for translation. Is there anyway to do this such that later on I need the coordinates of the rotated followed by translated ellipsoid.
  1 个评论
Robbie Gaul
Robbie Gaul 2015-12-5
Hi Sakshi,
Did you ever find a solution to this problem as I need to do the same thing?
Regards

请先登录,再进行评论。

回答(2 个)

Muhammad Zubair Sheikh
Is there any solution to translate the ellipsoid?
  3 个评论
John D'Errico
John D'Errico 2019-6-10
Please don't add an answer to an old question just to ask a question.
Translating an ellipsoid is as trivial as adding a constant offset to x, y or z (or any combination thereof.)

请先登录,再进行评论。


Catalytic
Catalytic 2019-6-10
编辑:Catalytic 2019-6-10
Is there anyway to do this such that later on I need the coordinates of the rotated followed by translated ellipsoid.
You can do all manner of translations and rotations in combination with one another using makehgtform,
[x, y, z] = ellipsoid(0,0,0,5.9,3.25,3.25,30);
h=surf(x,y,z);
T = hgtransform('Parent',gca);
h.Parent=T;
T.Matrix=makehgtform('yrotate',pi/4,'translate',[-15 -10 0]);
axis vis3d
  1 个评论
Muhammad Zubair Sheikh
Thank you so much.
I however solved the problem by generating an ellipsoid at [0,0,0] and rotating its coordinates (X, Y, Z) with a rotation matrix and then adding some values to them for translation.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Graphics 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by