DescartesOval::usage="Let P and Q be two fixed points on the plane, and let d(P, S) and d(Q, S) the distances of these two points to a third variable point S. Being m and a two arbitrary real numbers, then, the cartesian oval is the geometric locus of the S(x, y) points that satisfy the condition that: d(P, S) ± m d(Q, S) == a. References: https://mathcurve.com; AI; Personal.";
Development:
Be
r=
d(P, S) and
r'
= d(Q, S) by the cosines law (remember that d(P, Q) = c):
2
r'
=
2
r
+
2
c
-2rcCos[θ];
Sustituting r’ in d(P, S) ± m d(Q, S) == a:
r±m
2
r
+
2
c
-2rcCos[θ]
==a;
Solving for r:
In[]:=
Solver+m
2
r
+
2
c
-2rcCos[θ]
==a,r//FullSimplify
r-
a-c
2
m
Cos[θ]+
2
m
(
2
a
+
2
c
-
2
c
2
m
+cCos[θ](-2a+c
2
m
Cos[θ]))
-1+
2
m
,r
-a+c
2
m
Cos[θ]+
2
m
(
2
a
+
2
c
-
2
c
2
m
+cCos[θ](-2a+c
2
m
Cos[θ]))
-1+
2
m
;
Simplifying the expressions that will be used in the animation.
Animation:
In[]:=
Manipulatea=2.5;c1=2;​​m=0.5;P={0,0};Q={c1,0};​​
r
+
[θ_]:=
2
m
c1Cos[θ]-a+m
2
a
-2ac1Cos[θ]+
2
c1
(1-
2
m
2
Sin[θ]
)
2
m
-1
;​​
r
-
[θ_]:=
2
m
c1Cos[θ]-a-m
2
a
-2ac1Cos[θ]+
2
c1
(1-
2
m
2
Sin[θ]
)
2
m
-1
;​​
S
+
[θ_]:={
r
+
[θ]Cos[θ],
r
+
[θ]Sin[θ]};​​
S
-
[θ_]:={
r
-
[θ]Cos[θ],
r
-
[θ]Sin[θ]};​​w=Grid[{{
PS
+
,
QS
+
,
EQ
+
,
PS
-
,
QS
-
,
EQ
-
},{Norm[P-
S
+
[t]],Norm[Q-
S
+
[t]],Norm[P-
S
+
[t]]+mNorm[Q-
S
+
[t]],Norm[P-
S
-
[t]],Norm[Q-
S
-
[t]],Norm[P-
S
-
[t]]-mNorm[Q-
S
-
[t]]}},FrameAll,ItemSize->15,ItemStyle->15];​​​​Show[{​​ParametricPlot[
S
+
[θ],{θ,0,t},ColorFunction->"DeepSeaColors"],​​ParametricPlot[
S
-
[θ],{θ,0,t},ColorFunction->"BrassTones"],​​Graphics[{Black,PointSize[0.01],​​Point[P],Text[Style["P",14,Bold],P,{0,-1.2}],​​Point[Q],Text[Style["Q",14,Bold],Q,{0,-1.2}],​​Point[
S
+
[t]],Text[Style["
S
+
",14,Bold],
S
+
[t],{0,-1.2}],​​Point[
S
-
[t]],Text[Style["
S
-
",14,Bold],
S
-
[t],{0,-1.2}],​​Thick,{DarkYellow,Line[{P,
S
-
[t]}],Line[{Q,
S
-
[t]}]},{Blue,Line[{P,
S
+
[t]}],Line[{Q,
S
+
[t]}]}​​}]},AspectRatioAutomatic,​​AxesTrue,AxesOrigin{0,0},AxesLabel{x,y},PlotRange{{-7.5,4},{-6,6}},ImageSize700],Style["Descartes' Oval",Bold,Large],{{t,0.00002,"Value (t)"},0.000001,2π,0.00001},Delimiter,{{w,5,"Distances"}},ControlPlacementTop
Out[]=
​
Descartes' Oval
Value (t)
Distances
PS
+
QS
+
EQ
+
PS
-
QS
-
EQ
-
2.33333
0.333333
2.5
3.
1.
2.5