Function Repository Resource:

TangentialAngle

Source Notebook

Compute the tangential angle of a curve

Contributed by: Wolfram Staff (original content by Alfred Gray)

ResourceFunction["TangentialAngle"][c,t]

computes the tangential angle of the curve c parameterized by variable t.

Details and Options

The tangential angle φ of a plane curve is defined as ρ dφ=ds, where ρ is the radius of curvature and s the arc length. Integration gives , where κ=1/ρ.
Gray (1997) calls it the turning angle.

Examples

Basic Examples (4) 

Tangential angle for a curve:

In[1]:=
ResourceFunction["TangentialAngle"][
 Entity["PlaneCurve", "AgnesiWitch"]["ParametricEquations"][a][t], t]
Out[1]=

Tangential angle for several curves:

In[2]:=
Grid[FullSimplify[({#1, ResourceFunction[
       "TangentialAngle"][#1["ParametricEquations"][a][t], t]} &) /@ {Entity["PlaneCurve", "Circle"], Entity["PlaneCurve", "CornuSpiral"], Entity["PlaneCurve", "Cardioid"], Entity["PlaneCurve", "Nephroid"]}, \[Pi]/2 > t > 0]]
Out[2]=

A more complicated result:

In[3]:=
ResourceFunction["TangentialAngle"][
  Entity["PlaneCurve", "Cranioid"]["ParametricEquations"][a, b, c, d, e][t], t] // FullSimplify
Out[3]=

The ellipse pedal curve:

In[4]:=
Entity["PlaneCurve", "EllipsePedalCurve"]["ParametricEquations"][1, 2,
   3, 4][t]
Out[4]=

Plot the curve:

In[5]:=
ParametricPlot[
 Entity["PlaneCurve", "EllipsePedalCurve"]["ParametricEquations"][1, 2, 3, 4][t], {t, 0, 10}]
Out[5]=

The tangential angle:

In[6]:=
ResourceFunction["TangentialAngle"][
  Entity["PlaneCurve", "EllipsePedalCurve"]["ParametricEquations"][a, b, c, d][t], t] // FullSimplify
Out[6]=

Properties and Relations (2) 

For some named curves, it is possible to get the tangential angle using entities, but the output can be written in a different way:

In[7]:=
Entity["PlaneCurve", "Catenary"][
   EntityProperty["PlaneCurve", "TangentialAngle"]][a][t]
Out[7]=
In[8]:=
ResourceFunction["TangentialAngle"][
 Entity["PlaneCurve", "Catenary"]["ParametricEquations"][a][t], t]
Out[8]=

Evaluating at one point:

In[9]:=
{%, %%} /. {a -> 1., t -> 1.}
Out[9]=

Possible Issues (1) 

Some cases may need some time to compute:

In[10]:=
clothoid[n_, a_][s_] :=
          Integrate[clothoidprime[n, a][ss], {ss, 0, s}]
 clothoidprime[n_, a_][t_] :=
          {a*Sin[t^(n + 1)/(n + 1)], a*Cos[t^(n + 1)/(n + 1)]}
In[11]:=
ResourceFunction["TangentialAngle"][clothoid[n, a][t], t] // Timing
Out[11]=

Publisher

Enrique Zeleny

Version History

  • 1.0.0 – 30 September 2020

Source Metadata

Related Resources

License Information