Le puzzle de Dudeney

Renée De Graeve

2017

Contents

1  Introduction

Les quatre pièces du puzzle de Dudeney permettent de construire un carré ou un triangle équilatéral. L’animation 1 ci-dessous l’illustre, appuyer sur + puis sur - pour passer de l’un à l’autre.

=
Not evaled

Ernest Dudeney (1857-1930) a montré ce puzzle en 1905 lors d’une séance à la Royal Society à Londres. Sur ce modéle nous avons réalisé ici d’autres puzzles de 4 pièces qui transforment

  1. un carré en un triangle équilatéral (ci-dessus)
  2. un carré en un triangle isocèle (animation 2 ci-dessous)
  3. un rectangle en un triangle équilatéral (animation 3 ci-dessous)

Voici l’animation 2 (vous pouvez changer la valeur 1.6 de ll en une valeur entre 0.27 et 2, vous pouvez aussi changer le pas de 0.01 en 0.1) :

=
Not evaled
Pour réaliser une animation appuyer sur + puis sur - etc ...

Voici l’animation 3 (vous pouvez changer la valeur 1.6 de aa en une valeur entre 0.58 et 1.73, vous pouvez aussi changer le pas de 0.01 en 0.1) :

=
Not evaled
Pour réaliser une animation appuyer sur + puis sur - etc ...

2  Les 4 pièces du puzzle

Voici la décomposition du carré en 4 morceaux qui s’assemblent en formant le triangle équilatéral R 1RR 2R_1RR_2 :

A:=point(0);B:=point(2);C:=point(2+2*i);D:=point(2*i);
M:=milieu(A,B);N:=milieu(C,D);la:=evalf(sqrt(4*sqrt(3)/3-1));
P:=point(i*(2-la));Q:=point(2+i*la);R:=rotation(M,pi/3,Q);
segment(P,N);segment(R,Q);segment(R,M);
segment(M,Q);segment(M,P);segment(N,Q);
N1:=symetrie(Q,N);R1:=symetrie(Q,R);
R2:=symetrie(M,R);P2:=symetrie(M,P);
segment(Q,R1);segment(R1,R2);
segment(M,R2);segment(B,P2);
C1:=symetrie(Q,C);segment(N1,C1);
affichage(polygone(A,M,R,P),1+rempli);
affichage(triangle(N,D,P),2+rempli);
affichage(polygone(C,N,R,Q),3+rempli);
affichage(polygone(B,M,R,Q),4+rempli);
polygone(M,P,N,Q);
R:=R;Q:=Q;M:=M;B:=B;C:=C;

onload
Etant donné un carré, trouver la construction de ces pièces et prouvez que l’on a bien obtenu après réorganisation un triangle équilatéral.
La solution

