Plotting 3d sphere from equation

8 ビュー (過去 30 日間)
Khanh
Khanh 2011 年 11 月 16 日
I'm looking for a way to plot a 3d sphere given its equation.
Eg: (x-a)^2 + (y-b)^2 + (z-c)^2 <= R
I found that 'sphere' allows me to plot a unit sphere and that I can change its center using 'surf'. However, I don't see anyway to change the radius.
I haven't tried 'sphere3d', but from its documentation, it looks like I have to convert my equation to the polar coordinate system.
Is there any other function in matlab that can plot a sphere given an equation like above?
Thanks,

採用された回答

Khanh
Khanh 2011 年 11 月 16 日
Another way I can think of is using 'ellipsoid'. It will be like this:
[x,y,z] = ellipsoid(a,b,c,R,R,R);
surf(x,y,z);
Another way, I can do with 'sphere' is to scale the the surface like this:
[x,y,z] = sphere;
surf(R*x, R*y, R*z);

その他の回答 (1 件)

Walter Roberson
Walter Roberson 2011 年 11 月 16 日
To change the radius of sphere(), multiply all of its coordinates by R (before doing any translation.)
  2 件のコメント
Khanh
Khanh 2011 年 11 月 17 日
Thanks Walter. I think that's what I mentioned above with surf(R*x, R*y, R*z), right?
Walter Roberson
Walter Roberson 2011 年 11 月 17 日
Yup.

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

カテゴリ

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

Community Treasure Hunt

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

Start Hunting!

Translated by