Podaire d'un point par rapport à un cercle (variations)
%@AUTEUR: Maxime Chupin
%@DATE: 25/12/2007
verbatimtex
%&latex
\documentclass[12pt]{article}
\usepackage[garamond]{mathdesign}
\begin{document}
etex
u:=2cm;
vardef proj(expr P,M,N) =
% On protège le symbole H si toutefois il est déjà utilisé et on
% déclare que c'est un point.
save H; pair H;
% On indique que H est un barycentre de M et N, sans préciser
% exactement le coefficient...
H = whatever [M,N];
% On indique que le vecteur PH est égal à un certain nombre de fois
% le vecteur NM tourné de 90 degrés.
H - P = whatever * (M - N) rotated 90;
% Les équations ci-dessus étant suffisante pour définir H, on demande
% à la macro de le rendre.
H
enddef;
path cercle,tang,proje,drop;
for k:=0 upto 400:
beginfig(k+1);
pair O,A,P,M,N;
% les axes
drawarrow (-5u,0)--(3u,0) withpen pencircle scaled 0.7pt;
drawarrow (0,-4u)--(0,4u) withpen pencircle scaled 0.7pt;
O:=(0,0);
A:=(-(k/100)*u,0);
cercle:=fullcircle scaled (4u);
draw cercle withpen pencircle scaled 0.7pt withcolor blue;
path pod;
for i:=0 upto 180:
% notre point courant sur le cercle
P:=2u*(cosd(2i),sind(2i));
drop:=6[O,P]--6[P,O];
% tangente au cercle passant au point P
tang:= drop rotated 90 shifted P;
% droite de projection de A sur la tangente au cercle
proje:= drop shifted A;
% M l'intersection
M:=proje intersectionpoint tang;
% la courbe enfin!
if i=0 :
pod:=M;
else :
pod:=pod--M;
fi;
endfor;
draw pod withpen pencircle scaled 1pt withcolor red;
dotlabel.ulft(btex $A(-d,0)$ etex, A);
dotlabel.urt(btex $O$ etex, O);
label.bot(btex \textit{Une podaire du cercle} $\mathcal{C}$ :
$\left\{\begin{array}{l} x=(r+d\cos t)\cos t-d\\
y=(r+d\cos t )\sin t \end{array}\right.$ etex, (-0.2u,4u));
label.ulft(btex $\mathcal{C}$ etex,2u*(cosd(120),sind(120)));
label.bot(btex $r$ etex,(2u,0));
clip currentpicture to (-5u,-4u)--(3u,-4u)--(3u,4u)--(-5u,4u)--cycle;
endfig;
endfor;
end