Plotting 3d sphere from equation

10 views (last 30 days)
Khanh
Khanh on 16 Nov 2011
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,

Accepted Answer

Khanh
Khanh on 16 Nov 2011
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);

More Answers (1)

Walter Roberson
Walter Roberson on 16 Nov 2011
To change the radius of sphere(), multiply all of its coordinates by R (before doing any translation.)
  2 Comments
Khanh
Khanh on 17 Nov 2011
Thanks Walter. I think that's what I mentioned above with surf(R*x, R*y, R*z), right?

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!