Translation for an ellipsoid ?

2 次查看(过去 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 中查找有关 3-D Scene Control 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by