Supposons le problème résolu
Si le carré est de côté 2a et le côté du triangle équilatéral est de côté 2b.
On doit avoir (égalité des aires) : 4a 2=b 234a^2=b^2\sqrt 3.
On voit que si les figures sont exactes pour obtenir un triangle équilatéral à partir du carré de côté 2a il faut, sans bouger la pièce bleue, faire subir :
- à la pièce rouge une symétrie par rapport à MM
- à la pièce jaune une symétrie par rapport à QQ
- à la pièce verte une translation de vecteur NN 1NN_1 (N 1N_1 étant le symétrique de NN par rapport à QQ).
Supposons que le triangle R 1RR 2R_1RR_2 soit équilatéral.
On a alors :
RQ=QR 1=bRQ=QR_1=b, RM=MR 2=bRM=MR_2=b, MQ=R 1R 2/2=bMQ=R_1R_2/2=b et
Le triangle RMQRMQ est donc équilatéral.
QRN^=QR 1N 1^=π/3\widehat{QRN}=\widehat{QR_1N_1}=\pi/3
PRM^=P 2R 2M^=QMR^=π/3\widehat{PRM}=\widehat{P_2R_2M}=\widehat{QMR}=\pi/3
Les droites PNPN, MQMQ et R 1R 2R_1R_2 sont donc parallèles.
Puisque PR=P 2R 2PR=P_2R_2, RN=R 1N 1RN=R_1N_1 et PN=P 2N 1PN=P_2N_1 on a :
R 1R 2=2b=R 1N 1+N 1P 2+P 2R 2=RN+NP+PR=2NPR_1R_2=2b=R_1N_1+N_1P_2+P_2R_2=RN+NP+PR=2NP
Donc NP=MQ=bNP=MQ=b et MPNQMPNQ est un parallélogramme.
Puisque PN=MQPN=MQ et DN=MB=aDN=MB=a, les triangles rectangles DNPDNP et BMQBMQ sont égaux, donc PD=BQPD=BQ.
Les triangles rectangles APMAPM et CQNCQN sont aussi égaux (AP=2al=CQAP=2a-l=CQ).
On a :
PN=MQPN=MQ et PM=NQPM=NQ donc la quadrilatère MPNQMPNQ est un parallélogramme.
Puisque RMQRMQ est un triangle équilatéral de côté bb, on en déduit que la distance hh entre les parallèles PNPN et MQMQ vaut b3/2b\sqrt 3/2 (hh est la hauteur du triangle équilatéral QRMQRM de côté bb).
Le point RR est donc l’intersection de la médiatrice de MQMQ avec PNPN et il est aussi le transformé de QQ par la rotation de centre MM et d’angle π/3\pi/3.
Calculons l=PD=BQl=PD=BQ.
Dans le triangle rectangle DPNDPN, on a PD=lPD=l,DN=aDN=a et PN=bPN=b,
donc :
b 2=PN 2=l 2+a 2=4a 2/(3)b^2=PN^2=l^2+a^2=4a^2/\sqrt(3) donc l 2=b 2a 2l^2=b^2-a^2
Donc l 2=a 2(43/31)l^2=a^2(4\sqrt 3/3-1)

