# Verification of plotted points of intersection and curve orthogonality

A unit circle and tractrix (with differential equations respectively),

$$\cos \phi =y;\, \sin \phi= y$$ and tangent slope $$\phi = \theta +\pi/2$$

are plotted to verify orthogonality.

Due to inadequate precision there is neither orthogonality nor symmetry of points about $$y$$ axis.

Clear[".*"];
pp = ParametricPlot[{{-Sin[t], -Cos[t]}, {Cos[t] + Log[Tan[t/2]],
Sin[t]}}, {t, -3, 3},
PlotLabel -> " t are slopes & TRACTRIX/ CIRCLE INTRXNS",
PlotStyle -> {{Blue, Thick}, {Red, Thick}}, GridLines -> Automatic,
PlotRange -> All, AspectRatio -> .145];
FindRoot[{-Sin[t1] == Cos[t2] + Log[Tan[t2/2]], -Cos[t1] ==
Sin[t2]}, {{t1, 1}, {t2, 1}}]
th1 = 1.8633725347352827 - Pi/2; th2 = 0.29257620794038613 - Pi/2;
c1 = Graphics[Disk[{Cos[th1], Sin[th1]}, 0.07]]; c2 =
Graphics[Disk[{Cos[th2], Sin[th2]}, 0.07]]; Show[{pp, c1, c2},
PlotRange -> All]


Only one point is captured. How to remedy the situation? Would much appreciate your scrutiny.

• Isn't this what you actually want: FindRoot[{-Sin[t1] == Cos[t2] + Log[Tan[t2/2]], -Cos[t1] == Sin[t2]}, {{t1, 1}, {t2, 1}}]? The two parameterized curves don't need to intersect at the same t. Commented Apr 24, 2019 at 22:06
• Indeed, and thanks. I edited my question per your suggestion to consider each curve parameter separately...However we capture one point but not the other.. in spite of a consistent sign convention. Commented Apr 25, 2019 at 9:03

Try

NSolve[{-Sin[t1] == Cos[t2] + Log[Tan[t2/2]], -Cos[t1] == Sin[t2],
0 <= t1 < 2 Pi, 0 <= t2 < 2 Pi}, {t1, t2}, Reals]
(*
{{t1 -> 1.86337, t2 -> 0.292576},
{t1 -> 3.14159, t2 -> 1.5708},
{t1 -> 4.41981, t2 -> 2.84902},
{t1 -> 3.14159, t2 -> 1.5708}}
*)


FindRoot[{-Sin[t1] == Cos[t2] + Log[Tan[t2/2]], -Cos[t1] == Sin[t2]},
{{t1, 1}, {t2, 1}}]


The OP does not use the result of FindRoot in the code as such. Instead, the two numbers that constitute a single solution for {t1, t2} are hard-coded, with Pi/2 subtracted from each component:

th1 = 1.8633725347352827- Pi/2; th2 = 0.29257620794038613 - Pi/2;

Since only the first of them is the parameter for the circle, it's not surprising that the second, the parameter for the tractrix, when plugged into the circle, gives a point unrelated to the tractrix.

The four solutions from NSolve correspond to the three points of intersection, including a double point at the top.

int = NSolve[{-Sin[t1] == Cos[t2] + Log[Tan[t2/2]], -Cos[t1] ==
Sin[t2], 0 <= t1 < 2 Pi, 0 <= t2 < 2 Pi}, {t1, t2}, Reals];
c1 = Graphics[Disk[{Cos[t1 - Pi/2], Sin[t1 - Pi/2]}, 0.1] /. int];
Show[{pp, c1}, PlotRange -> All]


GraphicsMeshMeshInit[]

intersections = GraphicsMeshFindIntersections[pp]


{{-0.95733,0.288799},{0.957388,0.288799}}

Show[pp, Epilog -> {Green, PointSize[Large], Point@intersections}]


If you change the domain to {t, -Pi, Pi} you get all 3 intersections:

pp2 = ParametricPlot[{{-Sin[t], -Cos[t]}, {Cos[t] + Log[Tan[t/2]], Sin[t]}},
{t, -Pi, Pi},
PlotLabel -> " t are slopes & TRACTRIX/ CIRCLE INTRXNS",
PlotStyle -> {{Blue, Thick}, {Red, Thick}}, GridLines -> Automatic,
PlotRange -> {{-5, 4}, All}];

intersections2 = GraphicsMeshFindIntersections @ pp2


{{-0.957398, 0.288753}, {1.22465*10^-16, 1.}, {0.957379, 0.288575}}

Show[pp2, Epilog -> {Green, PointSize[Large], Point @ intersections2}]
`