4 deleted 70 characters in body
source | link

The idea is quite simple: Since any great circle can be parametrized as $\cos(\theta)u + \sin(\theta)v$ where $u$ and $v$ are two orthonormal vectors. One can start with $u=\{1,0,0\}, v=\{0,1,0\}$ and use RotationTransform to get out of the xy plane, then use RotationTransform again to spin around the z-axis to get all great circles with desired inclination.

Manipulate[
 (* Rotation deg\[Degree]deg° out of the xy plane *)
 rx = RotationTransform[deg Degree, {0, 1, 0}];

 (* Spin around z axis *)
 rz = RotationTransform[\[Phi]RotationTransform[ϕ Degree, {0, 0, 1}];
 {u, v} = rz@rx@rz @ rx @ {{1, 0, 0}, {0, 1, 0}};

 Show[{
   Graphics3D[{ 
     {Opacity[0.4], Sphere[]},
     {Opacity[0.5], 
      Polygon[{ {-1, -1, 0}, {1, -1, 0}, {1, 1, 0}, {-1, 1, 0}}]},
     {Arrow[{{0, 0, 0}, u}],
      Arrow[{{0, 0, 0}, v}]}
     }],
   ParametricPlot3D[{
     Cos[\[Theta]]Cos[θ] u + Sin[\[Theta]]Sin[θ] v, (* The great circle in question *)
     {Cos[\[Theta]]Cos[θ], Sin[\[Theta]]Sin[θ], 0}, (* Normal unit circle *) 
     RotationTransform[\[Theta]RotationTransform[θ, {0, 0, 1}] /@ {u, -u} (* The red dashed stuff *)
     }, {\[Theta]θ, -Pi, Pi},
    PlotStyle -> {Directive[Blue, Thick], Black, Directive[ RedDirective[Red, Dashed]}]
   },
  Axes -> True,
  AxesLabel -> {"x", "y", "z"}],
 {{deg, 15, "Inclination"}, -180, 180},
 {\[Phi]ϕ, 0, 360}]

Output

The idea is quite simple: Since any great circle can be parametrized as $\cos(\theta)u + \sin(\theta)v$ where $u$ and $v$ are two orthonormal vectors. One can start with $u=\{1,0,0\}, v=\{0,1,0\}$ and use RotationTransform to get out of the xy plane, then use RotationTransform again to spin around the z-axis to get all great circles with desired inclination.

Manipulate[
 (* Rotation deg\[Degree] out of the xy plane *)
 rx = RotationTransform[deg Degree, {0, 1, 0}];

 (* Spin around z axis *)
 rz = RotationTransform[\[Phi] Degree, {0, 0, 1}];
 {u, v} = rz@rx@{{1, 0, 0}, {0, 1, 0}};

 Show[{
   Graphics3D[{ 
     {Opacity[0.4], Sphere[]},
     {Opacity[0.5], 
      Polygon[{ {-1, -1, 0}, {1, -1, 0}, {1, 1, 0}, {-1, 1, 0}}]},
     {Arrow[{{0, 0, 0}, u}],
      Arrow[{{0, 0, 0}, v}]}
     }],
   ParametricPlot3D[{
     Cos[\[Theta]] u + Sin[\[Theta]] v, (* The great circle in question *)
     {Cos[\[Theta]], Sin[\[Theta]], 0}, (* Normal unit circle *) 
     RotationTransform[\[Theta], {0, 0, 1}] /@ {u, -u} (* The red dashed stuff *)
     }, {\[Theta], -Pi, Pi},
    PlotStyle -> {Directive[Blue,Thick], Black, Directive[ Red, Dashed]}]
   },
  Axes -> True,
  AxesLabel -> {"x", "y", "z"}],
 {{deg, 15, "Inclination"}, -180, 180},
 {\[Phi], 0, 360}]

Output

The idea is quite simple: Since any great circle can be parametrized as $\cos(\theta)u + \sin(\theta)v$ where $u$ and $v$ are two orthonormal vectors. One can start with $u=\{1,0,0\}, v=\{0,1,0\}$ and use RotationTransform to get out of the xy plane, then use RotationTransform again to spin around the z-axis to get all great circles with desired inclination.

Manipulate[
 (* Rotation deg° out of the xy plane *)
 rx = RotationTransform[deg Degree, {0, 1, 0}];

 (* Spin around z axis *)
 rz = RotationTransform[ϕ Degree, {0, 0, 1}];
 {u, v} = rz @ rx @ {{1, 0, 0}, {0, 1, 0}};

 Show[{
   Graphics3D[{ 
     {Opacity[0.4], Sphere[]},
     {Opacity[0.5], 
      Polygon[{ {-1, -1, 0}, {1, -1, 0}, {1, 1, 0}, {-1, 1, 0}}]},
     {Arrow[{{0, 0, 0}, u}],
      Arrow[{{0, 0, 0}, v}]}
     }],
   ParametricPlot3D[{
     Cos[θ] u + Sin[θ] v, (* The great circle in question *)
     {Cos[θ], Sin[θ], 0}, (* Normal unit circle *) 
     RotationTransform[θ, {0, 0, 1}] /@ {u, -u} (* The red dashed stuff *)
     }, {θ, -Pi, Pi},
    PlotStyle -> {Directive[Blue, Thick], Black, Directive[Red, Dashed]}]
   },
  Axes -> True,
  AxesLabel -> {"x", "y", "z"}],
 {{deg, 15, "Inclination"}, -180, 180},
 {ϕ, 0, 360}]

Output

3 added 3 characters in body
source | link

The idea is quite simple: Since any great circle can be parametrized as $cos(\theta)u + sin(\theta)v$$\cos(\theta)u + \sin(\theta)v$ where $u$ and $v$ are two orthonormal vectors one. One can start with $u=\{1,0,0\}, v=\{0,1,0\}$ and use RotationTransform to get out of the xy plane, then use RotationTransform again to spin around the z-axis to get all great circles with desired inclination.

Manipulate[
 (* Rotation deg\[Degree] out of the xy plane *)
 rx = RotationTransform[deg Degree, {0, 1, 0}];

 (* Spin around z axis *)
 rz = RotationTransform[\[Phi] Degree, {0, 0, 1}];
 {u, v} = rz@rx@{{1, 0, 0}, {0, 1, 0}};

 Show[{
   Graphics3D[{ 
     {Opacity[0.4], Sphere[]},
     {Opacity[0.5], 
      Polygon[{ {-1, -1, 0}, {1, -1, 0}, {1, 1, 0}, {-1, 1, 0}}]},
     {Arrow[{{0, 0, 0}, u}],
      Arrow[{{0, 0, 0}, v}]}
     }],
   ParametricPlot3D[{
     Cos[\[Theta]] u + Sin[\[Theta]] v, (* The great circle in question *)
     {Cos[\[Theta]], Sin[\[Theta]], 0}, (* Normal unit circle *) 
     RotationTransform[\[Theta], {0, 0, 1}] /@ {u, -u} (* The red dashed stuff *)
     }, {\[Theta], -Pi, Pi},
    PlotStyle -> {Directive[Blue,Thick], Black, Directive[ Red, Dashed]}]
   },
  Axes -> True,
  AxesLabel -> {"x", "y", "z"}],
 {{deg, 15, "Inclination"}, -180, 180},
 {\[Phi], 0, 360}]

Output

The idea is quite simple: Since any great circle can be parametrized as $cos(\theta)u + sin(\theta)v$ where $u$ and $v$ are two orthonormal vectors one can start with $u=\{1,0,0\}, v=\{0,1,0\}$ and use RotationTransform to get out of the xy plane, then use RotationTransform again to spin around the z-axis to get all great circles with desired inclination.

Manipulate[
 (* Rotation deg\[Degree] out of the xy plane *)
 rx = RotationTransform[deg Degree, {0, 1, 0}];

 (* Spin around z axis *)
 rz = RotationTransform[\[Phi] Degree, {0, 0, 1}];
 {u, v} = rz@rx@{{1, 0, 0}, {0, 1, 0}};

 Show[{
   Graphics3D[{ 
     {Opacity[0.4], Sphere[]},
     {Opacity[0.5], 
      Polygon[{ {-1, -1, 0}, {1, -1, 0}, {1, 1, 0}, {-1, 1, 0}}]},
     {Arrow[{{0, 0, 0}, u}],
      Arrow[{{0, 0, 0}, v}]}
     }],
   ParametricPlot3D[{
     Cos[\[Theta]] u + Sin[\[Theta]] v, (* The great circle in question *)
     {Cos[\[Theta]], Sin[\[Theta]], 0}, (* Normal unit circle *) 
     RotationTransform[\[Theta], {0, 0, 1}] /@ {u, -u} (* The red dashed stuff *)
     }, {\[Theta], -Pi, Pi},
    PlotStyle -> {Directive[Blue,Thick], Black, Directive[ Red, Dashed]}]
   },
  Axes -> True,
  AxesLabel -> {"x", "y", "z"}],
 {{deg, 15, "Inclination"}, -180, 180},
 {\[Phi], 0, 360}]

Output

The idea is quite simple: Since any great circle can be parametrized as $\cos(\theta)u + \sin(\theta)v$ where $u$ and $v$ are two orthonormal vectors. One can start with $u=\{1,0,0\}, v=\{0,1,0\}$ and use RotationTransform to get out of the xy plane, then use RotationTransform again to spin around the z-axis to get all great circles with desired inclination.

Manipulate[
 (* Rotation deg\[Degree] out of the xy plane *)
 rx = RotationTransform[deg Degree, {0, 1, 0}];

 (* Spin around z axis *)
 rz = RotationTransform[\[Phi] Degree, {0, 0, 1}];
 {u, v} = rz@rx@{{1, 0, 0}, {0, 1, 0}};

 Show[{
   Graphics3D[{ 
     {Opacity[0.4], Sphere[]},
     {Opacity[0.5], 
      Polygon[{ {-1, -1, 0}, {1, -1, 0}, {1, 1, 0}, {-1, 1, 0}}]},
     {Arrow[{{0, 0, 0}, u}],
      Arrow[{{0, 0, 0}, v}]}
     }],
   ParametricPlot3D[{
     Cos[\[Theta]] u + Sin[\[Theta]] v, (* The great circle in question *)
     {Cos[\[Theta]], Sin[\[Theta]], 0}, (* Normal unit circle *) 
     RotationTransform[\[Theta], {0, 0, 1}] /@ {u, -u} (* The red dashed stuff *)
     }, {\[Theta], -Pi, Pi},
    PlotStyle -> {Directive[Blue,Thick], Black, Directive[ Red, Dashed]}]
   },
  Axes -> True,
  AxesLabel -> {"x", "y", "z"}],
 {{deg, 15, "Inclination"}, -180, 180},
 {\[Phi], 0, 360}]

Output

2 Thick
source | link

The idea is quite simple: Since any great circle can be parametrized as $cos(\theta)u + sin(\theta)v$ where $u$ and $v$ are two orthonormal vectors one can start with $u=\{1,0,0\}, v=\{0,1,0\}$ and use RotationTransform to get out of the xy plane, then use RotationTransform again to spin around the z-axis to get all great circles with desired inclination.

Manipulate[
 (* Rotation deg\[Degree] out of the xy plane *)
 rx = RotationTransform[deg Degree, {0, 1, 0}];

 (* Spin around z axis *)
 rz = RotationTransform[\[Phi] Degree, {0, 0, 1}];
 {u, v} = rz@rx@{{1, 0, 0}, {0, 1, 0}};

 Show[{
   Graphics3D[{ 
     {Opacity[0.4], Sphere[]},
     {Opacity[0.5], 
      Polygon[{ {-1, -1, 0}, {1, -1, 0}, {1, 1, 0}, {-1, 1, 0}}]},
     {Arrow[{{0, 0, 0}, u}],
      Arrow[{{0, 0, 0}, v}]}
     }],
   ParametricPlot3D[{
     Cos[\[Theta]] u + Sin[\[Theta]] v, (* The great circle in question *)
     {Cos[\[Theta]], Sin[\[Theta]], 0}, (* Normal unit circle *) 
     RotationTransform[\[Theta], {0, 0, 1}] /@ {u, -u} (* The red dashed stuff *)
     }, {\[Theta], -Pi, Pi},
    PlotStyle -> {BlueDirective[Blue,Thick], Black, Directive[ Red, Dashed]}]
   },
  Axes -> True,
  AxesLabel -> {"x", "y", "z"}],
 {{deg, 15, "Inclination"}, -180, 180},
 {\[Phi], 0, 360}]

enter image description hereOutput

The idea is quite simple: Since any great circle can be parametrized as $cos(\theta)u + sin(\theta)v$ where $u$ and $v$ are two orthonormal vectors one can start with $u=\{1,0,0\}, v=\{0,1,0\}$ and use RotationTransform to get out of the xy plane, then use RotationTransform again to spin around the z-axis to get all great circles with desired inclination.

Manipulate[
 (* Rotation deg\[Degree] out of the xy plane *)
 rx = RotationTransform[deg Degree, {0, 1, 0}];

 (* Spin around z axis *)
 rz = RotationTransform[\[Phi] Degree, {0, 0, 1}];
 {u, v} = rz@rx@{{1, 0, 0}, {0, 1, 0}};

 Show[{
   Graphics3D[{ 
     {Opacity[0.4], Sphere[]},
     {Opacity[0.5], 
      Polygon[{ {-1, -1, 0}, {1, -1, 0}, {1, 1, 0}, {-1, 1, 0}}]},
     {Arrow[{{0, 0, 0}, u}],
      Arrow[{{0, 0, 0}, v}]}
     }],
   ParametricPlot3D[{
     Cos[\[Theta]] u + Sin[\[Theta]] v, (* The great circle in question *)
     {Cos[\[Theta]], Sin[\[Theta]], 0}, (* Normal unit circle *) 
     RotationTransform[\[Theta], {0, 0, 1}] /@ {u, -u} (* The red dashed stuff *)
     }, {\[Theta], -Pi, Pi},
    PlotStyle -> {Blue, Black, Directive[ Red, Dashed]}]
   },
  Axes -> True,
  AxesLabel -> {"x", "y", "z"}],
 {{deg, 15, "Inclination"}, -180, 180},
 {\[Phi], 0, 360}]

enter image description here

The idea is quite simple: Since any great circle can be parametrized as $cos(\theta)u + sin(\theta)v$ where $u$ and $v$ are two orthonormal vectors one can start with $u=\{1,0,0\}, v=\{0,1,0\}$ and use RotationTransform to get out of the xy plane, then use RotationTransform again to spin around the z-axis to get all great circles with desired inclination.

Manipulate[
 (* Rotation deg\[Degree] out of the xy plane *)
 rx = RotationTransform[deg Degree, {0, 1, 0}];

 (* Spin around z axis *)
 rz = RotationTransform[\[Phi] Degree, {0, 0, 1}];
 {u, v} = rz@rx@{{1, 0, 0}, {0, 1, 0}};

 Show[{
   Graphics3D[{ 
     {Opacity[0.4], Sphere[]},
     {Opacity[0.5], 
      Polygon[{ {-1, -1, 0}, {1, -1, 0}, {1, 1, 0}, {-1, 1, 0}}]},
     {Arrow[{{0, 0, 0}, u}],
      Arrow[{{0, 0, 0}, v}]}
     }],
   ParametricPlot3D[{
     Cos[\[Theta]] u + Sin[\[Theta]] v, (* The great circle in question *)
     {Cos[\[Theta]], Sin[\[Theta]], 0}, (* Normal unit circle *) 
     RotationTransform[\[Theta], {0, 0, 1}] /@ {u, -u} (* The red dashed stuff *)
     }, {\[Theta], -Pi, Pi},
    PlotStyle -> {Directive[Blue,Thick], Black, Directive[ Red, Dashed]}]
   },
  Axes -> True,
  AxesLabel -> {"x", "y", "z"}],
 {{deg, 15, "Inclination"}, -180, 180},
 {\[Phi], 0, 360}]

Output

1
source | link