La construction
Lorsque PD=l=2a(3/31)PD=l=2a\sqrt{(\sqrt 3/3-1)}, construisons :
le carré ABCDABCD, _ le milieu MM (resp NN) de ABAB (resp CDCD)
le point PP (resp QQ) du segment ADAD (resp BCBC) tel que DP=lDP=l (resp(BQ=lBQ=l)
Le point RR intersection de la médiatrice de MQMQ avec PNPN
R 2R_2 est le symétrique de RR par rapport à MM et
R 1R_1 est le symétrique de RR par rapport à QQ donc
MQMQ est parallèle à R 1R 2=2bR_1R_2=2b et MQ=bMQ=b.
Les triangles rectangles NDPNDP et MBQMBQ sont donc égaux.
Donc PD=BQ=lPD=BQ=l, PN=MQPN=MQ et DN=MBDN=MB
AA est le symétrique de BB par rapport à MM donc AM=MB=aAM=MB=a
donc AM=MB=DN=NC=aAM=MB=DN=NC=a.
Les triangles rectangles APMAPM et CQNCQN sont aussi égaux (AP=2al=CQAP=2a-l=CQ).
On a :
PN=MQPN=MQ et PM=NQPM=NQ donc la quadrilatère MPNQMPNQ est un parallélogramme.
Remarque
MPNQMPNQ n’est pas un rectangle car MP 2+NP 24MP^2+NP^2\neq 4 :


On a donc :
L’aire des triangles rectangles APMAPM et CQNCQN plus l’aire des triangles rectangles NDPNDP et MBQMBQ est égale à l’aire du rectangle AMNDAMND c’est à dire est ègale à 2a 22a^2.
L’aire du parallélogramme MPNQMPNQ vaut donc 4a 22a 2=2a 24a^2-2a^2=2a^2.
Puisque MQ=bMQ=b on en déduit que la distance hh entre les parallèles PNPN et MQMQ vaut 2a 2/b=b3/22a^2/b=b\sqrt 3/2 (puisque 4a 2=b 234a^2=b^2\sqrt 3).
hh est la hauteur du triangle isocèle RQMRQM de base QM=bQM=b donc
le triangle QRMQRM est équilatéral (RQ 2=RM 2=h 2+(b/2) 2=b 2(3/4+1/4)=b 2RQ^2=RM^2=h^2+(b/2)^2=b^2(3/4+1/4)=b^2)

On tape pour avoir les pièces du puzzle (on prend pour simplifier a=1a=1) i.e. le carré a des côtés de longueur 2 :

fonction pieces()
local l,M,N,P,Q,R,L;
L:=NULL;
l:=evalf(sqrt(4*sqrt(3)/3-1));
M:=point(1);
N:=point(1+2*i);
P:=point(i*(2-l));
Q:=point(2+i*l);
R:=inter_unique(droite(P,N),mediatrice(M,Q));
L:=L,affichage(quadrilatere(M,2,Q,R),4+rempli); 
L:=L,affichage(quadrilatere(Q,2+2*i,1+2i,R),3+rempli); 
L:=L,affichage(triangle(P,2i,1+2i),2+rempli);
L:=L,affichage(quadrilatere(0,M,R,i*(2-l)),1+rempli); 
retourne L;
ffonction :;

onload

3  Le pavage correspondant au puzzle de Dudeney

On tape les procédures dudeney0 (la pièce triangle est en bas à gauche) et dudeney1 (la pièce triangle est en haut à droite) :

fonction dudeney0(z0)
local M,P,Q,R,l,L;
l:=sqrt(4*sqrt(3)/3-1);
M:=point(1+z0);
P:=point(2+i*(2-l)+z0);
Q:=evalf(point(i*l+z0));
L:=NULL;
R:=rotation(M,-pi/3,Q);
L:=L,affichage(quadrilatere(M,z0,Q,R),4+rempli); 
L:=L,affichage(quadrilatere(Q,2*i+z0,1+2*i+z0,R),3+rempli); 
L:=L,affichage(triangle(P,2+2i+z0,1+2*i+z0),2+rempli);
L:=L,affichage(quadrilatere(2+z0,M,R,i*(2-l)+z0+2),1+rempli); 
retourne L;
ffonction:;
fonction dudeney1(z0)
local M,N,P,Q,R,l,L;
l:=sqrt(4*sqrt(3)/3-1);
M:=point(1+z0+2*i);
N:=point(1+z0);
P:=point(i*(l)+z0);
Q:=evalf(point(2-i*l+2*i+z0));
L:=NULL;
R:=inter_unique(segment(P,N),mediatrice(M,Q));
L:=L,affichage(quadrilatere(M,2+z0+2*i,Q,R),4+rempli); 
L:=L,affichage(quadrilatere(Q,2+z0,1+z0,R),3+rempli); 
L:=L,affichage(triangle(P,z0,1+z0),2+rempli);
L:=L,affichage(quadrilatere(0+z0+2*i,M,R,i*(l)+z0),1+rempli); 
retourne L;
ffonction :;

onload


4  Pour animer la transformation

fonction animtri(t)
local l,M,N,B,C,D1,P,Q,R,Q1,N1,B1,C1,N2,P3,P2,L,B,C,R1,P1;
l:=sqrt(4*sqrt(3.)/3-1);
B:=point(2);C:=point(2+2*i);
M:=point(1);N:=point(1+2*i);
P:=point(i*(2-l));
Q:=evalf(point(2+i*l));
R:=evalf(inter_unique(segment(P,N),mediatrice(M,Q)));
L:=NULL;
L:=L,affichage(quadrilatere(M,0,P,R),1+rempli); 
L:=L,affichage(rotation(M,t,evalf(quadrilatere(M,2,Q,R))),4+rempli);
Q1:=rotation(M,t,Q);
R1:=rotation(M,t,R);
N1:=rotation(M,t,N);
B1:=rotation(M,t,B);
C1:=rotation(M,t,C);
D1:=rotation(Q1,t,rotation(M,t,point(2*i)));
P1:=rotation(Q1,t,rotation(M,t,P));
N2:=rotation(Q1,t,N1);
P3:=quadrilatere(Q1,R1,N1,C1);
L:=L,affichage(rotation(Q1,t,P3),3+rempli); 
P2:=triangle(P1,D1,N2);
L:=L,affichage(rotation(N2,t,P2),2+rempli);
return L;
ffonction:;

onload
Voici l’animation :

=
Not evaled
Pour réaliser une animation appuyer sur + puis sur - etc ...

5  Prolongement : transformer un carré en un triangle isocèle

On peut faire la même construction en faisant varier ll entre 0 et 2a2a, avec comme condition : le point RR se trouve sur le segment PNPN si l0)l\neq 0).
On transformera ainsi, un carré de côté 2a2a, en un triangle isocèle de base 2b=a 2+l 22b=\sqrt{a^2+l^2} et de hauteur h=4a 2/bh=4a^2/b.
On a 0<=l<=20&lt;=l&lt;=2.
Si l=0l=0, le point RR est l’intersection de la médiatrice de MBMB avec DCDC.
Si l0l\neq 0, pour que RR soit sur sur le segment PNPN il faut que :
re(affixe(R)] soit entre 0 et a=1a=1 et
im(affixe(R)] soit entre 0 et 2a=22a=2.
On choisit ici a=1a=1 et on tape :

