Constructions tirées de la page deltoid de Xah Lee.
Needs["ParaPlot`"];
Needs["PlaneCurveFormulas`"];
Needs["PlaneCurveGenerator`"];
La deltoïde (ou encore tricuspide) est un cas particulier d’hypocycloïde (à trois rebroussements).
Représentation paramétrique: x=2/3cost + 1/3cos 2t, y=2/3sint+1/3sin 2t.
Équation cartésienne: (x2+y2)2−8x(x2−3y2)+18(x2+y2)−27=0.
ParaPlot[
Rotate[Deltoid[][t], -Pi/2],
{t,0, 2 Pi, 2 Pi/120},
SecantConnection → {60,1},
PlotDot → False, PlotCurve → False,
Axes → False,
AspectRatio → Automatic
]
DeltoidGenerator[
{0, 5.4, .05},
LastFrameOnly → True
]
ParaPlot[
Deltoid[][t],
{t,0, 2 Pi},
AspectRatio → Automatic
]
DeltoidEqCart = (x^2+y^2)^2-8x(x^2-3y^2)+18(x^2+y^2)-27;
ContourPlot[
DeltoidEqCart == 0,
{x,-3,3},
{y,-3,3},
PlotPoints → 50
]
ContourPlot[
DeltoidEqCart,
{x,-3,3},
{y,-3,3},
PlotPoints → 40
]
Les caustiques d’une deltoïde sont des astroïdes.
theta = 1.1;
lightSource = 20000{Cos[theta],Sin[theta]};
p = N[2Pi/12]; d = N[Degree];
gp1 = First[
ParaPlot[Deltoid[][t], {t, 0, 2 Pi},
Which[N[0 ≤ theta < 30 d],
Range @@ {-4p+0.001`,4p-0.001`,0.1`},
N[30 d ≤ theta < 90 d],
Range @@ {0+0.001`,4 p-0.001`,0.1`},
N[90 d ≤ theta < 150 d],
Range @@ {0+0.001`,8p-0.001`,0.1`},
N[150 d ≤ theta ≤ 180 d],
Range @@ {4p+0.001`,8p-0.001`,0.1`}],
CausticLineLength → 30000,
CausticOrigin → lightSource,
CausticLineStyle → {Hue[0]},
PlotCurve → True,
PlotDot → False,
CurveColorFunction → (GrayLevel[1] &),
AspectRatio → Automatic,
PlotRange → {{-1.5,1.6},{-1.6,1.6}},
DisplayFunction → Identity]];
gp2 = First[
ParaPlot[Deltoid[][t], {t, 0, 2Pi},
Which[N[0 ≤ theta < 30 d],
Range @@ {4p+0.001`,8p-0.001`,0.1`},
N[30 d ≤ theta < 90 d],
Range @@ {4p+0.001`,12p-0.001`,0.1`},
N[90 d ≤ theta < 150 d],
Range @@ {-4p+0.001`,0-0.001`,0.1`},
N[150 d ≤ theta ≤ 180 d],
Range @@ {-4p+0.001`,4p-0.001`,0.1`}],
CausticLineLength → 30000,
CausticOrigin → -lightSource,
PlotCurve → True,
CausticLineStyle → {Hue[0]},
PlotCurve → False, PlotDot → False,
CurveColorFunction → (GrayLevel[1] &),
AspectRatio → Automatic,
PlotRange → {{-1.5,1.6}, {-1.6,1.6}},
DisplayFunction → Identity]];
Show[Graphics[{gp1, gp2}],
PlotRange → {{-2, 2}, {-2, 2}},
Axes → False, AspectRatio → Automatic,
PlotRange → {{-1.5,1.6}, {-1.6,1.6}},
Background → Hue[0, 0, 0]
]
Et bien, c’est une deltoïde !
ParaPlot[
Deltoid[][t],
{t, 0.001, 2 Pi, 2 Pi/(3 20)},
PlotEvolute → True,
AspectRatio → Automatic
]
Ce que l’on peut voir autrement, de façon plus sophistiquée...
gp1=First[ParaPlot[
Rotate[Deltoid[][t], Pi/2],
{t, 0.001, 2Pi, (2Pi)/(3 30)},
PlotCurve → False,
PlotDot → False,
PlotOsculatingCircle → True,
LineStyle → {
RGBColor[RandomReal[],
RandomReal[],
RandomReal[]]},
CurveColorFunction → {Hue[0] &},
DisplayFunction → Identity]
];
gp2=First[ParaPlot[
Rotate[Deltoid[][t], Pi/2],
{t, 0.001, 2Pi, (2Pi)/(3 30)},
PlotCurve → False,
PlotEvolute → True,
LineStyle → {GrayLevel[0]},
DisplayFunction → Identity]
];
gp2=DeleteCases[gp2, Line[___], -1];
Show[Graphics[{gp1, gp2}],
Background → Hue[0, 0, 0],
PlotRange → All,
AspectRatio → Automatic,
Axes → False
]
ParaPlot[
Deltoid[][t],
{t, 0, 2 Pi, 2 Pi/(3 100)},
InversionCircle → {{0,0},1},
PlotDot → False,
CurveColorFunction → {Hue[.7,.9,.9]&},
AspectRatio → Automatic
]
ParaPlot[
{
Deltoid[][t],
Inversion[Deltoid[][t], {{0,0},.5}]
},
{t, 0, 2 Pi},
PlotStyle → {
{Hue[.65]},
{Hue[.0], Thickness[.005]}
},
Epilog → {Hue[.18], Circle[{0,0},.5]},
AspectRatio → Automatic,
Ticks → {{-1,-.5,.5,1},{-1,-.5,.5,1}}
]
On obtient un trifolium.
ParaPlot[
Deltoid[][t],
{t,0, 2 Pi, 2 Pi/(30 3)},
PedalPoint → {0,0},
PlotDot → False,
PlotCurve → False,
Axes → False,
AspectRatio → Automatic
]
C’est encore un trifolium...
ParaPlot[
Rotate[Deltoid[][t], -Pi/2],
{t, 0.001, 2Pi, 2Pi/(30 3)},
PlotRadial → True,
PlotDot → False,
CurveColorFunction → {Hue[0, 0, 0] &},
LineStyle → {
RGBColor[RandomReal[],
RandomReal[],
RandomReal[]]
},
Axes → False,
AspectRatio → Automatic
]
La deltoïde est l’enveloppe des droites de Simson d’un triangle fixé (Robert Simson, 1687-1768).
DeltoidGenerator2[
{1, 3, 3.5},
{0, 3.2, 5/30},
LastFrameOnly → True
]
DeltoidGenerator2[
{1, 3, 4.8},
{0, 5.7, 5/30},
LastFrameOnly → True
]
DeltoidGenerator2[
{1, 3, 4},
{2, 6, 3/50},
LastFrameOnly → True,
NumberOfFrames → 1
]
Voici la deltoïde accompagnée des courbes paramétrées dérivées d’ordre 1 et 2.
ParaPlot[
Evaluate@{
D[Deltoid[][t], {t, 2}],
D[Deltoid[][t], {t, 1}],
Deltoid[][t]
},
{t, 0, 2 Pi},
AspectRatio → Automatic
]