diff options
Diffstat (limited to 'macros/latex/contrib/profcollege/latex/PfCThales.tex')
-rw-r--r-- | macros/latex/contrib/profcollege/latex/PfCThales.tex | 1331 |
1 files changed, 1331 insertions, 0 deletions
diff --git a/macros/latex/contrib/profcollege/latex/PfCThales.tex b/macros/latex/contrib/profcollege/latex/PfCThales.tex new file mode 100644 index 0000000000..7e1583c23e --- /dev/null +++ b/macros/latex/contrib/profcollege/latex/PfCThales.tex @@ -0,0 +1,1331 @@ +%%% +% Thales +%%% +\newcount\ppcm% + +\newcommand\PPCM[2]{% + \PGCD{#1}{#2}% + \ppcm=\numexpr#1*#2/\pgcd\relax% +}% + +\setKVdefault[ClesThales]{Calcul=true,Droites=false,Propor=false,Segment=false,Figure=false,FigureSeule=false,Figurecroisee=false,FigurecroiseeSeule=false,Angle=0,Precision=2,Entier=false,Unite=cm,Reciproque=false,Produit=false,ChoixCalcul=0,Simplification,Redaction=false,Remediation=false,Echelle=1cm,Perso=false,CalculsPerso=false,IntroCalculs,CouleursNum=false,CouleursDen=false} +\defKV[ClesThales]{CouleurNum=\setKV[ClesThales]{CouleursNum}} +\defKV[ClesThales]{CouleurDen=\setKV[ClesThales]{CouleursDen}} + +\DeclareSIUnit{\PfCThalesUnit}{\useKV[ClesThales]{Unite}}% + +%On d\'efinit la figure \`a utiliser +\def\MPFigThales#1#2#3#4#5#6{ + % #1 Premier sommet + % #2 Deuxi\`eme sommet + % #3 Troisi\`eme sommet + % #4 point sur le segment #1#2 + % #5 point sur le segment #1#3 + % #6 angle de rotation + \ifluatex +% \mplibcodeinherit{enable} + \mplibforcehmode + \begin{mplibcode} + u:=\useKV[ClesThales]{Echelle}; + boolean CouleursNum,CouleursDen; + CouleursNum=\useKV[ClesThales]{CouleursNum}; + CouleursDen=\useKV[ClesThales]{CouleursDen}; + color CouleurNum,CouleurDen; + if CouleursNum: + CouleurNum=\useKV[ClesThales]{CouleurNum} + else: + CouleurNum=black + fi; + if CouleursDen: + CouleurDen=\useKV[ClesThales]{CouleurDen} + else: + CouleurDen=black + fi; + pair A,B,C,M,N,O;% + %On place les points A,B,C sur le cercle de mani\`ere \`a faciliter la rotation de la figure + A=u*(1,1); + B-A=u*(4,0); + C=(A--2[A,B rotatedabout(A,45)]) intersectionpoint (B--2[B,A rotatedabout(B,-60)]); + % On d\'efinit le centre du cercle circonscrit + O - .5[A,B] = whatever * (B-A) rotated 90; + O - .5[B,C] = whatever * (C-B) rotated 90; + % On tourne pour \'eventuellement moins de lassitude :) + A:=A rotatedabout(O,#6); + B:=B rotatedabout(O,#6); + C:=C rotatedabout(O,#6); + % on dessine \`a main lev\'ee :) + path cotes[]; + cotes1=A{dir(angle(B-A)+5)}..B{dir(angle(B-A)+5)}; + cotes2=B{dir(angle(C-B)+5)}..C{dir(angle(C-B)+5)}; + cotes3=C{dir(angle(A-C)+5)}..A{dir(angle(A-C)+5)}; + M=point(0.4*length cotes1) of cotes1; + N=point(0.6*length cotes3) of cotes3; + cotes4=1.5[N,M]{dir(angle(N-M)+5)}..1.5[M,N]{dir(angle(N-M)+5)}; + path triangle; + triangle=cotes1--cotes2--cotes3--cycle; + draw triangle; + draw cotes4; + if CouleursDen: + draw triangle dashed evenly withpen pencircle scaled 1.5 withcolor CouleurDen; + fi; + if CouleursNum: + draw (cotes1 cutafter cotes4) dashed dashpattern(off 3 on 3) withpen pencircle scaled 1.5 withcolor CouleurNum; + draw (cotes4 cutbefore cotes1 cutafter cotes3) dashed dashpattern(off 3 on 3) withpen pencircle scaled 1.5 withcolor CouleurNum; + draw (cotes3 cutbefore cotes4) dashed dashpattern(off 3 on 3) withpen pencircle scaled 1.5 withcolor CouleurNum; + fi; + %on labelise + label(btex #1 etex,1.15[O,A]); + label(btex #2 etex,1.15[O,B]); + label(btex #3 etex,1.15[O,C]); + label(btex #4 etex,1.1[C,M]); + label(btex #5 etex,1.1[B,N]); + fill (fullcircle scaled 0.75mm) shifted (cotes1 intersectionpoint cotes4); + fill (fullcircle scaled 0.75mm) shifted (cotes3 intersectionpoint cotes4); + pair I,J,K; + I=1/2[M,N]; + J=1/2[B,C]; + K=1/2[I,J]; + path cd; + cd=(fullcircle scaled 6mm) shifted K; + drawoptions(withcolor 0.75*white); + drawarrow reverse((I{dir(210+angle(I-J))}..{dir(150+angle(I-J))}K) cutafter cd); + drawarrow reverse((J{dir(210+angle(J-I))}..{dir(150+angle(J-I))}K) cutafter cd); + draw cd; + label(btex $//$ etex ,K); + drawoptions(); + \end{mplibcode} +% \mplibcodeinherit{disable} + \else + \begin{mpost}[mpsettings={u:=\useKV[ClesThales]{Echelle};boolean CouleursNum,CouleursDen; + CouleursNum=\useKV[ClesThales]{CouleursNum}; + CouleursDen=\useKV[ClesThales]{CouleursDen}; + color CouleurNum,CouleurDen; + if CouleursNum: + CouleurNum=\useKV[ClesThales]{CouleurNum} + else: + CouleurNum=black + fi; + if CouleursDen: + CouleurDen=\useKV[ClesThales]{CouleurDen} + else: + CouleurDen=black + fi;}] + pair A,B,C,M,N,O;% + %On place les points A,B,C sur le cercle de mani\`ere \`a faciliter la rotation de la figure + A=u*(1,1); + B-A=u*(4,0); + C=(A--2[A,B rotatedabout(A,45)]) intersectionpoint (B--2[B,A rotatedabout(B,-60)]); + % On d\'efinit le centre du cercle circonscrit + O - .5[A,B] = whatever * (B-A) rotated 90; + O - .5[B,C] = whatever * (C-B) rotated 90; + % On tourne pour \'eventuellement moins de lassitude :) + A:=A rotatedabout(O,#6); + B:=B rotatedabout(O,#6); + C:=C rotatedabout(O,#6); + % on dessine \`a main lev\'ee :) + path cotes[]; + cotes1=A{dir(angle(B-A)+5)}..B{dir(angle(B-A)+5)}; + cotes2=B{dir(angle(C-B)+5)}..C{dir(angle(C-B)+5)}; + cotes3=C{dir(angle(A-C)+5)}..A{dir(angle(A-C)+5)}; + M=point(0.4*length cotes1) of cotes1; + N=point(0.6*length cotes3) of cotes3; + cotes4=1.5[N,M]{dir(angle(N-M)+5)}..1.5[M,N]{dir(angle(N-M)+5)}; + path triangle; + triangle=cotes1--cotes2--cotes3--cycle; + draw triangle; + draw cotes4; + if CouleursDen: + draw triangle dashed evenly withpen pencircle scaled 1.5 withcolor CouleurDen; + fi; + if CouleursNum: + draw (cotes1 cutafter cotes4) dashed dashpattern(off 3 on 3) withpen pencircle scaled 1.5 withcolor CouleurNum; + draw (cotes4 cutbefore cotes1 cutafter cotes3) dashed dashpattern(off 3 on 3) withpen pencircle scaled 1.5 withcolor CouleurNum; + draw (cotes3 cutbefore cotes4) dashed dashpattern(off 3 on 3) withpen pencircle scaled 1.5 withcolor CouleurNum; + fi; + %on labelise + label(btex #1 etex,1.15[O,A]); + label(btex #2 etex,1.15[O,B]); + label(btex #3 etex,1.15[O,C]); + label(btex #4 etex,1.1[C,M]); + label(btex #5 etex,1.1[B,N]); + fill (fullcircle scaled 0.75mm) shifted (cotes1 intersectionpoint cotes4); + fill (fullcircle scaled 0.75mm) shifted (cotes3 intersectionpoint cotes4); + pair I,J,K; + I=1/2[M,N]; + J=1/2[B,C]; + K=1/2[I,J]; + path cd; + cd=(fullcircle scaled 6mm) shifted K; + drawoptions(withcolor 0.75*white); + drawarrow reverse((I{dir(210+angle(I-J))}..{dir(150+angle(I-J))}K) cutafter cd); + drawarrow reverse((J{dir(210+angle(J-I))}..{dir(150+angle(J-I))}K) cutafter cd); + draw cd; + label(btex $//$ etex ,K); + drawoptions(); + \end{mpost} + \fi +} + +%On d\'efinit la figure \`a utiliser +\def\MPFigReciThales#1#2#3#4#5#6{ + % #1 Premier sommet + % #2 Deuxi\`eme sommet + % #3 Troisi\`eme sommet + % #4 point sur le segment #1#2 + % #5 point sur le segment #1#3 + \ifluatex + \mplibcodeinherit{enable} + \mplibforcehmode + \begin{mplibcode} + u:=\useKV[ClesThales]{Echelle}; + pair A,B,C,M,N,O;% + %On place les points A,B,C sur le cercle de mani\`ere \`a faciliter la rotation de la figure + A=u*(1,1); + B-A=u*(4,0); + C=(A--2[A,B rotatedabout(A,45)]) intersectionpoint (B--2[B,A rotatedabout(B,-60)]); + % On d\'efinit le centre du cercle circonscrit + O - .5[A,B] = whatever * (B-A) rotated 90; + O - .5[B,C] = whatever * (C-B) rotated 90; + % On tourne pour \'eventuellement moins de lassitude :) + A:=A rotatedabout(O,#6); + B:=B rotatedabout(O,#6); + C:=C rotatedabout(O,#6); + % on dessine \`a main lev\'ee :) + path cotes[]; + cotes1=A{dir(angle(B-A)+5)}..B{dir(angle(B-A)+5)}; + cotes2=B{dir(angle(C-B)+5)}..C{dir(angle(C-B)+5)}; + cotes3=C{dir(angle(A-C)+5)}..A{dir(angle(A-C)+5)}; + M=point(0.4*length cotes1) of cotes1; + N=point(0.6*length cotes3) of cotes3; + cotes4=1.5[N,M]{dir(angle(N-M)+5)}..1.5[M,N]{dir(angle(N-M)+5)}; + path triangle; + triangle=cotes1--cotes2--cotes3--cycle; + draw triangle; + draw cotes4; + %on labelise + label(btex #1 etex,1.15[O,A]); + label(btex #2 etex,1.15[O,B]); + label(btex #3 etex,1.15[O,C]); + label(btex #4 etex,1.1[C,M]); + label(btex #5 etex,1.1[B,N]); + fill (fullcircle scaled 0.75mm) shifted (cotes1 intersectionpoint cotes4); + fill (fullcircle scaled 0.75mm) shifted (cotes3 intersectionpoint cotes4); + \end{mplibcode} + \mplibcodeinherit{disable} + \else + \begin{mpost}[mpsettings={u:=\useKV[ClesThales]{Echelle};}] + pair A,B,C,M,N,O;% + %On place les points A,B,C sur le cercle de mani\`ere \`a faciliter la rotation de la figure + A=u*(1,1); + B-A=u*(4,0); + C=(A--2[A,B rotatedabout(A,45)]) intersectionpoint (B--2[B,A rotatedabout(B,-60)]); + % On d\'efinit le centre du cercle circonscrit + O - .5[A,B] = whatever * (B-A) rotated 90; + O - .5[B,C] = whatever * (C-B) rotated 90; + % On tourne pour \'eventuellement moins de lassitude :) + A:=A rotatedabout(O,#6); + B:=B rotatedabout(O,#6); + C:=C rotatedabout(O,#6); + % on dessine \`a main lev\'ee :) + path cotes[]; + cotes1=A{dir(angle(B-A)+5)}..B{dir(angle(B-A)+5)}; + cotes2=B{dir(angle(C-B)+5)}..C{dir(angle(C-B)+5)}; + cotes3=C{dir(angle(A-C)+5)}..A{dir(angle(A-C)+5)}; + M=point(0.4*length cotes1) of cotes1; + N=point(0.6*length cotes3) of cotes3; + cotes4=1.5[N,M]{dir(angle(N-M)+5)}..1.5[M,N]{dir(angle(N-M)+5)}; + path triangle; + triangle=cotes1--cotes2--cotes3--cycle; + draw triangle; + draw cotes4; + %on labelise + label(btex #1 etex,1.15[O,A]); + label(btex #2 etex,1.15[O,B]); + label(btex #3 etex,1.15[O,C]); + label(btex #4 etex,1.1[C,M]); + label(btex #5 etex,1.1[B,N]); + fill (fullcircle scaled 0.75mm) shifted (cotes1 intersectionpoint cotes4); + fill (fullcircle scaled 0.75mm) shifted (cotes3 intersectionpoint cotes4); + \end{mpost} + \fi +} + +%On d\'efinit la deuxi\`eme figure \`a utiliser +\def\MPFigThalesCroisee#1#2#3#4#5#6{% + % #1 Premier sommet + % #2 Deuxi\`eme sommet + % #3 Troisi\`eme sommet + % #4 point sur la droite #1#2 + % #5 point sur la droite #1#3 + \ifluatex + \mplibforcehmode + \mplibcodeinherit{enable} + \begin{mplibcode} + u:=\useKV[ClesThales]{Echelle}; + boolean CouleursNum,CouleursDen; + CouleursNum=\useKV[ClesThales]{CouleursNum}; + CouleursDen=\useKV[ClesThales]{CouleursDen}; + color CouleurNum,CouleurDen; + if CouleursNum: + CouleurNum=\useKV[ClesThales]{CouleurNum} + else: + CouleurNum=black + fi; + if CouleursDen: + CouleurDen=\useKV[ClesThales]{CouleurDen} + else: + CouleurDen=black + fi; + pair A,B,C,M,N,O;% + O=(2.5u,2.5u); + path cc; + cc=(fullcircle scaled 3u) shifted O; + %On place les points A,B,C sur le cercle de mani\`ere \`a faciliter la rotation de la figure + A=point(0.1*length cc) of cc; + B=A rotatedabout(O,130); + C=(A--2[A,B rotatedabout(A,45)]) intersectionpoint (B--2[B,A rotatedabout(B,-60)]); + % On tourne pour \'eventuellement moins de lassitude :) + A:=A rotatedabout(O,#6); + B:=B rotatedabout(O,#6); + C:=C rotatedabout(O,#6); + % on dessine \`a main lev\'ee :) + M=1.4[B,A]; + N=1.4[C,A]; + path cotes[]; + cotes1=A{dir(angle(B-A)+5)}..1.15[A,B]{dir(angle(B-A)+5)}; + cotes2=1.15[C,B]{dir(angle(C-B)+5)}..1.15[B,C]{dir(angle(C-B)+5)}; + cotes3=1.15[A,C]{dir(angle(A-C)+5)}..A{dir(angle(A-C)+5)}; + cotes4=1.5[N,M]{dir(angle(N-M)+5)}..1.5[M,N]{dir(angle(N-M)+5)}; + cotes5=A{dir(angle(M-A)+5)}..1.15[A,M]{dir(angle(M-A)+5)}; + cotes6=A{dir(angle(N-A)+5)}..1.15[A,N]{dir(angle(N-A)+5)}; + for k=1 upto 6: + draw cotes[k]; + endfor; + if CouleursDen: + drawoptions(dashed evenly withpen pencircle scaled 1.5 withcolor CouleurDen); + draw (cotes[1] cutafter cotes[2]); + draw (cotes[2] cutbefore cotes[1] cutafter cotes[3]); + draw (cotes[3] cutbefore cotes[2]); + drawoptions(); + fi; + if CouleursNum: + drawoptions(dashed evenly withpen pencircle scaled 1.5 withcolor CouleurNum); + draw (cotes[5] cutafter cotes[4]); + draw (cotes[4] cutbefore cotes[5] cutafter cotes[6]); + draw (cotes[6] cutafter cotes[4]); + drawoptions(); + fi; + pair I; + % On d\'efinit le centre du cercle inscrit \`a AMC + (I-C) rotated ((angle(A-C)-angle(M-C))/2) shifted C=whatever[A,C]; + (I-M) rotated ((angle(C-M)-angle(A-M))/2) shifted M=whatever[M,C]; + %on labelise + label(btex #1 etex,I); + label(btex #2 etex,1.2[M,B]); + label(btex #3 etex,1.2[N,C]); + label(btex #4 etex,1.1[B,M]); + label(btex #5 etex,1.1[C,N]); + fill (fullcircle scaled 0.75mm) shifted (cotes5 intersectionpoint cotes4); + fill (fullcircle scaled 0.75mm) shifted (cotes6 intersectionpoint cotes4); + pair I,J,K; + I=1.1[N,M]; + J=1.1[B,C]; + K=1/2[I,J]; + path cd; + cd=(fullcircle scaled 6mm) shifted K; + drawoptions(withcolor 0.75*white); + drawarrow reverse((I{dir(210+angle(I-J))}..{dir(150+angle(I-J))}K) cutafter cd); + drawarrow reverse((J{dir(210+angle(J-I))}..{dir(150+angle(J-I))}K) cutafter cd); + draw cd; + label(btex $//$ etex ,K); + drawoptions(); + \end{mplibcode} + \mplibcodeinherit{disable} + \else + \begin{mpost}[mpsettings={u:=\useKV[ClesThales]{Echelle};boolean CouleursNum,CouleursDen; + CouleursNum=\useKV[ClesThales]{CouleursNum}; + CouleursDen=\useKV[ClesThales]{CouleursDen}; + color CouleurNum,CouleurDen; + if CouleursNum: + CouleurNum=\useKV[ClesThales]{CouleurNum} + else: + CouleurNum=black + fi; + if CouleursDen: + CouleurDen=\useKV[ClesThales]{CouleurDen} + else: + CouleurDen=black + fi;}] + pair A,B,C,M,N,O;% + O=(2.5u,2.5u); + path cc; + cc=(fullcircle scaled 3u) shifted O; + %On place les points A,B,C sur le cercle de mani\`ere \`a faciliter la rotation de la figure + A=point(0.1*length cc) of cc; + B=A rotatedabout(O,130); + C=(A--2[A,B rotatedabout(A,45)]) intersectionpoint (B--2[B,A rotatedabout(B,-60)]); + % On tourne pour \'eventuellement moins de lassitude :) + A:=A rotatedabout(O,#6); + B:=B rotatedabout(O,#6); + C:=C rotatedabout(O,#6); + % on dessine \`a main lev\'ee :) + M=1.4[B,A]; + N=1.4[C,A]; + path cotes[]; + cotes1=A{dir(angle(B-A)+5)}..1.15[A,B]{dir(angle(B-A)+5)}; + cotes2=1.15[C,B]{dir(angle(C-B)+5)}..1.15[B,C]{dir(angle(C-B)+5)}; + cotes3=1.15[A,C]{dir(angle(A-C)+5)}..A{dir(angle(A-C)+5)}; + cotes4=1.5[N,M]{dir(angle(N-M)+5)}..1.5[M,N]{dir(angle(N-M)+5)}; + cotes5=A{dir(angle(M-A)+5)}..1.15[A,M]{dir(angle(M-A)+5)}; + cotes6=A{dir(angle(N-A)+5)}..1.15[A,N]{dir(angle(N-A)+5)}; + for k=1 upto 6: + draw cotes[k]; + endfor; + if CouleursDen: + drawoptions(dashed evenly withpen pencircle scaled 1.5 withcolor CouleurDen); + draw (cotes[1] cutafter cotes[2]); + draw (cotes[2] cutbefore cotes[1] cutafter cotes[3]); + draw (cotes[3] cutbefore cotes[2]); + drawoptions(); + fi; + if CouleursNum: + drawoptions(dashed evenly withpen pencircle scaled 1.5 withcolor CouleurNum); + draw (cotes[5] cutafter cotes[4]); + draw (cotes[4] cutbefore cotes[5] cutafter cotes[6]); + draw (cotes[6] cutafter cotes[4]); + drawoptions(); + fi; + pair I; + % On d\'efinit le centre du cercle inscrit \`a AMC + (I-C) rotated ((angle(A-C)-angle(M-C))/2) shifted C=whatever[A,C]; + (I-M) rotated ((angle(C-M)-angle(A-M))/2) shifted M=whatever[M,C]; + %on labelise + label(btex #1 etex,I); + label(btex #2 etex,1.2[M,B]); + label(btex #3 etex,1.2[N,C]); + label(btex #4 etex,1.1[B,M]); + label(btex #5 etex,1.1[C,N]); + fill (fullcircle scaled 0.75mm) shifted (cotes5 intersectionpoint cotes4); + fill (fullcircle scaled 0.75mm) shifted (cotes6 intersectionpoint cotes4); + pair I,J,K; + I=1.1[N,M]; + J=1.1[B,C]; + K=1/2[I,J]; + path cd; + cd=(fullcircle scaled 6mm) shifted K; + drawoptions(withcolor 0.75*white); + drawarrow reverse((I{dir(210+angle(I-J))}..{dir(150+angle(I-J))}K) cutafter cd); + drawarrow reverse((J{dir(210+angle(J-I))}..{dir(150+angle(J-I))}K) cutafter cd); + draw cd; + label(btex $//$ etex ,K); + drawoptions(); + \end{mpost} + \fi +} + +%On d\'efinit la deuxi\`eme figure \`a utiliser +\def\MPFigReciThalesCroisee#1#2#3#4#5#6{% + % #1 Premier sommet + % #2 Deuxi\`eme sommet + % #3 Troisi\`eme sommet + % #4 point sur la droite #1#2 + % #5 point sur la droite #1#3 + \ifluatex + \mplibforcehmode + \mplibcodeinherit{enable} + \begin{mplibcode} + u:=\useKV[ClesThales]{Echelle}; + pair A,B,C,M,N,O;% + O=(2.5u,2.5u); + path cc; + cc=(fullcircle scaled 3u) shifted O; + %On place les points A,B,C sur le cercle de mani\`ere \`a faciliter la rotation de la figure + A=point(0.1*length cc) of cc; + B=A rotatedabout(O,130); + C=(A--2[A,B rotatedabout(A,45)]) intersectionpoint (B--2[B,A rotatedabout(B,-60)]); + % On tourne pour \'eventuellement moins de lassitude :) + A:=A rotatedabout(O,#6); + B:=B rotatedabout(O,#6); + C:=C rotatedabout(O,#6); + % on dessine \`a main lev\'ee :) + M=1.4[B,A]; + N=1.4[C,A]; + path cotes[]; + cotes1=A{dir(angle(B-A)+5)}..1.15[A,B]{dir(angle(B-A)+5)}; + cotes2=1.15[C,B]{dir(angle(C-B)+5)}..1.15[B,C]{dir(angle(C-B)+5)}; + cotes3=1.15[A,C]{dir(angle(A-C)+5)}..A{dir(angle(A-C)+5)}; + cotes4=1.5[N,M]{dir(angle(N-M)+5)}..1.5[M,N]{dir(angle(N-M)+5)}; + cotes5=A{dir(angle(M-A)+5)}..1.15[A,M]{dir(angle(M-A)+5)}; + cotes6=A{dir(angle(N-A)+5)}..1.15[A,N]{dir(angle(N-A)+5)}; + for k=1 upto 6: + draw cotes[k]; + endfor; + pair I; + % On d\'efinit le centre du cercle inscrit \`a AMC + (I-C) rotated ((angle(A-C)-angle(M-C))/2) shifted C=whatever[A,C]; + (I-M) rotated ((angle(C-M)-angle(A-M))/2) shifted M=whatever[M,C]; + %on labelise + label(btex #1 etex,I); + label(btex #2 etex,1.2[M,B]); + label(btex #3 etex,1.2[N,C]); + label(btex #4 etex,1.1[B,M]); + label(btex #5 etex,1.1[C,N]); + fill (fullcircle scaled 0.75mm) shifted (cotes5 intersectionpoint cotes4); + fill (fullcircle scaled 0.75mm) shifted (cotes6 intersectionpoint cotes4); + fill (fullcircle scaled 0.75mm) shifted (cotes1 intersectionpoint cotes2); + fill (fullcircle scaled 0.75mm) shifted (cotes3 intersectionpoint cotes2); + \end{mplibcode} + \mplibcodeinherit{disable} + \else + \begin{mpost}[mpsettings={u:=\useKV[ClesThales]{Echelle};}] + pair A,B,C,M,N,O;% + O=(2.5u,2.5u); + path cc; + cc=(fullcircle scaled 3u) shifted O; + %On place les points A,B,C sur le cercle de mani\`ere \`a faciliter la rotation de la figure + A=point(0.1*length cc) of cc; + B=A rotatedabout(O,130); + C=(A--2[A,B rotatedabout(A,45)]) intersectionpoint (B--2[B,A rotatedabout(B,-60)]); + % On tourne pour \'eventuellement moins de lassitude :) + A:=A rotatedabout(O,#6); + B:=B rotatedabout(O,#6); + C:=C rotatedabout(O,#6); + % on dessine \`a main lev\'ee :) + M=1.4[B,A]; + N=1.4[C,A]; + path cotes[]; + cotes1=A{dir(angle(B-A)+5)}..1.15[A,B]{dir(angle(B-A)+5)}; + cotes2=1.15[C,B]{dir(angle(C-B)+5)}..1.15[B,C]{dir(angle(C-B)+5)}; + cotes3=1.15[A,C]{dir(angle(A-C)+5)}..A{dir(angle(A-C)+5)}; + cotes4=1.5[N,M]{dir(angle(N-M)+5)}..1.5[M,N]{dir(angle(N-M)+5)}; + cotes5=A{dir(angle(M-A)+5)}..1.15[A,M]{dir(angle(M-A)+5)}; + cotes6=A{dir(angle(N-A)+5)}..1.15[A,N]{dir(angle(N-A)+5)}; + for k=1 upto 6: + draw cotes[k]; + endfor; + pair I; + % On d\'efinit le centre du cercle inscrit \`a AMC + (I-C) rotated ((angle(A-C)-angle(M-C))/2) shifted C=whatever[A,C]; + (I-M) rotated ((angle(C-M)-angle(A-M))/2) shifted M=whatever[M,C]; + %on labelise + label(btex #1 etex,I); + label(btex #2 etex,1.2[M,B]); + label(btex #3 etex,1.2[N,C]); + label(btex #4 etex,1.1[B,M]); + label(btex #5 etex,1.1[C,N]); + fill (fullcircle scaled 0.75mm) shifted (cotes5 intersectionpoint cotes4); + fill (fullcircle scaled 0.75mm) shifted (cotes6 intersectionpoint cotes4); + fill (fullcircle scaled 0.75mm) shifted (cotes1 intersectionpoint cotes2); + fill (fullcircle scaled 0.75mm) shifted (cotes3 intersectionpoint cotes2); + \end{mpost} + \fi +} + +\newcommand\RedactionThales{}% +\newcommand\EcritureCalculs{}% +\newcommand\EcritureQuotients{}% + +%%% +\newcommand\TTThales[6][]{% + \useKVdefault[ClesThales]% + \setKV[ClesThales]{#1}% + \ifboolKV[ClesThales]{Perso}{\RedactionThales}{% + \ifboolKV[ClesThales]{Droites}{% + Les droites \ifboolKV[ClesThales]{Remediation}{\pointilles[2cm]}{$(#3#5)$} et \ifboolKV[ClesThales]{Remediation}{\pointilles[2cm]}{$(#4#6)$} sont s\'ecantes en \ifboolKV[ClesThales]{Remediation}{\pointilles[2cm]}{$#2$}.% + }{% + Dans le triangle \ifboolKV[ClesThales]{Remediation}{\pointilles[2cm]}{$#2#3#4$}, \ifboolKV[ClesThales]{Remediation}{\pointilles[1cm]}{$#5$} est un point \ifboolKV[ClesThales]{Segment}{du segment}{de la + droite} + \ifboolKV[ClesThales]{Remediation}{\pointilles[2cm]}{\ifboolKV[ClesThales]{Segment}{$[#2#3]$}{$(#2#3)$}}, + \ifboolKV[ClesThales]{Remediation}{\pointilles[1cm]}{$#6$} est un + point \ifboolKV[ClesThales]{Segment}{du segment}{de la droite} + \ifboolKV[ClesThales]{Remediation}{\pointilles[2cm]}{\ifboolKV[ClesThales]{Segment}{$[#2#4]$}{$(#2#4)$}}.% + } + \\Comme les droites \ifboolKV[ClesThales]{Remediation}{\pointilles[2cm]}{$(#5#6)$} et \ifboolKV[ClesThales]{Remediation}{\pointilles[2cm]}{$(#3#4)$} sont parall\`eles, alors \ifboolKV[ClesThales]{Propor}{le tableau% + \[\begin{array}{c|c|c} + \ifboolKV[ClesThales]{Remediation}{\pointilles[1cm]}{#2#5}&\ifboolKV[ClesThales]{Remediation}{\pointilles[1cm]}{#2#6}&\ifboolKV[ClesThales]{Remediation}{\pointilles[1cm]}{#5#6}\\ + \hline + \ifboolKV[ClesThales]{Remediation}{\pointilles[1cm]}{#2#3}&\ifboolKV[ClesThales]{Remediation}{\pointilles[1cm]}{#2#4}&\ifboolKV[ClesThales]{Remediation}{\pointilles[1cm]}{#3#4}\\ + \end{array} + \] + est un tableau de proportionnalit\'e\ifboolKV[ClesThales]{Segment}{.}{ d'apr\`es le th\'eor\`eme de Thal\`es.}% + }{% + \ifboolKV[ClesThales]{Segment}{on a :}{le th\'eor\`eme de Thal\`es permet d'\'ecrire :}% + \[\frac{\ifboolKV[ClesThales]{Remediation}{\pointilles[1cm]}{\ifboolKV[ClesThales]{CouleursNum}{\mathcolor{\useKV[ClesThales]{CouleurNum}}{#2#5}}{#2#5}}}{\ifboolKV[ClesThales]{Remediation}{\pointilles[1cm]}{\ifboolKV[ClesThales]{CouleursDen}{\mathcolor{\useKV[ClesThales]{CouleurDen}}{#2#3}}{#2#3}}}=\frac{\ifboolKV[ClesThales]{Remediation}{\pointilles[1cm]}{\ifboolKV[ClesThales]{CouleursNum}{\mathcolor{\useKV[ClesThales]{CouleurNum}}{#2#6}}{#2#6}}}{\ifboolKV[ClesThales]{Remediation}{\pointilles[1cm]}{\ifboolKV[ClesThales]{CouleursDen}{\mathcolor{\useKV[ClesThales]{CouleurDen}}{#2#4}}{#2#4}}}=\frac{\ifboolKV[ClesThales]{Remediation}{\pointilles[1cm]}{\ifboolKV[ClesThales]{CouleursNum}{\mathcolor{\useKV[ClesThales]{CouleurNum}}{#5#6}}{#5#6}}}{\ifboolKV[ClesThales]{Remediation}{\pointilles[1cm]}{\ifboolKV[ClesThales]{CouleursDen}{\mathcolor{\useKV[ClesThales]{CouleurDen}}{#3#4}}{#3#4}}}\]% + }% + }% +}% + +\newcommand\TThalesCalculsD[8][]{% + \setKV[ClesThales]{#1}% + \newcount\zzz\newcount\yyy\newcount\xxx%Pour se rappeller des calculs \`a faire et combien en faire% + \def\Nomx{}% + \def\Nomy{}% + \def\Nomz{}% + \zzz=0\yyy=0\xxx=0% + \TTThales[#1]{\StrMid{#2}{1}{1}}{\StrMid{#2}{2}{2}}{\StrMid{#2}{3}{3}}{\StrMid{#2}{4}{4}}{\StrMid{#2}{5}{5}}\par +\IfDecimal{#3}{% + \IfDecimal{#6}{}{% + \IfDecimal{#4}{% + \IfDecimal{#7}{% + \xxx=5263%#6&=\frac{#3\times#7}{#4}\\ + \edef\Nomx{#6}\opcopy{#3}{valx}\opcopy{#7}{Valx}\opcopy{#4}{denox}% + \xdef\ResultatThalesx{\fpeval{round(#3*#7/#4,\useKV[ClesThales]{Precision})}}% + }{% + \IfDecimal{#8}{\IfDecimal{#5}{\xxx=5274%\[#6=\frac{#3\times#8}{#5}\] + \edef\Nomx{#6}\opcopy{#3}{valx}\opcopy{#8}{Valx}\opcopy{#5}{denox}% + \xdef\ResultatThalesx{\fpeval{round(#3*#8/#5,\useKV[ClesThales]{Precision})}}% + }{}}{} + } + }{\IfDecimal{#8}{\IfDecimal{#5}{\xxx=5274%\[#6=\frac{#3\times#8}{#5}\] + \edef\Nomx{#6}\opcopy{#3}{valx}\opcopy{#8}{Valx}\opcopy{#5}{denox}% + \xdef\ResultatThalesx{\fpeval{round(#3*#8/#5,\useKV[ClesThales]{Precision})}}% + }{}}{} + } + } + }{% + \IfDecimal{#6}{% + \IfDecimal{#4}{% + \IfDecimal{#7}{% + \xxx=2536%\[#3=\frac{#6\times#4}{#7}\]% + \edef\Nomx{#3}\opcopy{#6}{valx}\opcopy{#4}{Valx}\opcopy{#7}{denox}% + \xdef\ResultatThalesx{\fpeval{round(#6*#4/#7,\useKV[ClesThales]{Precision})}}% + }{% + \IfDecimal{#5}{\IfDecimal{#8}{\xxx=2547 + \edef\Nomx{#3}\opcopy{#6}{valx}\opcopy{#5}{Valx}\opcopy{#8}{denox}%\[#3=\frac{#6\times#5}{#8}\] + \xdef\ResultatThalesx{\fpeval{round(#6*#5/#8,\useKV[ClesThales]{Precision})}}% + }{}}{} + } + }{\IfDecimal{#5}{\IfDecimal{#8}{\xxx=2547 + \edef\Nomx{#3}\opcopy{#6}{valx}\opcopy{#5}{Valx}\opcopy{#8}{denox}%\[#3=\frac{#6\times#5}{#8}\] + \xdef\ResultatThalesx{\fpeval{round(#6*#5/#8,\useKV[ClesThales]{Precision})}}% + }{}}{} + } + }{} + }% + % + \IfDecimal{#4}{% + \IfDecimal{#7}{}{% + \IfDecimal{#5}{% + \IfDecimal{#8}{% + \yyy=6374%\[#7=\frac{#4\times#8}{#5}\]% + \edef\Nomy{#7}\opcopy{#4}{valy}\opcopy{#8}{Valy}\opcopy{#5}{denoy}% + \xdef\ResultatThalesy{\fpeval{round(#4*#8/#5,\useKV[ClesThales]{Precision})}}% + }{% + \IfDecimal{#6}{\IfDecimal{#3}{\yyy=6352%\[#7=\frac{#4\times#6}{#3}\] + \edef\Nomy{#7}\opcopy{#4}{valy}\opcopy{#6}{Valy}\opcopy{#3}{denoy}% + \xdef\ResultatThalesy{\fpeval{round(#4*#6/#3,\useKV[ClesThales]{Precision})}}% + }{}}{} + } + }{\IfDecimal{#6}{\IfDecimal{#3}{\yyy=6352%\[#7=\frac{#4\times#6}{#3}\] + \edef\Nomy{#7}\opcopy{#4}{valy}\opcopy{#6}{Valy}\opcopy{#3}{denoy}% + \xdef\ResultatThalesy{\fpeval{round(#4*#6/#3,\useKV[ClesThales]{Precision})}}% + }{}}{} + } + } + }{% + \IfDecimal{#7}{% + \IfDecimal{#5}{% + \IfDecimal{#8}{% + \yyy=3647%\[#4=\frac{#7\times#5}{#8}\]% + \edef\Nomy{#4}\opcopy{#7}{valy}\opcopy{#5}{Valy}\opcopy{#8}{denoy}% + \xdef\ResultatThalesy{\fpeval{round(#7*#5/#8,\useKV[ClesThales]{Precision})}}% + }{% + \IfDecimal{#3}{\IfDecimal{#6}{\yyy=3625%\[#4=\frac{#7\times#3}{#6}\] + \edef\Nomy{#4}\opcopy{#7}{valy}\opcopy{#3}{Valy}\opcopy{#6}{denoy}% + \xdef\ResultatThalesy{\fpeval{round(#7*#3/#6,\useKV[ClesThales]{Precision})}}% + }{}}{} + } + }{\IfDecimal{#3}{\IfDecimal{#6}{\yyy=3625%\[#4=\frac{#7\times#3}{#6}\] + \edef\Nomy{#4}\opcopy{#7}{valy}\opcopy{#3}{Valy}\opcopy{#6}{denoy}% + \xdef\ResultatThalesy{\fpeval{round(#7*#3/#6,\useKV[ClesThales]{Precision})}}% + }{}}{} + }}{}}% + % + \IfDecimal{#5}{% + \IfDecimal{#8}{}{% + \IfDecimal{#4}{ + \IfDecimal{#7}{ + \zzz=7463%\[#8=\frac{#5\times#7}{#4}\]% + \edef\Nomz{#8}\opcopy{#5}{valz}\opcopy{#7}{Valz}\opcopy{#4}{denoz}% + \xdef\ResultatThalesz{\fpeval{round(#5*#7/#4,\useKV[ClesThales]{Precision})}}% + }{% + \IfDecimal{#3}{\IfDecimal{#6}{\zzz=7452%\[#8=\frac{#5\times#6}{#3}\] + \edef\Nomz{#8}\opcopy{#5}{valz}\opcopy{#6}{Valz}\opcopy{#3}{denoz}% + \xdef\ResultatThalesz{\fpeval{round(#5*#6/#3,\useKV[ClesThales]{Precision})}}% + }{}}{} + } + }{\IfDecimal{#3}{\IfDecimal{#6}{\zzz=7452%\[#8=\frac{#5\times#6}{#3}\] + \edef\Nomz{#8}\opcopy{#5}{valz}\opcopy{#6}{Valz}\opcopy{#3}{denoz}% + \xdef\ResultatThalesz{\fpeval{round(#5*#6/#3,\useKV[ClesThales]{Precision})}}% + }{}}{} + } + } + }{% + \IfDecimal{#8}{% + \IfDecimal{#4}{% + \IfDecimal{#7}{% + \zzz=4736% \[#5=\frac{#8\times#4}{#7}\]% + \edef\Nomz{#5}\opcopy{#8}{valz}\opcopy{#4}{Valz}\opcopy{#7}{denoz}% + \xdef\ResultatThalesz{\fpeval{round(#8*#4/#7,\useKV[ClesThales]{Precision})}}% + }{% + \IfDecimal{#3}{\IfDecimal{#6}{\zzz=4725%\[#5=\frac{#8\times#3}{#6}\] + \edef\Nomz{#5}\opcopy{#8}{valz}\opcopy{#3}{Valz}\opcopy{#6}{denoz}% + \xdef\ResultatThalesz{\fpeval{round(#8*#3/#6,\useKV[ClesThales]{Precision})}}% + }{}}{} + } + }{\IfDecimal{#3}{\IfDecimal{#6}{\zzz=4725%\[#5=\frac{#8\times#3}{#6}\] + \edef\Nomz{#5}\opcopy{#8}{valz}\opcopy{#3}{Valz}\opcopy{#6}{denoz}% + \xdef\ResultatThalesz{\fpeval{round(#8*#3/#6,\useKV[ClesThales]{Precision})}}% + }{}}{} + }}{} + }% + %% + \StrMid{\the\zzz}{1}{1}[\cmza]% + \StrMid{\the\yyy}{1}{1}[\cmya]% + \StrMid{\the\xxx}{1}{1}[\cmxa]% + \ifboolKV[ClesThales]{Calcul}{% + %%%%%%%%%%%%%%%%%%%%%%%%%%% + \ifboolKV[ClesThales]{IntroCalculs}{On remplace par les longueurs connues :}{}% + \ifboolKV[ClesThales]{CalculsPerso}{% + \EcritureQuotients% + }{% + \ifboolKV[ClesThales]{Propor}{% + \[\begin{array}{c|c|c} + \IfDecimal{#3}{\num{#3}}{#3}&\IfDecimal{#4}{\num{#4}}{#4}&\IfDecimal{#5}{\num{#5}}{#5}\\ + \hline + \IfDecimal{#6}{\num{#6}}{#6}&\IfDecimal{#7}{\num{#7}}{#7}&\IfDecimal{#8}{\num{#8}}{#8} + \end{array} + \] + }{% + \[\frac{\IfDecimal{#3}{\num{#3}}{#3}}{\IfDecimal{#6}{\num{#6}}{#6}}=\frac{\IfDecimal{#4}{\num{#4}}{#4}}{\IfDecimal{#7}{\num{#7}}{#7}}=\frac{\IfDecimal{#5}{\num{#5}}{#5}}{\IfDecimal{#8}{\num{#8}}{#8}}\] + }% + }% + % On choisit \'eventuellement le calcul \`a faire s'il y en a plusieurs. + \xdef\CompteurCalcul{\useKV[ClesThales]{ChoixCalcul}}% + \xintifboolexpr{\CompteurCalcul>0}{\xintifboolexpr{\CompteurCalcul==1}{\xdef\cmya{0}\xdef\cmza{0}}{\xintifboolexpr{\CompteurCalcul==2}{\xdef\cmxa{0}\xdef\cmza{0}}{\xdef\cmxa{0}\xdef\cmya{0}}}}{}% + %% on fait les calculs + \ifboolKV[ClesThales]{CalculsPerso}{% + \EcritureCalculs% + }{% + \begin{align*} + % Premier compteur \xxx + \ifnum\cmxa>0 + \Nomx\uppercase{&}=\frac{\opexport{valx}{\valx}\num{\valx}\times\opexport{Valx}{\Valx}\num{\Valx}}{\opexport{denox}{\denox}\num{\denox}}\relax%\global\numx=\numexpr\opprint{valx}*\opprint{Valx}\relax + \fi + % % Deuxi\`eme compteur \yyy + \ifnum\cmya>0 + \ifnum\cmxa=0 + \else + \uppercase{&} + \fi% + \Nomy\uppercase{&}=\frac{\opexport{valy}{\valy}\num{\valy}\times\opexport{Valy}{\Valy}\num{\Valy}}{\opexport{denoy}{\denoy}\num{\denoy}}\relax%\global\numy=\numexpr\opprint{valy}*\opprint{Valy}\relax + \fi + % Troisi\`eme compteur \zzz + \ifnum\cmza>0 + \ifnum\cmxa=0 + \ifnum\cmya=0 + % + \else + \uppercase{&} + \fi + \Nomz\uppercase{&}=\frac{\opexport{valz}{\valz}\num{\valz}\times\opexport{Valz}{\Valz}\num{\Valz}}{\opexport{denoz}{\denoz}\num{\denoz}}\relax%\global\numz=\numexpr\opprint{valz}*\opprint{Valz}\relax + \else + \uppercase{&}\Nomz\uppercase{&}=\frac{\opexport{valz}{\valz}\num{\valz}\times\opexport{Valz}{\Valz}\num{\Valz}}{\opexport{denoz}{\denoz}\num{\denoz}}\relax%\global\numz=\numexpr\opprint{valz}*\opprint{Valz}\relax + \fi + \fi + \\ +% % 2eme ligne du tableau : calcul des num\'erateurs +% %Premier compteur \xxx + \ifnum\cmxa>0 + \Nomx\uppercase{&}=\frac{\opmul*{valx}{Valx}{numx}\opexport{numx}{\numx}\num{\numx}}{\opexport{denox}{\denox}\num{\denox}} + \fi + % % Deuxi\`eme compteur \yyy + \ifnum\cmya>0 + \ifnum\cmxa=0 + % + \else + \uppercase{&} + \fi + \Nomy\uppercase{&}=\frac{\opmul*{valy}{Valy}{numy}\opexport{numy}{\numy}\num{\numy}}{\opexport{denoy}{\denoy}\num{\denoy}}% + \fi +% %Troisi\`eme compteur \zzz + \ifnum\cmza>0 + \ifnum\cmxa=0 + \ifnum\cmya=0 + % + \else + \uppercase{&} + \fi + \Nomz\uppercase{&}=\frac{\opmul*{valz}{Valz}{numz}\opexport{numz}{\numz}\num{\numz}}{\opexport{denoz}{\denoz}\num{\denoz}} + \else + \uppercase{&}\Nomz\uppercase{&}=\frac{\opmul*{valz}{Valz}{numz}\opexport{numz}{\numz}\num{\numz}}{\opexport{denoz}{\denoz}\num{\denoz}} + \fi + \fi + \\ +% % 3eme ligne : Calculs + \ifnum\cmxa>0 + \Nomx\uppercase{&}\opdiv*{numx}{denox}{resultatx}{restex}\opcmp{restex}{0}\ifopeq=\SI{\ResultatThalesx}{\PfCThalesUnit}\else\approx\SI{\fpeval{round(\ResultatThalesx,\useKV[ClesThales]{Precision})}}{\PfCThalesUnit}\fi% + \fi + % % Deuxi\`eme compteur \yyy + \ifnum\cmya>0 + \ifnum\cmxa=0 + % + \else + \uppercase{&} + \fi + \Nomy\uppercase{&}\opdiv*{numy}{denoy}{resultaty}{restey}\opcmp{restey}{0}\ifopeq=\SI{\ResultatThalesy}{\PfCThalesUnit}\else\approx\SI{\fpeval{round(\ResultatThalesy,\useKV[ClesThales]{Precision})}}{\PfCThalesUnit}\fi% + \fi +% %Troisi\`eme compteur \zzz + \ifnum\cmza>0 + \ifnum\cmxa=0 + \ifnum\cmya=0 + % + \else + \uppercase{&} + \fi + \Nomz\uppercase{&}\opdiv*{numz}{denoz}{resultatz}{restez}\opcmp{restez}{0}\ifopeq=\SI{\ResultatThalesz}{\PfCThalesUnit}\else\approx\SI{\fpeval{round(\ResultatThalesz,\useKV[ClesThales]{Precision})}}{\PfCThalesUnit}\fi% + \else + \uppercase{&}\Nomz\uppercase{&}\opdiv*{numz}{denoz}{resultatz}{restez}\opcmp{restez}{0}\ifopeq=\SI{\ResultatThalesz}{\PfCThalesUnit}\else\approx\SI{\fpeval{round(\ResultatThalesz,\useKV[ClesThales]{Precision})}}{\PfCThalesUnit}\fi% + \fi + \fi + \end{align*} + } +}{} +} + +\newcommand\TThalesCalculsE[8][]{% + \setKV[ClesThales]{#1}% + \newcount\zzz\newcount\yyy\newcount\xxx%Pour se rappeller des calculs \`a faire et combien en faire% + \newcount\valx\newcount\Valx% + \newcount\valy\newcount\Valy% + \newcount\valz\newcount\Valz% + \newcount\numx\newcount\numy\newcount\numz% + \newcount\denox\newcount\denoy\newcount\denoz% + \def\Nomx{}% + \def\Nomy{}% + \def\Nomz{}% + \zzz=0\yyy=0\xxx=0% + \TTThales[#1]{\StrMid{#2}{1}{1}}{\StrMid{#2}{2}{2}}{\StrMid{#2}{3}{3}}{\StrMid{#2}{4}{4}}{\StrMid{#2}{5}{5}}\par% +\IfDecimal{#3}{% + \IfDecimal{#6}{}{% + \IfDecimal{#4}{% + \IfDecimal{#7}{% + \xxx=5263%#6&=\frac{#3\times#7}{#4}\\ + \edef\Nomx{#6}\valx=#3\Valx=#7\denox=#4% + }{% + \IfDecimal{#8}{\IfDecimal{#5}{\xxx=5274%\[#6=\frac{#3\times#8}{#5}\] + \edef\Nomx{#6}\valx=#3\Valx=#8\denox=#5% + }{}}{} + } + }{\IfDecimal{#8}{\IfDecimal{#5}{\xxx=5274%\[#6=\frac{#3\times#8}{#5}\] + \edef\Nomx{#6}\valx=#3\Valx=#8\denox=#5% + }{}}{} + } + } + }{% + \IfDecimal{#6}{% + \IfDecimal{#4}{% + \IfDecimal{#7}{% + \xxx=2536%\[#3=\frac{#6\times#4}{#7}\]% + \edef\Nomx{#3}\valx=#6\Valx=#4\denox=#7% + }{% + \IfDecimal{#5}{\IfDecimal{#8}{\xxx=2547 + \edef\Nomx{#3}\valx=#6\Valx=#5\denox=#8%\[#3=\frac{#6\times#5}{#8}\] + }{}}{} + } + }{\IfDecimal{#5}{\IfDecimal{#8}{\xxx=2547 + \edef\Nomx{#3}\valx=#6\Valx=#5\denox=#8%\[#3=\frac{#6\times#5}{#8}\] + }{}}{} + } + }{} + }% + % + \IfDecimal{#4}{% + \IfDecimal{#7}{}{% + \IfDecimal{#5}{% + \IfDecimal{#8}{% + \yyy=6374%\[#7=\frac{#4\times#8}{#5}\]% + \edef\Nomy{#7}\valy=#4\Valy=#8\denoy=#5% + }{% + \IfDecimal{#6}{\IfDecimal{#3}{\yyy=6352%\[#7=\frac{#4\times#6}{#3}\] + \edef\Nomy{#7}\valy=#4\Valy=#6\denoy=#3% + }{}}{} + } + }{\IfDecimal{#6}{\IfDecimal{#3}{\yyy=6352%\[#7=\frac{#4\times#6}{#3}\] + \edef\Nomy{#7}\valy=#4\Valy=#6\denoy=#3% + }{}}{} + } + } + }{% + \IfDecimal{#7}{% + \IfDecimal{#5}{% + \IfDecimal{#8}{% + \yyy=3647%\[#4=\frac{#7\times#5}{#8}\]% + \edef\Nomy{#4}\valy=#7\Valy=#5\denoy=#8% + }{% + \IfDecimal{#3}{\IfDecimal{#6}{\yyy=3625%\[#4=\frac{#7\times#3}{#6}\] + \edef\Nomy{#4}\valy=#7\Valy=#3\denoy=#6% + }{}}{} + } + }{\IfDecimal{#3}{\IfDecimal{#6}{\yyy=3625%\[#4=\frac{#7\times#3}{#6}\] + \edef\Nomy{#4}\valy=#7\Valy=#3\denoy=#6% + }{}}{} + }}{}}% + % + \IfDecimal{#5}{% + \IfDecimal{#8}{}{% + \IfDecimal{#4}{ + \IfDecimal{#7}{ + \zzz=7463%\[#8=\frac{#5\times#7}{#4}\]% + \edef\Nomz{#8}\valz=#5\Valz=#7\denoz=#4% + }{% + \IfDecimal{#3}{\IfDecimal{#6}{\zzz=7452%\[#8=\frac{#5\times#6}{#3}\] + \edef\Nomz{#8}\valz=#5\Valz=#6\denoz=#3% + }{}}{} + } + }{\IfDecimal{#3}{\IfDecimal{#6}{\zzz=7452%\[#8=\frac{#5\times#6}{#3}\] + \edef\Nomz{#8}\valz=#5\Valz=#6\denoz=#3% + }{}}{} + } + } + }{% + \IfDecimal{#8}{% + \IfDecimal{#4}{% + \IfDecimal{#7}{% + \zzz=4736% \[#5=\frac{#8\times#4}{#7}\]% + \edef\Nomz{#5}\valz=#8\Valz=#4\denoz=#7% + }{% + \IfDecimal{#3}{\IfDecimal{#6}{\zzz=4725%\[#5=\frac{#8\times#3}{#6}\] + \edef\Nomz{#5}\valz=#8\Valz=#3\denoz=#6% + }{}}{} + } + }{\IfDecimal{#3}{\IfDecimal{#6}{\zzz=4725%\[#5=\frac{#8\times#3}{#6}\] + \edef\Nomz{#5}\valz=#8\Valz=#3\denoz=#6% + }{}}{} + }}{} + }% + %% +\StrMid{\the\zzz}{1}{1}[\cmza]% +\StrMid{\the\yyy}{1}{1}[\cmya]% +\StrMid{\the\xxx}{1}{1}[\cmxa]% +\ifboolKV[ClesThales]{Calcul}{% + %%%%%%%%%%%%%%%%%%%%%%%%%%% + On remplace par les longueurs connues : + \ifboolKV[ClesThales]{Propor}{% + \[\begin{array}{c|c|c} + \IfDecimal{#3}{\num{#3}}{#3}&\IfDecimal{#4}{\num{#4}}{#4}&\IfDecimal{#5}{\num{#5}}{#5}\\ + \hline + \IfDecimal{#6}{\num{#6}}{#6}&\IfDecimal{#7}{\num{#7}}{#7}&\IfDecimal{#8}{\num{#8}}{#8}\\ + \end{array} + \] + }{% + \[\frac{\IfDecimal{#3}{\num{#3}}{#3}}{\IfDecimal{#6}{\num{#6}}{#6}}=\frac{\IfDecimal{#4}{\num{#4}}{#4}}{\IfDecimal{#7}{\num{#7}}{#7}}=\frac{\IfDecimal{#5}{\num{#5}}{#5}}{\IfDecimal{#8}{\num{#8}}{#8}}\] + }% + % On choisit \'eventuellement le calcul \`a faire s'il y en a plusieurs. + \xdef\CompteurCalcul{\useKV[ClesThales]{ChoixCalcul}}% + \xintifboolexpr{\CompteurCalcul>0}{\xintifboolexpr{\CompteurCalcul==1}{\xdef\cmya{0}\xdef\cmza{0}}{\xintifboolexpr{\CompteurCalcul==2}{\xdef\cmxa{0}\xdef\cmza{0}}{\xdef\cmxa{0}\xdef\cmya{0}}}}% + %%on fait les calculs +\begin{align*} + %Premier compteur \xxx + \ifnum\cmxa>0 + \Nomx\uppercase{&}=\frac{\the\valx\times\the\Valx}{\the\denox}\global\numx=\numexpr\the\valx*\the\Valx\relax + \fi + % % Deuxi\`eme compteur \yyy + \ifnum\cmya>0 + \ifnum\cmxa=0 + \else + \uppercase{&} + \fi% + \Nomy\uppercase{&}=\frac{\the\valy\times\the\Valy}{\the\denoy}\global\numy=\numexpr\the\valy*\the\Valy\relax + % \else + % \uppercase{&}\Nomy\uppercase{&}=\frac{\the\valy\times\the\Valy}{\the\denoy}\global\numy=\numexpr\the\valy*\the\Valy\relax + % \fi + \fi + % Troisi\`eme compteur \zzz + \ifnum\cmza>0 + \ifnum\cmxa=0 + \ifnum\cmya=0 + %\Nomz\uppercase{&}=\frac{\the\valz\times\the\Valz}{\the\denoz}\global\numz=\numexpr\the\valz*\the\Valz\relax + \else + \uppercase{&}%\Nomz\uppercase{&}=\frac{\the\valz\times\the\Valz}{\the\denoz}\global\numz=\numexpr\the\valz*\the\Valz\relax + \fi + \Nomz\uppercase{&}=\frac{\the\valz\times\the\Valz}{\the\denoz}\global\numz=\numexpr\the\valz*\the\Valz\relax + \else + \uppercase{&}\Nomz\uppercase{&}=\frac{\the\valz\times\the\Valz}{\the\denoz}\global\numz=\numexpr\the\valz*\the\Valz\relax + \fi + \fi + \\ + % 2eme ligne du tableau : calcul des num\'erateurs + %Premier compteur \xxx + \ifnum\cmxa>0 + \Nomx\uppercase{&}=\frac{\num{\the\numx}}{\num{\the\denox}} + \fi + % % Deuxi\`eme compteur \yyy + \ifnum\cmya>0 + \ifnum\cmxa=0 + %\Nomy\uppercase{&}=\frac{\num{\the\numy}}{\num{\the\denoy}} + \else + \uppercase{&}%\Nomy\uppercase{&}=\frac{\num{\the\numy}}{\num{\the\denoy}} + \fi + \Nomy\uppercase{&}=\frac{\num{\the\numy}}{\num{\the\denoy}}% + \fi + %Troisi\`eme compteur \zzz + \ifnum\cmza>0 + \ifnum\cmxa=0 + \ifnum\cmya=0 + %\Nomz\uppercase{&}=\frac{\num{\the\numz}}{\num{\the\denoz}} + \else + \uppercase{&}%\Nomz\uppercase{&}=\frac{\num{\the\numz}}{\num{\the\denoz}} + \fi + \Nomz\uppercase{&}=\frac{\num{\the\numz}}{\num{\the\denoz}} + \else + \uppercase{&}\Nomz\uppercase{&}=\frac{\num{\the\numz}}{\num{\the\denoz}} + \fi + \fi + \\ + % 3eme ligne : faire les simplifications ou pas ? + %Premier compteur \xxx + \ifnum\cmxa>0 + \PGCD{\the\numx}{\the\denox} + \ifnum\pgcd>1 + \Nomx\uppercase{&}=\SSimpli{\the\numx}{\the\denox} + \else + \uppercase{&} + \fi + \fi + % % Deuxi\`eme compteur \yyy + \ifnum\cmya>0 + \PGCD{\the\numy}{\the\denoy} + \ifnum\cmxa=0 + \ifnum\pgcd>1 + \Nomy\uppercase{&}=\SSimpli{\the\numy}{\the\denoy} + \else + \uppercase{&} + \fi + \else + \ifnum\pgcd>1 + \uppercase{&}\Nomy\uppercase{&}=\SSimpli{\the\numy}{\the\denoy} + \else + \uppercase{&&} + \fi + \fi + \fi + %Troisi\`eme compteur \zzz + \ifnum\cmza>0 + \PGCD{\the\numz}{\the\denoz} + \ifnum\cmxa=0 + \ifnum\cmya=0 + \ifnum\pgcd>1 + \Nomz\uppercase{&}=\SSimpli{\the\numz}{\the\denoz} + \else + \uppercase{&} + \fi + \else + \ifnum\pgcd>1 + \uppercase{&}\Nomz\uppercase{&}=\SSimpli{\the\numz}{\the\denoz} + \else + \uppercase{&&} + \fi + \fi + \else + \ifnum\pgcd>1 + \uppercase{&}\Nomz\uppercase{&}=\SSimpli{\the\numz}{\the\denoz} + \else + \uppercase{&&} + \fi + \fi + \fi + \\ + % 4eme ligne : Terminer les simplifications ? + %Premier compteur \xxx + \ifnum\cmxa>0 + \PGCD{\the\numx}{\the\denox} + \ifnum\pgcd>1 + \ifnum\pgcd<\the\denox + \Nomx\uppercase{&}=\SSimplifie{\the\numx}{\the\denox} + \else + \uppercase{&} + \fi + \else + \uppercase{&} + \fi + \fi + % % Deuxi\`eme compteur \yyy + \ifnum\cmya>0 + \PGCD{\the\numy}{\the\denoy} + \ifnum\cmxa=0 + \ifnum\pgcd>1 + \ifnum\pgcd<\the\denoy + \Nomy\uppercase{&}=\SSimplifie{\the\numy}{\the\denoy} + \else + \uppercase{&} + \fi + \else + \uppercase{&} + \fi + \else + \ifnum\pgcd>1 + \ifnum\pgcd<\the\denoy + \uppercase{&}\Nomy\uppercase{&}=\SSimplifie{\the\numy}{\the\denoy} + \else + \uppercase{&&} + \fi + \else + \uppercase{&&} + \fi + \fi + \fi + %Troisi\`eme compteur \zzz + \ifnum\cmza>0 + \PGCD{\the\numz}{\the\denoz} + \ifnum\cmxa=0 + \ifnum\cmya=0 + \ifnum\pgcd>1 + \ifnum\pgcd<\the\denoz + \Nomz\uppercase{&}=\SSimplifie{\the\numz}{\the\denoz} + \else + \uppercase{&} + \fi + \else + \uppercase{&} + \fi + \else + \ifnum\pgcd>1 + \ifnum\pgcd<\the\denoz + \uppercase{&}\Nomz\uppercase{&}=\SSimplifie{\the\numz}{\the\denoz} + \else + \uppercase{&&} + \fi + \else + \uppercase{&&} + \fi + \fi + \else + \ifnum\pgcd>1 + \ifnum\pgcd<\the\denoz + \uppercase{&}\Nomz\uppercase{&}=\SSimplifie{\the\numz}{\the\denoz} + \else + \uppercase{&&} + \fi + \else + \uppercase{&&} + \fi + \fi + \fi%\\ +\end{align*} +}{}% +} + +\newcommand\TThales[8][]{% + \setKV[ClesThales]{#1}% + \StrMid{#2}{1}{1}[\NomA]\StrMid{#2}{2}{2}[\NomB]\StrMid{#2}{3}{3}[\NomC]\StrMid{#2}{4}{4}[\NomM]\StrMid{#2}{5}{5}[\NomN]% + \ifboolKV[ClesThales]{FigureSeule}{% + \MPFigThales{\NomA}{\NomB}{\NomC}{\NomM}{\NomN}{\useKV[ClesThales]{Angle}}% + }{\ifboolKV[ClesThales]{FigurecroiseeSeule}{% + \MPFigThalesCroisee{\NomA}{\NomB}{\NomC}{\NomM}{\NomN}{\useKV[ClesThales]{Angle}}% + }{% + \ifboolKV[ClesThales]{Figure}{% + \StrMid{#2}{1}{1}[\NomA]\StrMid{#2}{2}{2}[\NomB]\StrMid{#2}{3}{3}[\NomC]\StrMid{#2}{4}{4}[\NomM]\StrMid{#2}{5}{5}[\NomN]% + \begin{multicols}{2}% + {\em La figure est donn\'ee \`a titre indicatif.}% + \[\MPFigThales{\NomA}{\NomB}{\NomC}{\NomM}{\NomN}{\useKV[ClesThales]{Angle}}\]% + \par\columnbreak\par% + \ifboolKV[ClesThales]{Entier}{\TThalesCalculsE[#1]{#2}{#3}{#4}{#5}{#6}{#7}{#8}}{\TThalesCalculsD[#1]{#2}{#3}{#4}{#5}{#6}{#7}{#8}}% + \end{multicols}% + }{\ifboolKV[ClesThales]{Figurecroisee}{% + \StrMid{#2}{1}{1}[\NomA]\StrMid{#2}{2}{2}[\NomB]\StrMid{#2}{3}{3}[\NomC]\StrMid{#2}{4}{4}[\NomM]\StrMid{#2}{5}{5}[\NomN]% + \begin{multicols}{2}% + {\em La figure est donn\'ee \`a titre indicatif.}% + \[\MPFigThalesCroisee{\NomA}{\NomB}{\NomC}{\NomM}{\NomN}{\useKV[ClesThales]{Angle}}\]% + \par\columnbreak\par% + \ifboolKV[ClesThales]{Entier}{\TThalesCalculsE[#1]{#2}{#3}{#4}{#5}{#6}{#7}{#8}}{\TThalesCalculsD[#1]{#2}{#3}{#4}{#5}{#6}{#7}{#8}}% + \end{multicols}% + }{\ifboolKV[ClesThales]{Entier}{\TThalesCalculsE[#1]{#2}{#3}{#4}{#5}{#6}{#7}{#8}}{\TThalesCalculsD[#1]{#2}{#3}{#4}{#5}{#6}{#7}{#8}}}% + }% + }% + }% +}% +%%%% + +\newcommand\ReciThales[6][]{% + \ifboolKV[ClesThales]{Droites}{% + Les droites $(#3#5)$ et $(#4#6)$ sont s\'ecantes en $#2$. + }{% + Dans le triangle $#2#3#4$, $#5$ est un point + \ifboolKV[ClesThales]{Segment}{du segment $[#2#3]$}{de la + droite $(#2#3)$}, $#6$ est un point + \ifboolKV[ClesThales]{Segment}{du segment $[#2#4]$}{de la droite + $(#2#4)$}. + } % + \ifboolKV[ClesThales]{Propor}{Le tableau $\begin{array}{c|c} + #2#5#6\\ + \hline + #2#3#4\\ + \end{array} + $ est-il un tableau de proportionnalit\'e ? + }{% + } +} + +\newcommand\ReciThalesCalculs[8][]{% + \StrMid{#2}{1}{1}[\NomA]% + \StrMid{#2}{2}{2}[\NomB]% + \StrMid{#2}{3}{3}[\NomC]% + \StrMid{#2}{4}{4}[\NomM]% + \StrMid{#2}{5}{5}[\NomN]% + \ifboolKV[ClesThales]{Produit}{% + \begin{align*} + \dfrac{\NomA\NomM}{\NomA\NomB}=\dfrac{\num{#3}}{\num{#4}}&&\dfrac{\NomA\NomN}{\NomA\NomC}=\dfrac{\num{#5}}{\num{#6}} + \end{align*} + Effectuons les produits en croix :\xdef\NumA{\fpeval{#3*#6}}\xdef\NumB{\fpeval{#4*#5}} + \begin{align*} + \num{#3}\times\num{#6}&=\num{\fpeval{#3*#6}}&&&\num{#4}\times\num{#5}&=\num{\fpeval{#4*#5}} + \end{align*} + \xintifboolexpr{\NumA == \NumB}{Comme les produits en croix sont + \'egaux, alors + $\dfrac{\NomA\NomM}{\NomA\NomB}=\dfrac{\NomA\NomN}{\NomA\NomC}$.\\[0.5em]% + }{% + Comme les produits en croix sont diff\'erents, alors + $\dfrac{\NomA\NomM}{\NomA\NomB}\not=\dfrac{\NomA\NomN}{\NomA\NomC}$.\\% + }% + }{% + \[\left. + \begin{array}{l} + \dfrac{\NomA\NomM}{\NomA\NomB}=\dfrac{\num{#3}}{\num{#4}}\ifx\bla#7\bla\ifboolKV[ClesThales]{Simplification}{\PGCD{#3}{#4}\xintifboolexpr{\pgcd==1}{%il faut regarder si on doit continuer avec le PPCM... + \PGCD{#5}{#6}\xintifboolexpr{\pgcd>1}{\xdef\DenomSimpaa{\fpeval{#6/\pgcd}}\PPCM{#4}{\DenomSimpaa}\xintifboolexpr{\ppcm==#4}{}{=\dfrac{#3\times\num{\fpeval{\ppcm/#4}}}{#4\times\num{\fpeval{\ppcm/#4}}}=\dfrac{\num{\fpeval{#3*\ppcm/#4}}}{\num{\fpeval{\ppcm}}}}}{}% + }{=\displaystyle\Simplification[All]{#3}{#4}\PGCD{#3}{#4}\xdef\NumSimp{\fpeval{#3/\pgcd}}\xdef\DenomSimp{\fpeval{#4/\pgcd}}\PGCD{#5}{#6}\xdef\NumSimpa{\fpeval{#5/\pgcd}}\xdef\DenomSimpa{\fpeval{#6/\pgcd}}\PPCM{\DenomSimp}{\DenomSimpa}\xintifboolexpr{\fpeval{\the\ppcm/\DenomSimp}==1}{}{=\dfrac{\num{\NumSimp}\times\num{\fpeval{\the\ppcm/\DenomSimp}}}{\num{\DenomSimp}\times\PPCM{\DenomSimp}{\DenomSimpa}\num{\fpeval{\the\ppcm/\DenomSimp}}}=\dfrac{\PPCM{\DenomSimp}{\DenomSimpa}\num{\fpeval{\NumSimp*\the\ppcm/\DenomSimp}}}{\PPCM{\DenomSimp}{\DenomSimpa}\num{\the\ppcm}}}}}{\PPCM{#4}{#6}\xintifboolexpr{\fpeval{\the\ppcm/#4}==1}{}{=\dfrac{\num{#3}\times\num{\fpeval{\the\ppcm/#4}}}{\num{#4}\times\PPCM{#4}{#6}\num{\fpeval{\the\ppcm/#4}}}=\dfrac{\PPCM{#4}{#6}\num{\fpeval{#3*\the\ppcm/#4}}}{\PPCM{#4}{#6}\num{\the\ppcm}}}}\xdef\NumA{\fpeval{#3*#6}}\else% + \xintifboolexpr{#7==1}{}{=\dfrac{\num{#3}\times\num{#7}}{\num{#4}\times\num{#7}}=\dfrac{\num{\fpeval{#3*#7}}}{\num{\fpeval{#4*#7}}}}\xdef\NumC{\fpeval{#4*#7}}\xdef\NumD{\fpeval{#6*#8}}\PPCM{\NumC}{\NumD}\xintifboolexpr{\the\ppcm==\fpeval{#4*#7}}{}{=\dfrac{\num{\fpeval{#3*#7}}\times\num{\fpeval{\the\ppcm/(#4*#7)}}}{\num{\fpeval{#4*#7}}\times\xdef\NumC{\fpeval{#4*#7}}\xdef\NumD{\fpeval{#6*#8}}\PPCM{\NumC}{\NumD}\num{\fpeval{\the\ppcm/(#4*#7)}}}=\dfrac{\xdef\NumC{\fpeval{#4*#7}}\xdef\NumD{\fpeval{#6*#8}}\PPCM{\NumC}{\NumD}\num{\fpeval{#3*\the\ppcm/#4}}}{\xdef\NumC{\fpeval{#4*#7}}\xdef\NumD{\fpeval{#6*#8}}\PPCM{\NumC}{\NumD}\num{\fpeval{\the\ppcm}}}}\xdef\NumA{\fpeval{#3*#7*#6*#8}} + \fi + \\ + \\ + \dfrac{\NomA\NomN}{\NomA\NomC}=\dfrac{\num{#5}}{\num{#6}}% + \ifx\bla#8\bla% + \ifboolKV[ClesThales]{Simplification}{\PGCD{#5}{#6}\xintifboolexpr{\pgcd==1}{%il faut regarder si on doit continuer avec le PPCM... + \PGCD{#3}{#4}\xintifboolexpr{\pgcd>1}{\xdef\DenomSimpaa{\fpeval{#4/\pgcd}}\PPCM{#6}{\DenomSimpaa}\xintifboolexpr{\ppcm==#6}{}{=\dfrac{#5\times\num{\fpeval{\ppcm/#6}}}{#6\times\num{\fpeval{\ppcm/#6}}}=\dfrac{\num{\fpeval{#5*\ppcm/#6}}}{\num{\fpeval{\ppcm}}}}}{}% + }{=\displaystyle\Simplification[All]{#5}{#6}\PGCD{#5}{#6}\xdef\NumSimp{\fpeval{#5/\pgcd}}\xdef\DenomSimp{\fpeval{#6/\pgcd}}\PGCD{#3}{#4}\xdef\NumSimpa{\fpeval{#3/\pgcd}}\xdef\DenomSimpa{\fpeval{#4/\pgcd}}\PPCM{\DenomSimp}{\DenomSimpa}\xintifboolexpr{\fpeval{\the\ppcm/\DenomSimp}==1}{}{=\dfrac{\num{\NumSimp}\times\num{\fpeval{\the\ppcm/\DenomSimp}}}{\num{\DenomSimp}\times\PPCM{\DenomSimp}{\DenomSimpa}\num{\fpeval{\the\ppcm/\DenomSimp}}}=\dfrac{\PPCM{\DenomSimp}{\DenomSimpa}\num{\fpeval{\NumSimp*\the\ppcm/\DenomSimp}}}{\PPCM{\DenomSimp}{\DenomSimpa}\num{\the\ppcm}}}}}{\PPCM{#4}{#6}\xintifboolexpr{\fpeval{\the\ppcm/#6}==1}{}{=\dfrac{\num{#5}\times\num{\fpeval{\the\ppcm/#6}}}{\num{#6}\times\PPCM{#4}{#6}\num{\fpeval{\the\ppcm/#6}}}=\dfrac{\PPCM{#4}{#6}\num{\fpeval{#5*\the\ppcm/#6}}}{\PPCM{#4}{#6}\num{\the\ppcm}}}}\xdef\NumB{\fpeval{#5*#4}}% + \else% + \xintifboolexpr{#8==1}{}{=\dfrac{\num{#5}\times\num{#8}}{\num{#6}\times\num{#8}}=\dfrac{\num{\fpeval{#5*#8}}}{\num{\fpeval{#6*#8}}}}\xdef\NumC{\fpeval{#4*#7}}\xdef\NumD{\fpeval{#6*#8}}\PPCM{\NumC}{\NumD}\xintifboolexpr{\the\ppcm==\fpeval{#6*#8}}{}{=\dfrac{\num{\fpeval{#5*#8}}\times\num{\fpeval{\the\ppcm/(#6*#8)}}}{\num{\fpeval{#6*#8}}\times\xdef\NumC{\fpeval{#4*#7}}\xdef\NumD{\fpeval{#6*#8}}\PPCM{\NumC}{\NumD}\num{\fpeval{\the\ppcm/(#6*#8)}}}=\dfrac{\xdef\NumC{\fpeval{#4*#7}}\xdef\NumD{\fpeval{#6*#8}}\PPCM{\NumC}{\NumD}\num{\fpeval{#5*\the\ppcm/#6}}}{\xdef\NumC{\fpeval{#4*#7}}\xdef\NumD{\fpeval{#6*#8}}\PPCM{\NumC}{\NumD}\num{\fpeval{\the\ppcm}}} + }\xdef\NumB{\fpeval{#5*#8*#4*#7}} + \fi\\ + \end{array} + \right\}\ifnum\NumA=\NumB \dfrac{\NomA\NomM}{\NomA\NomB}=\dfrac{\NomA\NomN}{\NomA\NomC}\else\dfrac{\NomA\NomM}{\NomA\NomB}\not=\dfrac{\NomA\NomN}{\NomA\NomC}\fi + \] + } + \ifboolKV[ClesThales]{Propor}{% + \ifnum\NumA=\NumB Donc le tableau $\begin{array}{c|c} + \NomA\NomM&\NomA\NomN\\ + \hline + \NomA\NomB&\NomA\NomC\\ + \end{array} + $ est bien un tableau de proportionnalit\'e.\\De plus, les points + $\NomA$, $\NomM$, $\NomB$ sont align\'es dans le m\^eme ordre que les + points $\NomA$, $\NomN$, $\NomC$. Donc les droites $(\NomM\NomN)$ + et $(\NomB\NomC)$ sont parall\`eles d'apr\`es la r\'eciproque du + th\'eor\`eme de Thal\`es.\else% + Donc les droites $(\NomM\NomN)$ et $(\NomB\NomC)$ ne sont pas parall\`eles.\fi + }{% + \xintifboolexpr{\NumA==\NumB}{% + De plus, les points $\NomA$, $\NomM$, $\NomB$ sont align\'es dans + le m\^eme ordre que les points $\NomA$, $\NomN$, $\NomC$. Donc les + droites $(\NomM\NomN)$ et $(\NomB\NomC)$ sont parall\`eles d'apr\`es + la r\'eciproque du th\'eor\`eme de Thal\`es.}{% + Donc les droites $(\NomM\NomN)$ et $(\NomB\NomC)$ ne sont pas + parall\`eles.} + } +} + +\newcommand\ReciproqueThales[8][]{% + % #1 Cl\'es + % #2 NomTriangle + Points ABCEF pour droite (BC)//(EF) + % #3 longueur AE + % #4 longueur AB + % #5 longueur AF + % #6 longueur AC + \StrMid{#2}{1}{1}[\NomA]\StrMid{#2}{2}{2}[\NomB]\StrMid{#2}{3}{3}[\NomC]\StrMid{#2}{4}{4}[\NomM]\StrMid{#2}{5}{5}[\NomN]% + \ifboolKV[ClesThales]{FigureSeule}{% +% \StrMid{#2}{1}{1}[\NomA]\StrMid{#2}{2}{2}[\NomB]\StrMid{#2}{3}{3}[\NomC]\StrMid{#2}{4}{4}[\NomM]\StrMid{#2}{5}{5}[\NomN]% + \MPFigReciThales{\NomA}{\NomB}{\NomC}{\NomM}{\NomN}{\useKV[ClesThales]{Angle}}% + }{\ifboolKV[ClesThales]{FigurecroiseeSeule}{% +% \StrMid{#2}{1}{1}[\NomA]\StrMid{#2}{2}{2}[\NomB]\StrMid{#2}{3}{3}[\NomC]\StrMid{#2}{4}{4}[\NomM]\StrMid{#2}{5}{5}[\NomN]% + \MPFigReciThalesCroisee{\NomA}{\NomB}{\NomC}{\NomM}{\NomN}{\useKV[ClesThales]{Angle}}% + }{% + \ifboolKV[ClesThales]{Figure}{% +% \StrMid{#2}{1}{1}[\NomA]\StrMid{#2}{2}{2}[\NomB]\StrMid{#2}{3}{3}[\NomC]\StrMid{#2}{4}{4}[\NomM]\StrMid{#2}{5}{5}[\NomN]% + \begin{multicols}{2} + {\em La figure est donn\'ee \`a titre indicatif.} + \[\MPFigReciThales{\NomA}{\NomB}{\NomC}{\NomM}{\NomN}{\useKV[ClesThales]{Angle}}\] + \par\columnbreak\par + \ReciThales[#1]{\StrMid{#2}{1}{1}}{\StrMid{#2}{2}{2}}{\StrMid{#2}{3}{3}}{\StrMid{#2}{4}{4}}{\StrMid{#2}{5}{5}}\par + \ReciThalesCalculs[#1]{#2}{#3}{#4}{#5}{#6}{#7}{#8} + \end{multicols} + }{\ifboolKV[ClesThales]{Figurecroisee}{% +% \StrMid{#2}{1}{1}[\NomA]\StrMid{#2}{2}{2}[\NomB]\StrMid{#2}{3}{3}[\NomC]\StrMid{#2}{4}{4}[\NomM]\StrMid{#2}{5}{5}[\NomN] + \begin{minipage}{0.4\linewidth}% + {\em La figure est donn\'ee \`a titre indicatif.}% + \[\MPFigReciThalesCroisee{\NomA}{\NomB}{\NomC}{\NomM}{\NomN}{\useKV[ClesThales]{Angle}}\]% + \end{minipage} + \hfill + \begin{minipage}{0.55\linewidth}% + \ReciThales[#1]{\StrMid{#2}{1}{1}}{\StrMid{#2}{2}{2}}{\StrMid{#2}{3}{3}}{\StrMid{#2}{4}{4}}{\StrMid{#2}{5}{5}}\par + \ReciThalesCalculs[#1]{#2}{#3}{#4}{#5}{#6}{#7}{#8}% + \end{minipage}% + }{\ReciThales[#1]{\StrMid{#2}{1}{1}}{\StrMid{#2}{2}{2}}{\StrMid{#2}{3}{3}}{\StrMid{#2}{4}{4}}{\StrMid{#2}{5}{5}}\par + \ReciThalesCalculs[#1]{#2}{#3}{#4}{#5}{#6}{#7}{#8}% + }% + }% + }% + }% +}% + +\newcommand\Thales[8][]{% + \useKVdefault[ClesThales]% + \setKV[ClesThales]{#1}% + %Définir les points pour une utilisation perso + \StrMid{#2}{1}{1}[\NomA]\StrMid{#2}{2}{2}[\NomB]\StrMid{#2}{3}{3}[\NomC]\StrMid{#2}{4}{4}[\NomM]\StrMid{#2}{5}{5}[\NomN]% + \xdef\NomPointA{\NomA}% + \xdef\NomPointB{\NomB}% + \xdef\NomPointC{\NomC}% + \xdef\NomTriangle{\NomA\NomB\NomC}% + \xdef\NomPointM{\NomM}% + \xdef\NomPointN{\NomN}% + % + \ifboolKV[ClesThales]{Reciproque}{% + \ReciproqueThales[#1]{#2}{#3}{#4}{#5}{#6}{#7}{#8}% + }{% + \ifboolKV[ClesThales]{FigureSeule}{% + \StrMid{#2}{1}{1}[\NomA]\StrMid{#2}{2}{2}[\NomB]\StrMid{#2}{3}{3}[\NomC]\StrMid{#2}{4}{4}[\NomM]\StrMid{#2}{5}{5}[\NomN]% + \MPFigThales{\NomA}{\NomB}{\NomC}{\NomM}{\NomN}{\useKV[ClesThales]{Angle}}% + }{% + \ifboolKV[ClesThales]{FigurecroiseeSeule}{% + \StrMid{#2}{1}{1}[\NomA]\StrMid{#2}{2}{2}[\NomB]\StrMid{#2}{3}{3}[\NomC]\StrMid{#2}{4}{4}[\NomM]\StrMid{#2}{5}{5}[\NomN]% + \MPFigThalesCroisee{\NomA}{\NomB}{\NomC}{\NomM}{\NomN}{\useKV[ClesThales]{Angle}}% + }{% + \ifboolKV[ClesThales]{Redaction}{% + \ifboolKV[ClesThales]{Figure}{% + \StrMid{#2}{1}{1}[\NomA]\StrMid{#2}{2}{2}[\NomB]\StrMid{#2}{3}{3}[\NomC]\StrMid{#2}{4}{4}[\NomM]\StrMid{#2}{5}{5}[\NomN]% + \begin{multicols}{2} + {\em La figure est donn\'ee \`a titre indicatif.}% + \[\MPFigThales{\NomA}{\NomB}{\NomC}{\NomM}{\NomN}{\useKV[ClesThales]{Angle}}\]% + \par\columnbreak\par% + \TTThales[#1]{\StrMid{#2}{1}{1}}{\StrMid{#2}{2}{2}}{\StrMid{#2}{3}{3}}{\StrMid{#2}{4}{4}}{\StrMid{#2}{5}{5}}% + \end{multicols}% + }{% + \ifboolKV[ClesThales]{Figurecroisee}{% + \StrMid{#2}{1}{1}[\NomA]\StrMid{#2}{2}{2}[\NomB]\StrMid{#2}{3}{3}[\NomC]\StrMid{#2}{4}{4}[\NomM]\StrMid{#2}{5}{5}[\NomN]% + \begin{multicols}{2} + {\em La figure est donn\'ee \`a titre indicatif.}% + \[\MPFigThalesCroisee{\NomA}{\NomB}{\NomC}{\NomM}{\NomN}{\useKV[ClesThales]{Angle}}\]% + \par\columnbreak\par% + \TTThales[#1]{\StrMid{#2}{1}{1}}{\StrMid{#2}{2}{2}}{\StrMid{#2}{3}{3}}{\StrMid{#2}{4}{4}}{\StrMid{#2}{5}{5}}% + \end{multicols} + }{% + \TTThales[#1]{\StrMid{#2}{1}{1}}{\StrMid{#2}{2}{2}}{\StrMid{#2}{3}{3}}{\StrMid{#2}{4}{4}}{\StrMid{#2}{5}{5}}% + } + } + }{% + \TThales[#1]{#2}{#3}{#4}{#5}{#6}{#7}{#8}% + }% + }% + }% + }% +}%
\ No newline at end of file |