Problem 201
Medium Trajectories

Find the orthogonal trajectories of the family of cardioids…

Find the orthogonal trajectories of the family of cardioids $r=a(1+\cos\varphi)$.

Explanation of Method

Differentiate the family and eliminate $a$ to get the family's polar ODE, form the orthogonal ODE via the polar orthogonality relation $(dr/d\varphi)_2=-r^2/(dr/d\varphi)_1$ (independently re-derived and confirmed valid), solve the resulting separable equation with \texttt{sympy.dsolve} rather than trusting the source's hand integration, and confirm the slope-product identity symbolically (exact residual $0$, not just a single numeric example) plus a numeric cross-check at an actual intersection point of two specific family members.

Step 1: Re-derive the family ODE independently

\texttt{sympy} differentiates $r=a(1+\cos\varphi)$ to get $dr/d\varphi=-a\sin\varphi$. Substituting $a=r/(1+\cos\varphi)$ (solved from the original equation) and simplifying gives \[\frac{dr}{d\varphi}=-\frac{r\sin\varphi}{1+\cos\varphi},\] with residual $0$ against the source's boxed equation — the source's family ODE is confirmed correct.

Step 2: Confirm the polar orthogonality relation itself

The claim $(dr/d\varphi)_{\text{orth}}=-r^2/(dr/d\varphi)_{\text{orig}}$ follows from $\tan\psi=r/(dr/d\varphi)$ (angle between radius vector and tangent) together with $\tan\psi_2=-\cot\psi_1$ for perpendicular curves. This is a standard, independently verifiable identity (not specific to this problem) and is used as-is below.

Step 3: Form and solve the orthogonal ODE with \texttt{sympy.dsolve}

Applying the rule: $\dfrac{dr}{d\varphi}=-\dfrac{r^2}{-r\sin\varphi/(1+\cos\varphi)}=\dfrac{r(1+\cos\varphi)}{\sin\varphi}$, matching the source. Calling \texttt{sympy.dsolve} on this separable ODE directly (not re-deriving the source's by-hand antiderivatives) returns \[r(\varphi)=C_1\sin^2(\varphi/2).\] Since $\sin^2(\varphi/2)=\tfrac12(1-\cos\varphi)$, this is $r=C(1-\cos\varphi)$ with $C=C_1/2$ — reproducing the source's boxed answer exactly, via an independent solution path.

Step 4: Symbolic orthogonality identity (exact, not numeric)

Substituting the two family slopes $\left(\frac{dr}{d\varphi}\right)_1=-\dfrac{r\sin\varphi}{1+\cos\varphi}$ and $\left(\frac{dr}{d\varphi}\right)_2=\dfrac{r\sin\varphi}{1-\cos\varphi}$ (same $r$, i.e. at an intersection point) into their product, \texttt{sympy.simplify} collapses it to exactly $-r^2$, residual $0$ — a full symbolic confirmation, not merely a spot check.

Step 5: Numeric cross-check at an actual intersection

Take $a=1$: at $\varphi=\pi/3$, $r=1+\cos(\pi/3)=3/2$. The orthogonal-family member through this same point requires $b=\dfrac{3/2}{1-\cos(\pi/3)}=3$. \texttt{sympy} gives slopes $\left(\frac{dr}{d\varphi}\right)_1=-\tfrac{\sqrt3}{2}$ and $\left(\frac{dr}{d\varphi}\right)_2=\tfrac{3\sqrt3}{2}$ there, with product $-\tfrac94$, exactly matching $-r^2=-(3/2)^2=-\tfrac94$.


Result

Final answer:

The source's derivation is confirmed correct end-to-end by an independent \texttt{sympy} re-derivation (family ODE, \texttt{dsolve} on the orthogonal ODE, exact symbolic slope-product identity, and a numeric intersection check): \[\boxed{\,r=C(1-\cos\varphi)\,}\] a second family of cardioids, reflected about the pole and opening toward $\varphi=\pi$, orthogonal to the original family at every point of intersection (slope product $\equiv -r^2$, confirmed both symbolically and numerically).