Spherical Coordinates

Differential

f[ρ_,θ_,ϕ_]:={ρ Sin[ϕ]Cos[θ],ρ Sin[ϕ]Sin[θ],ρ Cos[ϕ]};
Manipulate[
If[reset,{dϕ,dθ,reset}={False,False,False}];
Show[
Graphics3D[{Line[{{0,0,0},{3,0,0}}],Line[{{0,0,0},{0,3,0}}],Line[{{0,0,0},{0,0,3}}]}],
(*shells*)SphericalPlot3D[{2,3},{ϕ,(π/6),(π/3)},{θ,(π/6),(π/4)}],
(*inside/outsides*)ParametricPlot3D[{f[ρ,θ,(π/6)],f[ρ,θ,(π/3)]},{ρ,2,3},{θ,(π/4),(π/6)}],
(*sides*)ParametricPlot3D[{f[ρ,(π/6),ϕ],f[ρ,(π/4),ϕ]},{ρ,2,3},{ϕ,(π/6),(π/3)}],
(*ϕ circle/arc*)If[dϕ,{ParametricPlot3D[{f[2,(π/4),ϕ]},{ϕ,0,((5π)/12)}],
Graphics3D[{Dashing[0.025],Line[{f[2,(π/4),(π/6)],{0,0,0},f[2,(π/4),(π/3)]}]}]},Graphics3D[{Point[{0,0,0}]}]],
(*θ circle/arc*)If[dθ,{ParametricPlot3D[{f[2 Sin[(π/6)],θ,(π/2)]},{θ,0,((5π)/12)}],
Graphics3D[{{Dashing[0.025],Line[{f[2 Sin[(π/6)],(π/6),(π/2)],{0,0,0},f[2 Sin[(π/6)],(π/4),(π/2)]}]},{Dashing[0.025],Line[{f[2,(π/4),(π/6)],f[2 Sin[(π/6)],(π/4),(π/2)]}]},{Dashing[0.025],Line[{f[2,(π/6),(π/6)],f[2 Sin[(π/6)],(π/6),(π/2)]}]}}]},Graphics3D[{Point[{0,0,0}]}]]
,Boxed->False,Ticks->None,Axes->None,PlotRange->{{0,3},{0,3},{0,3}}],
{{dϕ,False},{False,True}},
{{dθ,False},{False,True}},
Delimiter,
{{reset,False},{False,True}},
ControlPlacement->Left
]

Exploring Spherical Coordinates

Contributed by: Faisal Mohamed

Manipulate[Column[SphericalCoordinatePlots[{ρ,t,s},{fixr,fixt,fixs},PlotRange->1,ImageSize->350,PerformanceGoal->"Speed",SphericalRegion->True],ItemSize->{{Automatic},{3}},Alignment->{Center,Center}],{{ρ,1,"r"},0,1,ImageSize->Tiny},{{t,7π/4,"θ"},0,2π,ImageSize->Tiny},{{s,π/4,"ϕ"},0,π,ImageSize->Tiny},{{fixr,False,"single r"},{False,True}},{{fixt,False,"single θ"},{False,True}},{{fixs,False,"single ϕ"},{False,True}},ControlPlacement->Left,SaveDefinitions->True]

There are many coordinate systems

Contributed by: Enrique Zeleny

Transform the coordinates of a point in Cartesian coordinates into the coordinates of other major coordinate systems. The label above the plot shows the Cartesian coordinates of the point, while the x, y, and z sliders control the three coordinates of the point in the system to which you are transforming. In some of these systems, there are some constraints on the values that the coordinates and parameters can take. When these constraints are not satisfied, the coordinates take complex values, in which case these values are not shown above the graphic.

