Soit \(\mathcal{C}\) un cercle coupant l'axe des abscisses en \(A(a,0)\). On crée le cercle \(\mathcal{C}'\) par l'application complexe qui à un point \(Z\) (d'affixe \(z\)) du cercle associe le complexe \(Z'\) d'affixe \(z'=a^2/z\). On définit ainsi pour chaque couple \((Z,Z')\) le point \(M\) milieu du segment \([ZZ']\). Quand \(Z\) décrit le cercle \(C\), \(M\) décrit la courbe de Joukovski. Ceci revient à réaliser l'image du cercle \(\mathcal{C}\) par la transformation conforme de Joukovski qui à \(z\) associe \(z+a^2/z\).
prologues := 3;
outputtemplate := "%j/%j-%c.svg";
outputformat := "svg";
verbatimtex
%&latex
\documentclass{article}
\usepackage{amsmath}
\usepackage[charter]{mathdesign}
\begin{document}
etex
u:=0.5cm;
vardef jouk(expr P,a) =
save x,y; numeric x,y;
save H; pair H;
x:=xpart P;
y:=ypart P;
H:=(0.5*(x+x/(x*x+y*y)*a*a),0.5*(y-y/(x*x+y*y)*a*a));
H
enddef;
vardef joukcer(expr P,a) =
save x,y; numeric x,y;
save H; pair H;
x:=xpart P;
y:=ypart P;
H:=(x/(x*x+y*y)*a*a,-(y/(x*x+y*y)*a*a));
H
enddef;
path cerd,cerjou, joukov,jougeo;
numeric a;
cerd:=fullcircle scaled 10u shifted (u,3u);
a:=5u;
numeric ymin, ymax, xmin, xmax;
for i:=0 upto 360:
pair Z,Zj;
Z:=(5u*cosd(i)+u,5u*sind(i)+3u);
Zj:=joukcer(Z,a);
if i=0:
ymin:=ypart Zj;
ymax:=ypart Zj;
xmin:=xpart Zj;
xmax:=xpart Zj;
fi;
if ((i<>0) and ((xpart Zj)>xmax)):
xmax:= xpart Zj;
fi;
if ((i<>0) and ((xpart Zj)0) and ((ypart Zj)>ymax)):
ymax:= ypart Zj;
fi;
if ((i<>0) and ((ypart Zj)