fonction affixeR()
local M,N,P,Q,R,l,zR;
purge(l);
M:=point(1);
N:=point(1+2*i);
P:=point(i*(2-l));
Q:=point(2+i*l);
R:=inter_unique(mediatrice(M,Q),droite(P,N));
zR:= affixe(R);
return simplify(re(zR)),simplify(im(zR));
ffonction :;

onload




puisque 0l2=2a0\leq l\leq 2=2a,il faut donc choisir : (23)al2a(2-\sqrt 3)a\leq l \leq2a.
Les triangles isocèles ont comme base b=a 2+l 2b=\sqrt{a^2+l^2} et une aire de a 2=h*b/2a^2=h*b/2 donc la hauteur hh vaut h=2a 2/bh=2a^2/b.
Soit t=(MQMP)t=(\overrightarrow{MQ}\overrightarrow{MP}). tan(t)=2h/b\tan(t)=2h/b on a donc :
tan(t)=4a 2a 2+l 2\tan(t)=\frac{4a^2}{a^2+l^2} donc
4/5tan(t)4/(33)4/5\leq tan(t) \leq 4/(3-\sqrt 3) soit :
atan(4/5)tatan(4/(3sqrt(3)))\atan(4/5) \leq t \leq atan(4/(3-sqrt(3))).
Voici la fonction pour animer la transformation :

fonction animtransfo(l)
local M,N,B,C,D1,P,Q,R,Q1,N1,B1,C1,N2,P3,P2,L,B,C,R1,R2,P1;
B:=point(2);C:=point(2+2*i);
M:=point(1);N:=point(1+2*i);
P:=point(i*(2-l));
Q:=evalf(point(2+i*l));
R:=inter_unique(mediatrice(M,Q),droite(P,N));
L:=affichage(quadrilatere(M,0,P,R),1+rempli); 
L:=L,affichage(rotation(M,pi,evalf(quadrilatere(M,0,P,R))),1+rempli);
N1:=symetrie(Q,N);R1:=symetrie(Q,R);
C1:=symetrie(Q,C);segment(N1,C1);
R1:=symetrie(Q,R);
R2:=symetrie(M,R);
P2:=symetrie(M,P);
L:=L,affichage(polygone(2,M,R,Q),4+rempli);
L:=L,affichage(polygone(P,2*i,N),2+rempli);
L:=L,affichage(polygone(P2,C1,N1),2+rempli)
L:=L,affichage(polygone(0,P,R,,M),1+rempli); 
L:=L,affichage(polygone(B,P2,R2,,M),1+rempli); 
L:=L,affichage(polygone(N,R,Q,C),3+rempli);
L:=L,affichage(polygone(N1,R1,Q,C1),3+rempli);
return L;
ffonction:;

onload

Voici l’animation quand ll varie entre 0 et 2 :

=
Not evaled
Pour réaliser une animation appuyer sur + puis sur - etc ... On voit que si ll est entre entre 0 et 230.2679491924312-\sqrt 3\simeq 0.267949192431 ca ne marche pas ! Mais la construction reste valable pour l=0l=0 (on notera dans ce cas la disparition du triangle vert).
On peut faire aussi l’animation qui transforme le carré en un triangle isocèle.

