2

I have some limaçon with the polar equation $r=a+b\cos(\theta)$. I want to strecth the limaçon along some small vector $W=(c,d)$. By scretching along a small vector I mean the center of the coordinate system remains inside the limaçon. Now, the question is

this new closed curve still will be a limaçon? In any case, what would be the equation of this new closed curve?

I will appreciate any comment or solutions.

Majid
  • 3,357
  • I'd try rotating the equation so that the stretching is purely along the x-axis, then change to rectangular coordinates and apply the stretching, then transform back to polar coordinates and rotate back and see what I get. – Merosity Jun 05 '21 at 20:27
  • 1
    Scaling by factor $s+1$ (so that $s \lt 0$ shrinks, $s = 0$ no change, $s \gt 0$ expands) in direction $\phi$ is $$\mathbf{R} = \left[ \begin{matrix} 1 + s \cos^2 \phi & -\frac{s}{2}\sin 2\phi \ -\frac{s}{2} \sin 2\phi & 1 + s \sin^2 \phi \end{matrix} \right]$$To find the answer, look how limaçons intersect the positive $x$ axis; especially the direction of the limaçon curve there, and how stretching in a non-axis-aligned direction affects that. – Glärbo Jun 06 '21 at 00:24

1 Answers1

3

Given a curve $\gamma$ of parametric equations:

$$ \begin{cases} x = x(t) \\ y = y(t) \\ \end{cases} \; \; \; \; \; \; \text{for} \; t \in I \subseteq \mathbb{R} $$

in order for $\gamma$ to be scaled with respect to a point $C\left(x_C,\,y_C\right)$ by a factor $s_1 > 0$ in counterclockwise direction $\theta \in [0,\,2\pi)$ and by a factor $s_2 > 0$ in counterclockwise direction $\theta + \frac{\pi}{2}$, it's necessary:

  • translate $\gamma$ in such a way that $C$ coincides with the origin;

  • rotate $\gamma$ by $-\theta$ with respect to the origin;

  • scale $\gamma$ by a factor $s_1$ along the x-axis and by a factor $s_2$ along the y-axis with respect to the origin;

  • rotate $\gamma$ by $+\theta$ with respect to the origin;

  • translate $\gamma$ in such a way that $C$ returns to its initial position;

hence the curve $\gamma'$ of parametric equations:

$$ \small \begin{cases} x = x_C + \left(x(t) - x_C\right)\left(s_1\cos^2\theta + s_2\sin^2\theta\right) + \left(y(t) - y_C\right)\left(s_1 - s_2\right)\cos\theta\,\sin\theta \\ y = y_C + \left(y(t) - y_C\right)\left(s_1\sin^2\theta + s_2\cos^2\theta\right) + \left(x(t) - x_C\right)\left(s_1 - s_2\right)\cos\theta\,\sin\theta \\ \end{cases} \; \; \; \; \; \; \text{for} \; t \in I $$

that is, considering the versor $\hat{n}$ of components $n_1 = \cos\theta$ and $n_2 = \sin\theta$, we get:

$$ \small \begin{cases} x = x_C + \left(x(t) - x_C\right)\left(s_1\,n_1^2 + s_2\,n_2^2\right) + \left(y(t) - y_C\right)\left(s_1 - s_2\right)n_1\,n_2 \\ y = y_C + \left(y(t) - y_C\right)\left(s_1\,n_2^2 + s_2\,n_1^2\right) + \left(x(t) - x_C\right)\left(s_1 - s_2\right)n_1\,n_2 \\ \end{cases} \; \; \; \; \; \; \text{for} \; t \in I\,. $$

If $s_2 = 1/s_1$ there's a squeezing, i.e. the area enclosed by a closed curve is invariant.


In particular, considering a limaçon of parametric equations:

$$ \begin{cases} x(t) = \left(1 + 2\cos(t)\right)\cos(t) \\ y(t) = \left(1 + 2\cos(t)\right)\sin(t) \\ \end{cases} \; \; \; \; \; \; \text{for} \; t \in [0,\,2\pi) $$

whose centroid turns out to be $C\left(\frac{6}{5},\,0\right)$, if we want it to be scaled with respect to the centroid by a factor $s_1 = k$ in the anticlockwise direction $\frac{\pi}{3}$ and by a factor $s_2 = 1$ in the anticlockwise direction $\frac{5\pi}{6}$, we get:

$$ \begin{cases} x = \frac{3\,(1 - k)}{10} + \frac{k + 3}{4}\,x(t) + \frac{\sqrt{3}\,\left(k - 1\right)}{4}\,y(t) \\ y = \frac{3\sqrt{3}\,(1 - k)}{10} + \frac{3\,k + 1}{4}\,y(t) + \frac{\sqrt{3}\,\left(k - 1\right)}{4}\,x(t) \\ \end{cases} \; \; \; \; \; \; \text{for} \; t \in [0,\,2\pi) $$

where for $0 < k < 1$ a contraction is obtained, while for $k > 1$ a dilation is obtained.

