Note

This Mathematica notebook is from the WWW project A Visual Dictionary of Special Plane Curves. Copyright © 1995-2000 by Xah Lee. (http://xahlee.org/)

Packages and Initializations

Needs["ParaPlot`"]
(*MathSource Item:0207-986*)

Needs["PlaneCurveFormulas`"](*0208-482*)

Needs["PlaneCurveGenerator`"](*0208-314*)

Needs["Graphics`ImplicitPlot`"]
(*MathSource Item:0200-529*)

$HistoryLength = 10;

Conchoid

ParaPlot[
 	Rotate[ Epitrochoid[1, 1/5, 2][t], Pi/2],
	{t, 0,  2 Pi, 2 Pi/(5 40)},
	ConchoidSetting->{{0,0},{0,2}},
	Axes->False, PlotDot->False, PlotCurve->False,
	LineStyle->{{Hue[Random[]]} },
	DotStyle->{{RGBColor[Random[],Random[], Random[]],PointSize[.01]}},
	AspectRatio->Automatic,
	Background->Hue[0,0,0]
];

(* Example of a Conchoid *)
ConchoidGenerator[ {t, Sin[t]}, {t,0, 3 Pi}, {{3,-3}, 2},
	LastFrameOnly->True
];

ParaPlot[ {t, Sin[t]}, {t,0, 3 Pi, 3 Pi/40},
	ConchoidSetting->{{3,-3},{-2,2}},
	PlotDot->False, AspectRatio->Automatic
];

ParaPlot[
	Conchoid[ {t, Sin[t]}, {3,-3}, {-2,2}],
	{t,0, 3 Pi},
	AspectRatio->Automatic,
	PlotStyle->{Hue[0], Hue[.65]}
];

Limacon Of Pascal is a Conchoid of a Circle.
Conchoid of Nicomedes is a Conchoid of a Line.
(see each entry for illustration)

Below is an animation template that shows the effect of varing the Conchoid point.

(* "Sinuconchoid" Wave *)
Do[
	ParaPlot[ {x, Sin[x]}, {x,0, 3 Pi, 3 Pi/(3 16)},
		ConchoidSetting->{{i,0}, {-2,0,2}},
		PlotDot->False,	DotStyle->{Hue[0],Hue[.7],Hue[.8]},
		AspectRatio->Automatic,
		Ticks->{{0,2 Pi},Automatic},
		PlotRange->{{-1.5,12},{-3,3}}
	];,
	{i,0,3 Pi, 3 Pi/5}
];

This animation template is an example of showing the effect of varing the constant k.

(* "Waterdrop transform" *)
Do[
	ParaPlot[ Ellipse[.7][t], {t,0, 2 Pi, 2 Pi/50},
		ConchoidSetting->{{1,1}, {-i,i}},
		PlotDot->False,	DotStyle->{Hue[0],Hue[.65]},
		AspectRatio->Automatic,
		PlotRange->{{-4,3.5},{-4,3.5}}
	],
	{i,0, 3, 3/5}
];

This animation template is an example of a Conchoid of a varing curve.

(* "Butterfly transform" *)
Do[
	ParaPlot[ Rotate[Epicycloid[3][t], i] , {t,0, 2 Pi, 2 Pi/(3 20)},
		ConchoidSetting->{{0,.8}, {-1.5,.3}},
		PlotDot->False, LineStyle->{GrayLevel[1]},
		CurveColorFunction->{Hue[.65]&},
		Axes->False, PlotRange->{{-1,1},{-1,1}} 2,
		AspectRatio->1
	],
	{i,0, 2 Pi/3, 2 Pi/3/10}
];

Animation: The conchoid of Witch of Agnesi.

ConchoidGenerator[ WitchOfAgnesi[][t],
	{t,-1.3,1.3},
	{{0,1},2},
	LastFrameOnly->True
];

Graphics Gallery

conchoid of hypocycloids and epicycloids

4 cusps

curves = 
        Conchoid[Hypocycloid[4][t], {0, 0}, 
          Range[-2, 0, 4/20]];

ParametricPlot[Evaluate@curves, {t, 0, 2*Pi}, 
        AspectRatio -> Automatic, 
        PlotStyle -> Table[Hue[i], {i, 0, 1, 1/(Length@curves - 1)}], 
        Background -> GrayLevel[0], PlotRange -> All];

5 cusps

curves = 
        Conchoid[(Rotate[#, Pi/2] &)@Hypocycloid[5][t], {0, 0}, 
          Range[-2, 2, 4/10]];

ParametricPlot[Evaluate@curves, {t, 0, 2*Pi}, 
        AspectRatio -> Automatic, 
        PlotStyle -> 
          Table[RGBColor[i,  .7,  .2], {i, 0, 1, 1/(Length@curves - 1)}], 
        Background -> GrayLevel[0], Axes -> False];

5 cusps

curves = 
        Conchoid[(Rotate[#, Pi/2] &)@Epicycloid[5][t], {0, 0}, 
          Range[-2, 0, 4/10]];

ParametricPlot[Evaluate@curves, {t, 0, 2*Pi}, 
        AspectRatio -> Automatic, 
        PlotStyle -> Table[Hue[i], {i, 0, 1, 1/(Length@curves - 1)}], 
        Background -> GrayLevel[0]];