fonction animtriso(t,l)
local M,N,B,C,D1,P,Q,R,Q1,N1,B1,C1,N2,P3,P2,L,B,C,R1,P1;
//l:=sqrt(4*sqrt(3.)/3-1);
B:=point(2);C:=point(2+2*i);
M:=point(1);N:=point(1+2*i);
P:=point(i*(2-l));
Q:=evalf(point(2+i*l));
R:=evalf(inter_unique(segment(P,N),mediatrice(M,Q)));
L:=NULL;
L:=L,affichage(quadrilatere(M,0,P,R),1+rempli); 
L:=L,affichage(rotation(M,t,evalf(quadrilatere(M,2,Q,R))),4+rempli);
Q1:=rotation(M,t,Q);
R1:=rotation(M,t,R);
N1:=rotation(M,t,N);
B1:=rotation(M,t,B);
C1:=rotation(M,t,C);
D1:=rotation(Q1,t,rotation(M,t,point(2*i)));
P1:=rotation(Q1,t,rotation(M,t,P));
N2:=rotation(Q1,t,N1);
P3:=quadrilatere(Q1,R1,N1,C1);
L:=L,affichage(rotation(Q1,t,P3),3+rempli); 
P2:=triangle(P1,D1,N2);
L:=L,affichage(rotation(N2,t,P2),2+rempli);
return L;
ffonction:;

onload
Voici l’animation (vous pouvez changer la valeur 1.6 de ll en une valeur entre 0.27 et 2) :

=
Not evaled
Pour réaliser une animation appuyer sur + puis sur - etc ...

6  Prolongement : transformer un rectangle en un triangle équilatéral

Peut-on transformer un rectangle c×ac \times a en un triangle équilatéral avec la méthode de Dudeney ?
On a vu précédemment que pour que la méthode de Dudeney fonctionne il fallait avoir soit l=0l=0, soit le point RR sur le segment PNPN (RR est l’intersection de la médiatrice de MQMQ et du segment PNPN, MQNPMQNP est un parallélogramme et MQ=L=c +l 2MQ=L=\sqrt{c^+l^2}).

6.1  Valeur de ll pour transformer un rectangle 2c×2a2c\times 2a en un triangle équilatéral

Pour trouver la valeur de ll il suffit d’égaler la surface d’un triangle équilatéral de côté b=(c 2+l 2)b=\sqrt(c^2+l^2) avec la surface d’un rectangle de côté c×ac\times a.
On doit donc avoir :
b 23/4=(c 2+l 2)3/4=acb^2\sqrt 3/4=(c^2+l^2)\sqrt 3/4=ac Donc l 2+c 2=4ac/3l^2+c^2=4ac/\sqrt 3 donc l 2=c/3(4ac3)l^2=c/\sqrt 3(4a-c\sqrt 3).
Cas particuler l=0l=0
l=0l=0 est équivalent à a=c3/4a=c\sqrt 3/4 et dans se cas le puzzle se réduit à 3 pièces :
On peut supposer, quitte à faire une homothetie, que c=1c=1.

fonction dudeneyrect0()
local a,l,M,N,B,C,P,Q,R,Q1,N1,B1,C1,N2,P3,P2,L,B,C,R1,R2,P1;
a:=sqrt(3)/4;l:=0;
B:=point(2);C:=point(2+2a*i);
M:=point(1);N:=point(1+2a*i);
P:=point(i*(2a-l)):;
Q:=evalf(point(2+i*l));
R:=inter_unique(mediatrice(M,Q),droite(P,N));
L:=NULL;
L:=L,affichage(quadrilatere(M,0,P,R),1+rempli); 
L:=L,affichage(rotation(M,pi,evalf(quadrilatere(M,0,P,R))),1+rempli);
N1:=symetrie(Q,N);R1:=symetrie(Q,R);
C1:=symetrie(Q,C);segment(N1,C1);
R1:=symetrie(Q,R);
R2:=symetrie(M,R);
P2:=symetrie(M,P);
L:=L,affichage(polygone(2,M,R,Q),4+rempli);
L:=L,affichage(polygone(P,2*a*i,N),2+rempli);
L:=L,affichage(polygone(P2,C1,N1),2+rempli)
L:=L,affichage(polygone(0,P,R,,M),1+rempli); 
L:=L,affichage(polygone(B,P2,R2,,M),1+rempli); 
L:=L,affichage(polygone(N,R,Q,C),3+rempli);
L:=L,affichage(polygone(N1,R1,Q,C1),3+rempli);
retourne L;
ffonction :;

onload


6.2  Les conditions sur aa et cc