Wanting to view everything through a gif, in Wolfram Mathematica 12.2 it's sufficient to write:

x[t_] := (1 + 2 Cos[t]) Cos[t]
y[t_] := (1 + 2 Cos[t]) Sin[t]
γ[t_] := {{x[t]}, {y[t]}}

Lγ = Integrate[Norm[γ'[t]], {t, 0, 2π}]; xC = Integrate[x[t] Norm[γ'[t]], {t, 0, 2π}] / Lγ; yC = Integrate[y[t] Norm[γ'[t]], {t, 0, 2π}] / Lγ; Cγ = {{xC}, {yC}};

R[θ_] := {{Cos[θ], -Sin[θ]}, {Sin[θ], Cos[θ]}} S[k_] := {{k, 0}, {0, 1}} γp[k_, t_] := Cγ + R[π/3].S[k].R[-π/3].(γ[t] - Cγ)

frames1 = Table[ParametricPlot[{γ[t], γp[k, t]}, {t, 0, 2π}, AxesLabel -> {"x", "y"}, PlotStyle -> {Blue, Red}, PlotRange -> {{-2, 4}, {-4, 4}}, PlotLegends -> TextString@Row@{"k = ", k}], {k, 1, 0, -0.1}];

frames2 = Table[ParametricPlot[{γ[t], γp[k, t]}, {t, 0, 2π}, AxesLabel -> {"x", "y"}, PlotStyle -> {Blue, Red}, PlotRange -> {{-2, 4}, {-4, 4}}, PlotLegends -> TextString@Row@{"k = ", k}], {k, 1, 2, +0.1}];

frames = Table[Magnify[Grid[{{frames1[[i]], frames2[[i]]}}], 1.2], {i, 11}];

Export["image.gif", frames, "AnimationRepetitions" -> ∞, "DisplayDurations" -> 1];

enter image description here

from which I would say that the purpose has been achieved! ^_^


About the last request in the comments, i.e. wanting to scale with respect to the centroid:

  • by a factor $1.5$ in the anticlockwise direction $\frac{\pi}{3}$;

  • by a factor $0.8$ in the anticlockwise direction $\frac{5\pi}{6}$;

  • by a factor $0.9$ in the anticlockwise direction $\frac{4\pi}{3}$;

it's necessary to divide the curve $\gamma$ into the parts placed above and below the line passing through the centroid $C_{\gamma}$ and of anticlockwise direction $\frac{5\pi}{6}$:

x[t_] := (3 + 2 Cos[t]) Cos[t]
y[t_] := (3 + 2 Cos[t]) Sin[t]
γ[t_] := {{x[t]}, {y[t]}}

Lγ = Integrate[Norm[γ'[t]], {t, 0, 2π}]; xC = Integrate[x[t] Norm[γ'[t]], {t, 0, 2π}] / Lγ; yC = Integrate[y[t] Norm[γ'[t]], {t, 0, 2π}] / Lγ; Cγ = Rationalize[N[{{xC}, {yC}}], 10^-10];

r[u_] := Cγ + {Cos[5π/6], Sin[5π/6]} u

tsol1 = Reduce[{γ[t] > r[u], 0 < t < 2π}][[All, 1]]; tsol2 = Reduce[{γ[t] < r[u], 0 < t < 2π}][[All, 1]];

γ1[t_] := Piecewise[{{γ[t], tsol1}, {"", True}}] γ2[t_] := Piecewise[{{γ[t], tsol2}, {"", True}}]

R[θ_] := {{Cos[θ], -Sin[θ]}, {Sin[θ], Cos[θ]}} S[k_] := {{k, 0}, {0, 0.8}} γp1[k_, t_] := Cγ + R[π/3].S[k].R[-π/3].(γ1[t] - Cγ) γp2[k_, t_] := Cγ + R[π/3].S[k].R[-π/3].(γ2[t] - Cγ)

ParametricPlot[{γ[t], γp1[1.5, t], γp2[0.9, t]}, {t, 0, 2π}, AxesLabel -> {"x", "y"}, PlotStyle -> {Blue, Red, Red}]

enter image description here

That's all.

  • hi @TeM, Thanks for your nice solution and explanation. I really tried to unerstand it but I have some difficulties. For instance, assume the limaçon equation is r=3+cos(t) and the vector W is as W=(.5, .7)! What would be the factors s_1 and s_2? The angle that you consider is the angle that W makes with the x-axis? – Majid Jun 07 '21 at 23:52
  • Thanks a lot. And this $k$ is the norm of $w$? – Majid Jun 08 '21 at 23:59
  • All right I see. Thanks. Now what a bout the case that we want to scretch the limaçon in the direction of vector W and squeeze it in the opposite direction of W. As this figure https://www.geogebra.org/classic/hff3qkzw I think it is better to ask a new question for it. – Majid Jun 10 '21 at 20:34
  • 1
    Thanks a lot for provided the last part. – Majid Jun 28 '21 at 17:38