I wamt to plot 3 spheres with different colours. But i am unable to do it. I am sharing the code as well. Thank you for your help.
x_min = 5; x_max = 45; y_min = 5; y_max = 45; z_min = 5; z_max = 45;
centre_x(1) = x_min + rand(1)*(x_max-x_min);
centre_y(1) = y_min + rand(1)*(y_max-y_min);
centre_z(1) = z_min + rand(1)*(z_max-z_min);
radius(1) = 4+rand(1)*(5-4);
volume = (4/3)*pi*radius(1)^3; i=2; iteration=0;
plot_sphere(centre_x(1),centre_y(1),centre_z(1),radius(1));
%% plot_sphere function
function [] = plot_sphere(xi,yi,zi,r)
[x, y, z] = sphere;
x = x.*r;
y= y.*r;
z = z.*r;
surf(x+xi, y+yi, z+zi);
%colormap summer
mymap = [1 0 1];
%cmap =
colormap(mymap);
hold on;
axis equal
end

 Accepted Answer

Walter Roberson
Walter Roberson on 2 Jun 2022

0 votes

You can only use one colormap per axes. You need to use different axes, or you need to supply "CData" in the surf() call passing rgb color data

More Answers (1)

Categories

Products

Release

R2020b

Community Treasure Hunt

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

Start Hunting!