Cherchons les conditions pour que RR soit entre PP et NN.
Pour simplifier, on peut supposer, quitte à faire une homothetie que c=1c=1. Pour que RR, d’affixe xR+i*yRxR+i*yR, soit entre PP et NN, il faut et il suffit que :
0xR1 0\leq xR \leq 1 et 0yR<2a 0\leq yR&lt;2a
Soit zP,zN,zQ,zM les affixes de P,N,Q,M.
Cherchons les coordonnèes xRxR et yRyR du point RR, pour cela on demande à Xcas (on peut bien sûr faire les calculs à la main !) :

fonction coordR()
local P,Q,M,N,a,l2,l,R;
purge(a);
l2:=4a/sqrt(3)-1;
l:=sqrt(abs(l2));
P:=point((2a-l)*i);
Q:=point(2+l*i);
M:=point(1);
N:=point(1+2*a*i);
R:=inter_unique(droite(P,N),mediatrice(Q,M));
retourne coordonnees(R)
ffonction:;

onload
Puis on cherche les coordonnées de RR et on résout les inéquations 0xR10\leq xR \leq 1 et 0yR<2a 0\leq yR&lt;2a ;
:


Donc, puisque 33a\frac{\sqrt 3}{3}\leq a implique que 34a\frac{\sqrt 3}{4}\leq a, on pourra transformer un rectangle 1×a1 \times a en un triangle équilatéral avec la méthode de Dudeney si et seulement si on a : 33a3)\frac{\sqrt 3}{3}\leq a\leq \sqrt 3 ) ou encore :
On pourra transformer un rectangle c×ac \times a en un triangle équilatéral avec la méthode de Dudeney si et seulement si on a : c33ac3\frac{c\sqrt 3}{3}\leq a \leq c\sqrt 3 ou encore c33ac3\frac{c\sqrt 3}{3}\leq a \leq c\sqrt 3 On pourra donc aussi transformer un rectangle c×ac \times a en un triangle équilatéral avec la méthode de Dudeney si et seulement si on a : a33ca3\frac{a\sqrt3}{3}\leq c \leq a\sqrt 3 ce qui signifie que l’on pourra avoir 2 puzzles différents.

Autre méthode On choisit a=3/2a=3/2, c=1c=1 et l=4a*c/3c 21.57l=\sqrt{4a*c/\sqrt 3-c^2}\simeq 1.57

Mr:=point(1);Qr:=point(2+1.57*i);
Nr:=point(1+3*i);Pr:=point((3-1.57)*i);
affichage(polygone(0,2,2+3*i,3*i),epaisseur_ligne_2);
affichage(polygone(Mr,Qr,Nr,Pr),epaisseur_ligne_2);
triangle_equilateral(Mr,Qr,Rr);
affichage(parallelogramme(Rr,Mr,Qr),1);
affichage(parallelogramme(Mr,Qr,Rr),4);
angle(Mr,Qr,Pr,"t");
affichage(angle(Qr,Rr,Mr,"\pi/3"),4);

