フィルターのクリア

How to generate points on the surface of an ellipsoid?

7 ビュー (過去 30 日間)
Nima
Nima 2021 年 1 月 6 日
編集済み: Adam Danz 2021 年 1 月 12 日
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

回答 (1 件)

Uday Pradhan
Uday Pradhan 2021 年 1 月 12 日
編集済み: Uday Pradhan 2021 年 1 月 12 日
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 件のコメント
Adam Danz
Adam Danz 2021 年 1 月 12 日
編集済み: Adam Danz 2021 年 1 月 12 日
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)

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeSurface and Mesh Plots についてさらに検索

製品


リリース

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by