Manipulate[
If[a==Abs@b,If[3.14>b>=-3.14,b=b+.01,a=a-.01]];
If[a==c,If[3.14>c≥-3.14,c=c+.01,a=a-.01]];
If[b==c,If[3.14>c>=-3.14,c=c+.01,b=b-.01]];With[{cs=Cases[CoordinateTransformData[],{R_[_,"Cartesian"],_,n_}/;n==3]},
Show[If[coordsys==5∨coordsys==6∨coordsys==7,
With[{g=First@Normal@#},With[{gr=List[g,Rotate[g,π,{0,0,1},{0,0,0}],GeometricTransformation[g,ReflectionTransform[{1,0,0},{0,0,1}]],GeometricTransformation[g,ReflectionTransform[{0,1,0},{0,0,1}]]]},Show[Graphics3D/@gr,List@Graphics3D@GeometricTransformation[#,ReflectionTransform[{0,0,1},{0,0,1}]]&/@gr,PlotRange->{{-π,π},{-π,π},{-π,π}},SphericalRegion->True,ImageSize->400,PlotLabel->If[coordsys==15,{((a Cos[z] Sinh[r1])/(Cosh[r1]-Cos[θ1])),((a Sin[z] Sinh[r1])/(Cosh[r1]-Cos[θ1])),-((a Sin[θ1])/(Cosh[r1]-Cos[θ1]))},(If[FreeQ[#1,_Complex],NumberForm[#1,{3,2}],None]&)[N[CoordinateTransformData[cs[[coordsys]],"Mapping"][{r1,θ1,z}]]/. {System`\[FormalA]->a,System`\[FormalB]->b,\[FormalC]->c,\[FormalA]->a,\[FormalB]->b,\[FormalC]->c}]]]]],Show[#,PlotLabel->If[coordsys==15,{((a Cos[z] Sinh[r1])/(Cosh[r1]-Cos[θ1])),((a Sin[z] Sinh[r1])/(Cosh[r1]-Cos[θ1])),-((a Sin[θ1])/(Cosh[r1]-Cos[θ1]))},(If[FreeQ[#1,_Complex],NumberForm[#1,{3,2}],None]&)[N[CoordinateTransformData[cs[[coordsys]],"Mapping"][{r1,θ1,z}]]/. {System`\[FormalA]->a,System`\[FormalB]->b,\[FormalC]->c,\[FormalA]->a,\[FormalB]->b,\[FormalC]->c}]]]],Graphics3D[{Red,(If[FreeQ[#1,_Complex],Sphere[#1,.3],{}]&)[If[coordsys==15,{((a Cos[z] Sinh[r1])/(Cosh[r1]-Cos[θ1])),((a Sin[z] Sinh[r1])/(Cosh[r1]-Cos[θ1])),-((a Sin[θ1])/(Cosh[r1]-Cos[θ1]))},CoordinateTransformData[cs[[coordsys]],"Mapping"][{r1,θ1,z}]/. {System`\[FormalA]->a,System`\[FormalB]->b,\[FormalC]->c,\[FormalA]->a,\[FormalB]->b,\[FormalC]->c}]]},ImageSize->{400,400}],ImageSize->{400,400}]&@Show[ParametricPlot3D[Evaluate[Which[coordsys==15,{{((a Cos[z1] Sinh[r1])/(Cosh[r1]-Cos[θ])),((a Sin[z1] Sinh[r1])/(Cosh[r1]-Cos[θ])),-((a Sin[θ])/(Cosh[r1]-Cos[θ]))},{-((a Cos[z1] Sinh[r1])/(Cosh[r1]-Cos[θ])),-((a Sin[z1] Sinh[r1])/(Cosh[r1]-Cos[θ])),-((a Sin[θ])/(Cosh[r1]-Cos[θ]))}},True,CoordinateTransformData[cs[[coordsys]],"Mapping"][{r1,θ,z1}]]/. {System`\[FormalA]->a,System`\[FormalB]->b,\[FormalC]->c,\[FormalA]->a,\[FormalB]->b,\[FormalC]->c}],{θ,-2π,2π},{z1,z-1,z+1},PlotRange->{{-π,π},{-π,π},{-π,π}},SphericalRegion->True,PlotStyle->Opacity[.5],ImageSize->{400,400},Mesh->{10,5},PlotPoints->25],ParametricPlot3D[Evaluate[If[coordsys==15,{{((a Cos[z1] Sinh[r])/(Cosh[r]-Cos[θ1])),((a Sin[z1] Sinh[r])/(Cosh[r]-Cos[θ1])),-((a Sin[θ1])/(Cosh[r]-Cos[θ1]))},{-((a Cos[z1] Sinh[r])/(Cosh[r]-Cos[θ1])),-((a Sin[z1] Sinh[r])/(Cosh[r]-Cos[θ1])),-((a Sin[θ1])/(Cosh[r]-Cos[θ1]))}},CoordinateTransformData[cs[[coordsys]],"Mapping"][{r,θ1,z1}]]/. {System`\[FormalA]->a,System`\[FormalB]->b,\[FormalC]->c,\[FormalA]->a,\[FormalB]->b,\[FormalC]->c}],{r,θ1+If[coordsys===3,-2π,0],θ1+ 2π},{z1,z-1,z+1},PlotRange->{{-π,π},{-π,π},{-π,π}},SphericalRegion->True,PlotStyle->Opacity[.5],Mesh->{10,5},PlotPoints->25, ImageSize->4.3{100,100}],ParametricPlot3D[Evaluate[If[coordsys==15,{{((a Cos[z] Sinh[r])/(Cosh[r]-Cos[θ])),((a Sin[z] Sinh[r])/(Cosh[r]-Cos[θ])),-((a Sin[θ])/(Cosh[r]-Cos[θ]))},{-((a Cos[z] Sinh[r])/(Cosh[r]-Cos[θ])),-((a Sin[z] Sinh[r])/(Cosh[r]-Cos[θ])),-((a Sin[θ])/(Cosh[r]-Cos[θ]))}},CoordinateTransformData[cs[[coordsys]],"Mapping"][{r,θ,z}]]/. {System`\[FormalA]->a,System`\[FormalB]->b,\[FormalC]->c,\[FormalA]->a,\[FormalB]->b,\[FormalC]->c}],{r,If[coordsys===3,-2π,0],2π},Evaluate@If[coordsys==15,{θ,-π,π},{θ,-2π,2π}],PlotRange->{{-π,π},{-π,π},{-π,π}},SphericalRegion->True,PlotStyle->Opacity[.5],PlotPoints->25],ImageSize->{400,400}]],
Row[{Control[{{coordsys,1,""},
{
1->("Cartesian"->"Bipolar Cylindrical"),
2->("Cartesian"->"Bispherical"),
3->("Cartesian"),
4->("Cartesian"->"Circular Parabolic"),
5->("Cartesian"->"Confocal"),
6->("Cartesian"->"Confocal Paraboloidal"),
7->("Cartesian"->"Conical"),
8->("Cartesian"->"Cylindrical"),
9->("Cartesian"->"Elliptic Cylindrical"),
10->("Cartesian"->"Hyperspherical"),
11->("Cartesian"->"Oblate Spheroidal"),
12->("Cartesian"->"Parabolic Cylindrical"),
13->("Cartesian"->"Prolate Spheroidal"),
14->("Cartesian"->"Spherical"),
15->("Cartesian"->"Toroidal")
},ControlType->PopupMenu}], Graphics[{LightGray,Rectangle[{1,1}]}, ImageSize->{1,35}]}],Row[{Control[{{a,1,"\[FormalA]"},-3.14,3.14,.01,ImageSize->Tiny,Appearance->"Labeled",Enabled:>Dynamic[!MemberQ[{3,4,7,8,10,12,14},coordsys]]}],Control[{{b,.9,"\[FormalB]"},-3.14,3.14,.01,ImageSize->Tiny,Appearance->"Labeled",Enabled:>Dynamic[MemberQ[{5,6,7},coordsys]]}],Control[{{c,.6,"\[FormalC]"},-3.14,3.14,.01,ImageSize->Tiny,Appearance->"Labeled",Enabled:>Dynamic[MemberQ[{5,7},coordsys]]}]}],Row[{Control[{{r1,.5,Style["x",Italic]},-3.14,3.14,.01,ImageSize->Tiny,Appearance->"Labeled"}],Control[{{θ1,.5,Style["y",Italic]},-3.14,3.14,.01,ImageSize->Tiny,Appearance->"Labeled"}],Control[{{z,0.,Style["z",Italic]},-3.14,3.14,.01,ImageSize->Tiny,Appearance->"Labeled"}]}],
AutorunSequencing-> {1}]

Region in example 3

The region bounded in spherical coordinates between the spheres ρ=2, ρ=4, and the cone ϕ=(π/3);

Manipulate[
Show[
Graphics3D[{Line[{{0,0,0},{4,0,0}}],Line[{{0,0,0},{0,4,0}}],Line[{{0,0,0},{0,0,5}}]}],
(*shells*)SphericalPlot3D[{2,4},{ϕ,0,(π/3)},{θ,θMin,2π}],
(*cone*)ParametricPlot3D[{f[ρ,θ,(π/3)]},{ρ,2,4},{θ,θMin,2π}],
(*end caps*)ParametricPlot3D[{f[ρ,0,ϕ],f[ρ,θMin,ϕ]},{ρ,2,4},{ϕ,0,(π/3)}]
,Boxed->False,Ticks->None,Axes->None,PlotRange->{Automatic,Automatic,{0,5}}],
{{θMin,(π/2),θ},0,π}]

Manipulate[
Show[
Graphics3D[{Line[{{0,0,0},{4,0,0}}],Line[{{0,0,0},{0,4,0}}],Line[{{0,0,0},{0,0,5}}]}],
(*shells*)SphericalPlot3D[{2,4},{ϕ,(π/6),π},{θ,θMin,2π}],
(*cone*)ParametricPlot3D[{f[ρ,θ,(π/6)]},{ρ,2,4},{θ,θMin,2π}],
(*end caps*)ParametricPlot3D[{f[ρ,0,ϕ],f[ρ,θMin,ϕ]},{ρ,2,4},{ϕ,(π/6),π}]
,Boxed->False,Ticks->None,Axes->None,PlotRange->{Automatic,Automatic,{-5,5}}],
{{θMin,(π/2),θ},0,π}]