onload
Pour que la construction soit possible il faut que l’on puisse inscrire le triangle équilatéral M rQ rR rM_rQ_rR_r dans le parallélogramme M rQ rN rP rM_rQ_rN_rP_r : la hauteur hh Le triangle MQRMQR a comme côté M rQ r=c 2+l 2M_rQ_r=\sqrt{c^2+l^2} et comme hauteur h=c 2+l 23/2h=\sqrt{c^2+l^2}\sqrt 3/2.
Il faut et il suffit que :
π/3t=M rQ rM rP r2π/3\pi/3\leq t=\overrightarrow{M_rQ_r}\overrightarrow{M_rP_r}\leq 2\pi/3 ce qui équivalent à :
(3)/2sin(t)1\sqrt(3)/2\leq \sin(t)\leq 1
ce qui équivalent à :
3/4sin(t) 213/4\leq \sin(t)^2\leq 1
On a MP 2=c 2+(2al) 2=4a 24al+l 2+c 2MP^2=c^2+(2a-l)^2=4a^2-4al+l^2+c^2 donc :
sin(t) 2=h 2MP 2=34c 2+l 24a 24al+l 2+c 2\sin(t)^2=\frac{h^2}{MP^2}=\frac{3}{4}\frac{c^2+l^2}{4a^2-4al+l^2+c^2}
La condition s’écrit alors :
3434c 2+l 24a 24al+l 2+c 2\frac{3}{4}\leq \frac{3}{4}\frac{c^2+l^2}{4a^2-4al+l^2+c^2}
4a 24al+l 2+c 2c 2+l 24a^2-4al+l^2+c^2\leq c^2+l^2
ou encore :
ala\leq l et a 2+c 2l 2+c 2=4ac/3a^2+c^2\leq l^2+c^2=4ac/\sqrt 3
La condition devient donc :
a 24ac/3+c 20a^2-4ac/\sqrt 3+c^2\leq 0
En posant k=a/ck=a/c, il faut résoudre l’inéquation :
k 24k/3+10k^2-4k/\sqrt 3 +1\leq 0 donc il faut que kk soit compris entre les 2 racines de k 24k/3+1=0k^2-4k/\sqrt 3 +1=0 qui sont :
k1=1/3k1=1/\sqrt 3 et k2=3k2=\sqrt 3.
La condition pour que le puzzle soit possible est donc : 13ac3\frac{1}{\sqrt 3}\leq \frac{a}{c}\leq \sqrt 3 ou encore : c3ac3c\frac{c}{\sqrt 3}\leq a\leq c\sqrt 3c

6.3  La transformation

Cas général c/3ac3c/\sqrt 3\leq a\leq c\sqrt 3
ll est défini par :
l=sqrt(4ac/sqrt(3)-c^2) car 4ac>4c 2/3>c 234ac &gt; 4c^2/\sqrt 3&gt;c^2\sqrt 3
On a alors : l=4ac3c 2l=\sqrt{\frac{4ac}{\sqrt 3}-c^2} Lorsque le triangle RMQRMQ est équilatéral sa hauteur est :
h=3(l 2+1)/2h=\sqrt{3(l^2+1)}/2.
Donc lorsque le triangle RMQRMQ est équilatéral, la hauteur du paraléllogramme MQNPMQNP est h=3(l 2+1)/2h=\sqrt{3(l^2+1)}/2.
Pour l’animation, on choisit c=1c=1 et on fait varier aa entre 1/31/\sqrt 3 et 3\sqrt 3 :

fonction dudeneyrect(a,c)
  local L,A,B,C,C1,D,M,N,N1,P,P2,Q,R,R1,R2,l; 
  l:=evalf(sqrt(4a*c/sqrt(3)-c^2));
  L:=NULL;  
  A:=point(0);  
  B:=point(2*c);  
  C:=point(2*c+2*a*i);  
  D:=point(2*a*i);  
  //polygone(A,B,C,D);  
  P:=point((2*a-l)*i);  
  Q:=point(2*c+l*i);  
  M:=point(c);  
  N:=point(c+2*a*i);  
  R:=inter_unique(mediatrice(M,Q),segment(N,P));  
  L:=L,affichage(triangle(D,P,N),2+rempli);  
  L:=L,affichage(polygone(A,P,R,M),1+rempli);  
  L:=L,affichage(polygone(C,N,R,Q),3+rempli);  
  L:=L,affichage(polygone(B,M,R,Q),4+rempli);  
  R2:=symetrie(M,R);  
  P2:=symetrie(M,P);  
  N1:=symetrie(Q,N);  
  C1:=symetrie(Q,C);  
  R1:=symetrie(Q,R);  
  L:=L,affichage(polygone(C1,N1,R1,Q),3+rempli);  
  L:=L,affichage(polygone(B,P2,R2,M),1+rempli);  
  L:=L,affichage(triangle(C1,P2,N1),2+rempli);  
  retourne L;  
ffonction :;

onload
On peut echanger le role de aa et cc, on tape (tt désigne une translation qui permet de faire les 2 dessins sur la même figure).

fonction dudeneyrect1(t,a,c)
 local L,A,B,C,C1,D,M,N,N1,P,P2,Q,R,R1,R2,l;
