Plotting concentric circles on sphere

23 vues (au cours des 30 derniers jours)
Adam Danz
Adam Danz le 23 Juin 2015
Commenté : darova le 19 Août 2019
Hello matlabers,
I've been trying to plot concentric circles on the surface of a sphere as in the left half of the attached image. Ideally I'd like to make that plot and then perform a coordinate transformation of the circles into Cartesian coordinates which would produce the image on the right of the attachment. Anyone have experience in plotting concentric circles on the surface of a sphere?
Adam
  1 commentaire
Adam Danz
Adam Danz le 23 Juin 2015
I forgot to attach the picture. here it is https://dl.dropboxusercontent.com/u/2388663/concentric%20c.png

Connectez-vous pour commenter.

Réponse acceptée

Mukul Rao
Mukul Rao le 24 Juin 2015
Modifié(e) : Mukul Rao le 24 Juin 2015
Hi, please execute the code below to generate the sphere with concentric circles. There are many ways to implement this , I have just suggested one such workflow. To better understand what the terms mean, I would recommend reading a little about spherical co-ordinates to interpret the code.
%Generate custom sphere or use the sphere function
%Equation of sphere polar co-ordinates defined by theta , phi , z
R = 5; %Sphere radius
N = 200; %Number of phi-theta divisions
phi = linspace(0,pi,N);
theta = linspace(0,2*pi,N);
[PHI,THETA] = meshgrid(phi,theta);
Z = R* cos(PHI);
Rcircle = sqrt(R^2 - Z.^2);
%Map from spherical to cartesian while generating surf-plot
surf(Rcircle.*cos(THETA),Rcircle.*sin(THETA),Z,'LineStyle','none')
%Define the phi-coordinates for the circles you'd like to plot on the sphere
phiplot = linspace(0,pi,10) ; %You can replace this array to plot multiple circles of your choice
Zplot = R*cos(phiplot);
Rcircleplot = sqrt(R^2 - Zplot.^2); %Radius of the corresponding circle
hold on
plot3(cos(theta')*Rcircleplot,sin(theta')*Rcircleplot...
, Zplot'*ones(size(theta)),'LineWidth',2)
As far as the second half of your image is considered, one would need the details on the type of mapping to proceed.
  5 commentaires
Malini Krishnan
Malini Krishnan le 19 Août 2019
Timing! Wonderful work darova!!!
darova
darova le 19 Août 2019
thanks =)

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by