views:

72

answers:

1

I need to plot a dome (or half sphere) that have different radii. I was told how to plot the shpere on a previous question:

[x,y,z] = sphere;      %# Makes a 21-by-21 point sphere 
x = x(11:end,:);       %# Keep top 11 x points 
y = y(11:end,:);       %# Keep top 11 y points 
z = z(11:end,:);       %# Keep top 11 z points 
r = 3;                 %# A radius value 
surf(r.*x,r.*y,r.*z);  %# Plot the surface 
axis equal;            %# Make the scaling on the x, y, and z axes equal 

http://stackoverflow.com/questions/3603178/does-anyone-know-how-to-plot-a-dome-aka-half-sphere-in-matlab-or-anyother-pro

But I need the height of the x, y, and z components to all be different.

How do I change the code?

+1  A: 

Let's call the radius in x, y, and z rx, ry, and rz, respectively.

Then you call the function like this

[x,y,z] = sphere;      %# Makes a 21-by-21 point unit sphere 
x = x(11:end,:);       %# Keep top 11 x points 
y = y(11:end,:);       %# Keep top 11 y points 
z = z(11:end,:);       %# Keep top 11 z points 
rx = 3;ry = 4;rz = 9;  %# Define rx, ry, rz
surf(rx*x,ry*y,rz*z);  %# Plot the surface, multiplying unit coordinates with radii 
axis equal;            %# Make the scaling on the x, y, and z axes equal 
Jonas
thanks!!!!!! that worked great!
dewalla

related questions