l:=evalf(sqrt(4a*c/sqrt(3)-c^2));
L:=NULL;    
A:=point(t);B:=point(t+2*c);C:=point(t+2c+2a*i);D:=point(t+2a*i);
//polygone(A,B,C,D);
P:=point(t+(2a-l)*i);Q:=point(t+2c+l*i);
M:=point(t+c);N:=point(t+c+2*a*i);
R:=inter_unique(mediatrice(M,Q),segment(N,P));
L:=L,affichage(triangle(D,P,N),2+rempli);
L:=L,affichage(polygone(A,P,R,M),3+rempli);
L:=L,affichage(polygone(C,N,R,Q),1+rempli);
L:=L,affichage(polygone(B,M,R,Q),4+rempli);
R2:=symetrie(M,R);
P2:=symetrie(M,P);
N1:=symetrie(Q,N);
C1:=symetrie(Q,C);
R1:=symetrie(Q,R);
L:=L,affichage(polygone(C1,N1,R1,Q),1+rempli);
L:=L,affichage(polygone(B,P2,R2,M),3+rempli);
L:=L,affichage(triangle(C1,P2,N1),2+rempli);
retourne L;
ffonction :;

onload
Voici l’animation :

=
Not evaled
Cela donne 2 puzzles différents (sauf lorsque a=ca=c ou a=c3a=c\sqrt 3 ou a=c/3a=c/\sqrt 3).
Les voilà en superposition :

fonction dudeneyrect2(a,c) 
  local L1,L2,A,B,C,D,M1,M2,N2,N1,P1,P2,Q1,Q2,R1,R2,l1,l2;
  l1:=sqrt(4a*c/sqrt(3)-c^2);
  l2:=sqrt(4a*c/sqrt(3)-a^2);
  L1:=NULL; L2:=NULL; 
  A:=point(0);  
  B:=point(2*c);  
  C:=point(2*c+2*a*i);  
  D:=point(2*a*i);    
  P1:=point((2*a-l1)*i);  
  Q1:=point(2*c+l1*i);  
  M1:=point(c);  
  N1:=point(c+2*a*i);  
  R1:=inter_unique(mediatrice(M1,Q1),segment(N1,P1));  
  P2:=point(l2+2a*i);  
  Q2:=point(2c-l2);  
  M2:=point(2*c+a*i);  
  N2:=point(a*i);  
  R2:=inter_unique(mediatrice(M2,Q2),segment(N2,P2));  
  L1:=L1,polygone(M1,B,Q1,R1);
  L1:=L1,segment(P1,N1);
  L2:=L2,polygone(M2,B,Q2,R2);
  L2:=L2,segment(P2,N2);
  return affichage(L1,1),affichage(L2,4),polygone(A,B,C,D);
ffonction:;

onload

=
Not evaled
On peut faire aussi l’animation qui transforme le rectangle en un triangle équilatéral.

fonction animrectr(t,a)
local l,M,N,B,C,D1,P,Q,R,Q1,N1,B1,C1,N2,P3,P2,L,B,C,R1,P1;
l:=evalf(sqrt(4a/sqrt(3)-1));
B:=point(2);C:=point(2+2a*i);
M:=point(1);N:=point(1+2a*i);
P:=point(i*(2a-l));
Q:=evalf(point(2+i*l));
R:=evalf(inter_unique(segment(P,N),mediatrice(M,Q)));
L:=NULL;
L:=L,affichage(quadrilatere(M,0,P,R),1+rempli); 
L:=L,affichage(rotation(M,t,evalf(quadrilatere(M,2,Q,R))),4+rempli);
Q1:=rotation(M,t,Q);
R1:=rotation(M,t,R);
N1:=rotation(M,t,N);
B1:=rotation(M,t,B);
C1:=rotation(M,t,C);
D1:=rotation(Q1,t,rotation(M,t,point(2a*i)));
P1:=rotation(Q1,t,rotation(M,t,P));
N2:=rotation(Q1,t,N1);
P3:=quadrilatere(Q1,R1,N1,C1);
L:=L,affichage(rotation(Q1,t,P3),3+rempli); 
P2:=triangle(P1,D1,N2);
L:=L,affichage(rotation(N2,t,P2),2+rempli);
return L;
ffonction:;

onload
Voici l’animation (vous pouvez changer la valeur 1.6 de aa en une valeur entre 0.58 et 1.73) :

=
Not evaled
Pour réaliser une animation appuyer sur + puis sur - etc ...

  


This document was translated from LATEX by HEVEA.