MATLAB Answers

How to generate points on the surface of an ellipsoid?

17 views (last 30 days)
Nima
Nima on 6 Jan 2021
Edited: Adam Danz on 12 Jan 2021
I'm looking for a method or Matlab-function to generate some points (eg. equidistant points) on the surface of a ellipsoid. A good function to do this for a sphere is available by mySphere(N). Are there any idea to solve this problem? Thanks

Answers (1)

Uday Pradhan
Uday Pradhan on 12 Jan 2021
Edited: Uday Pradhan on 12 Jan 2021
Hi,
I believe you can use the ellipsoid function for this. Example:
[x,y,z] = ellipsoid(0,-0.5,0,6,3.25,3.25);
will create an ellipsoid with centre at (0,-0.5,0) and has semi -axis length (6,3.25,3.25). Now, coming to the points on the surface:
You can utilize the x,y and z variables returned by the function. Basically,
[x(i,j),y(i,j),z(i,j)] %where 1<= i,j <= 21
is a point on the ellipsoid. The 21 faces restriction can be made finer by using an extra argument for "number of faces". I hope this helps!
  1 Comment
Adam Danz
Adam Danz on 12 Jan 2021
I think this generates equidistant points along the longitudes and within each latitude but not between latitudes and the points definitely aren't equidistant.
[x,y,z] = ellipsoid(0,-0.5,0,6,3.25,3.25);
plot3(x,y,z,'o')
grid on
axis equal
view(2)
set(gca,'xtick',-6:6,'ytick',-4:4)

Sign in to comment.

Products


Release

R2020b

Community Treasure Hunt

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

Start Hunting!