LoxodromeCone::usage="It is considered the cone of revolution
2
x
+
2
y
=
2
a
2
z
. Build a parameterization of a curve (loxodrome) located in the cone, which forms a constant angle α with the generatrix and passes through the point {a, 0, 1}​, a > 0. References: www2.caminos.upm.es; Personal.";
Development:
Parametric equations of cone:
σ[t_,v_]:={avCos[t],avSin[t],v};
Parametric equations of generatrix ℒ :
vCos[t],Sin[t],
1
a
;
Parametric equations of loxodrome (logarithmic spiral):
In[]:=
ξ[t_]:=a
bt

Cos[t],a
bt

Sin[t],
bt

;
Calculation of the α angle between the director vector of the generatrix line and the tangent vector of the logarithmic spiral:
In[]:=
d[t_]:=Cos[t],Sin[t],
1
a
;ξ[t_]:=a
bt

Cos[t],a
bt

Sin[t],
bt

;
In[]:=
d[t].ξ'[t]//FullSimplify
(1+
2
a
)b
bt

a
;
In[]:=
Norm[d[t]]Norm[ξ'[t]]//FullSimplify
1
Abs[a]
Re[bt]

((1+
2
Abs[aCos[t]]
+
2
Abs[aSin[t]]
)(
2
Abs[b]
+
2
Abs[a(bCos[t]-Sin[t])]
+
2
Abs[a(Cos[t]+bSin[t])]
));
bt

a
(1+
2
a
)(
2
b
+
2
a
(
2
b
2
Cos[t]
-2bSin[t]Cos[t]+
2
Sin[t]
)+
2
a
(
2
Cos[t]
+2bSin[t]Cos[t]+
2
b
2
Sin[t]
))
;
bt

a
(1+
2
a
)(
2
b
+
2
a
2
b
+
2
a
)
;
1+
2
a
b
bt

a
bt

a
(1+
2
a
)(
2
b
+
2
a
2
b
+
2
a
)
=b
1+
2
a
2
b
+
2
a
2
b
+
2
a
Cos[α]=b
1+
2
a
2
b
+
2
a
2
b
+
2
a
;
The angle α between the director vector of the generatrix line and the tangent vector of the logarithmic spiral is always constant.
Let a = 2 and b = 0.1, the exact angle is:
In[]:=
a=2;b=0.1;​​α=
180
π
ArcCosb
1+
2
a
2
b
+
2
a
2
b
+
2
a

Out[]=
83.6206
Animation (a = 2, b = 0.1):
In[]:=
​​Manipulatea=2;b=0.1;ξ[t_]:=a
bt

Cos[t],a
bt

Sin[t],
bt

;ShowRevolutionPlot3Dv,0,
v
a
,{v,-5,5},{θ,0,θ1},RevolutionAxis{0,0,1},PlotStyle->Opacity[0.6],BoundaryStyleDirective[Black,Thick],PerformanceGoal"Quality",ColorFunction"BlueGreenYellow",ParametricPlot3D[t{0,0,1},{t,-3,3},ColorFunction->"BlueGreenYellow"],ParametricPlot3D[ξ[t],{t,0,θ1},PlotStyle->Black]/.Line[pts_,rest___]:>Tube[pts,0.025,rest],AxesLabel->(Style[#,15,Blue]&/@{"X","Y","Z"}),AxesOrigin{0,0,0},AxesTrue,BoxedFalse,BoxRatiosAutomatic,PlotRange{{-5,5},{-5,5},{-3,3}},ViewPoint{1.3,-2.4,2.},ImageSize900,Style["Loxodrome:",Bold,Large],{{θ1,0.00002,"Value (θ)"},0.00001,2π,0.00001},ControlPlacementTop
Out[]=
​
Loxodrome:
Value (θ)