%%% % Trigonom\'etrie %%% \def\MPFigTrigo#1#2#3#4#5#6#7#8{% \ifluatex % \mplibcodeinherit{enable} \mplibforcehmode \begin{mplibcode} defaultcolormodel := \useKV[ClesTrigo]{ModeleCouleur}; u:=\useKV[ClesTrigo]{Echelle}; pair A,B,C,O,I,D,E,F;% % 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*(3,0); C=(A--2[A,B rotatedabout(A,50)]) intersectionpoint (B--2[B,A rotatedabout(B,-90)]); % 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,#8); B:=B rotatedabout(O,#8); C:=C rotatedabout(O,#8); % On d\'efinit le centre du cercle inscrit (I-C) rotated ((angle(A-C)-angle(B-C))/2) shifted C=whatever[A,C]; (I-B) rotated ((angle(C-B)-angle(A-B))/2) shifted B=whatever[B,C]; % on dessine \`a main lev\'ee :) path triangle; triangle=A{dir(angle(B-A)+5)}..B{dir(angle(B-A)+5)}--B{dir(angle(C-B)+5)}..C{dir(angle(C-B)+5)}--C{dir(angle(A-C)+5)}..A{dir(angle(A-C)+5)}--cycle; % on d\'efinit l'angle droit D-B=7*unitvector(C-B); F-B=7*unitvector(A-B); E-D=F-B; draw D{dir(angle(E-D)+5)}..E{dir(angle(E-D)+5)}--E{dir(angle(F-E)+5)}..F{dir(angle(F-E)+5)}; % L'angle :) path cc; cc=fullcircle scaled 1u; % on marque les angles picture MAngle; MAngle=image( draw (cc shifted A); ); draw MAngle; clip currentpicture to triangle; draw A{dir(angle(B-A)+5)}..B{dir(angle(B-A)+5)}; draw B{dir(angle(C-B)+5)}..C{dir(angle(C-B)+5)}; draw C{dir(angle(A-C)+5)}..A{dir(angle(A-C)+5)}; % on labelise picture z; 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 \ang{#7} etex,A+0.95u*unitvector(I-A)); decalage:=3mm; if #6<0: else: if angle(1/2[A,C]-B)>0: if #6=0: label(btex ? etex,1.1[B,1/2[A,C]]); else: label(btex \num{#6} etex,1.2[B,1/2[A,C]]); fi; else: if #6=0: label(btex ? etex,1.1[B,1/2[A,C]]); else: label(btex \num{#6} etex,1.2[B,1/2[A,C]]); fi; fi; fi; if #4<0: else: if angle(1/2[B,C]-A)>0: if #4=0: label(btex ? etex,1/2[B,C]-decalage*(unitvector(A-B))); else: label(btex \num{#4} etex,1/2[B,C]-decalage*(unitvector(A-B))); fi; else: if #4=0: label(btex ? etex,1/2[B,C]-decalage*(unitvector(A-B))); else: label(btex \num{#4} etex,1/2[B,C]-decalage*(unitvector(A-B))); fi; fi; fi; if #5<0: else: if angle(1/2[A,B]-C)>0: if #5=0: label(btex ? etex,1/2[A,B]-decalage*(unitvector(C-B))); else: label(btex \num{#5} etex,1/2[A,B]-decalage*(unitvector(C-B))); fi; else: if #5=0: label(btex ? etex,1/2[A,B]-decalage*(unitvector(C-B))); else: label(btex \num{#5} etex,1/2[A,B]-decalage*(unitvector(C-B))); fi; fi; fi; \end{mplibcode} % \mplibcodeinherit{disable} \else \begin{mpost}[mpsettings={u:=\useKV[ClesTrigo]{Echelle};}] pair A,B,C,O,I,D,E,F;% % 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*(3,0); C=(A--2[A,B rotatedabout(A,50)]) intersectionpoint (B--2[B,A rotatedabout(B,-90)]); % 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,#8); B:=B rotatedabout(O,#8); C:=C rotatedabout(O,#8); % On d\'efinit le centre du cercle inscrit (I-C) rotated ((angle(A-C)-angle(B-C))/2) shifted C=whatever[A,C]; (I-B) rotated ((angle(C-B)-angle(A-B))/2) shifted B=whatever[B,C]; % on dessine \`a main lev\'ee :) path triangle; triangle=A{dir(angle(B-A)+5)}..B{dir(angle(B-A)+5)}--B{dir(angle(C-B)+5)}..C{dir(angle(C-B)+5)}--C{dir(angle(A-C)+5)}..A{dir(angle(A-C)+5)}--cycle; % on d\'efinit l'angle droit D-B=7*unitvector(C-B); F-B=7*unitvector(A-B); E-D=F-B; draw D{dir(angle(E-D)+5)}..E{dir(angle(E-D)+5)}--E{dir(angle(F-E)+5)}..F{dir(angle(F-E)+5)}; % L'angle :) path cc; cc=fullcircle scaled 1u; % on marque les angles picture MAngle; MAngle=image( draw (cc shifted A); % draw (cc shifted B); % draw (cc shifted C); ); draw MAngle; clip currentpicture to triangle; draw A{dir(angle(B-A)+5)}..B{dir(angle(B-A)+5)}; draw B{dir(angle(C-B)+5)}..C{dir(angle(C-B)+5)}; draw C{dir(angle(A-C)+5)}..A{dir(angle(A-C)+5)}; % on labelise picture z; 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 \ang{#7} etex,A+0.95u*unitvector(I-A)); decalage:=3mm; if #6<0: else: if angle(1/2[A,C]-B)>0: if #6=0: label(btex ? etex rotated angle(C-A),1.1[B,1/2[A,C]]); else: label(btex \num{#6} etex rotated angle(C-A),1.2[B,1/2[A,C]]); fi; else: if #6=0: label(btex ? etex rotated angle(A-C),1.1[B,1/2[A,C]]); else: label(btex \num{#6} etex rotated angle(A-C),1.2[B,1/2[A,C]]); fi; fi; fi; if #4<0: else: if angle(1/2[B,C]-A)>0: if #4=0: label(btex ? etex rotated(angle(B-C)),1/2[B,C]-decalage*(unitvector(A-B))); else: label(btex \num{#4} etex rotated(angle(B-C)),1/2[B,C]-decalage*(unitvector(A-B))); fi; else: if #4=0: label(btex ? etex rotated(angle(C-B)),1/2[B,C]-decalage*(unitvector(A-B))); else: label(btex \num{#4} etex rotated(angle(C-B)),1/2[B,C]-decalage*(unitvector(A-B))); fi; fi; fi; if #5<0: else: if angle(1/2[A,B]-C)>0: if #5=0: label(btex ? etex rotated angle(A-B),1/2[A,B]-decalage*(unitvector(C-B))); else: label(btex \num{#5} etex rotated angle(A-B),1/2[A,B]-decalage*(unitvector(C-B))); fi; else: if #5=0: label(btex ? etex rotated angle(B-A),1/2[A,B]-decalage*(unitvector(C-B))); else: label(btex \num{#5} etex rotated angle(B-A),1/2[A,B]-decalage*(unitvector(C-B))); fi; fi; fi; \end{mpost} \fi } \def\MPFigTrigoAngle#1#2#3#4#5#6#7{% % #1 A % #2 B % #3 C % #4 opp % #5 adj % #6 hyp % #7 angle de rotation \ifluatex % \mplibcodeinherit{enable} \mplibforcehmode \begin{mplibcode} defaultcolormodel := \useKV[ClesTrigo]{ModeleCouleur}; u:=\useKV[ClesTrigo]{Echelle}; pair A,B,C,O,I,D,E,F;% % 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*(3,0); C=(A--2[A,B rotatedabout(A,50)]) intersectionpoint (B--2[B,A rotatedabout(B,-90)]); % 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,#7); B:=B rotatedabout(O,#7); C:=C rotatedabout(O,#7); % On d\'efinit le centre du cercle inscrit (I-C) rotated ((angle(A-C)-angle(B-C))/2) shifted C=whatever[A,C]; (I-B) rotated ((angle(C-B)-angle(A-B))/2) shifted B=whatever[B,C]; %on dessine \`a main lev\'ee :) path triangle; triangle=A{dir(angle(B-A)+5)}..B{dir(angle(B-A)+5)}--B{dir(angle(C-B)+5)}..C{dir(angle(C-B)+5)}--C{dir(angle(A-C)+5)}..A{dir(angle(A-C)+5)}--cycle; %on d\'efinit l'angle droit D-B=7*unitvector(C-B); F-B=7*unitvector(A-B); E-D=F-B; draw D{dir(angle(E-D)+5)}..E{dir(angle(E-D)+5)}--E{dir(angle(F-E)+5)}..F{dir(angle(F-E)+5)}; %L'angle :) path cc; cc=fullcircle scaled 1u; % on marque les angles picture MAngle; MAngle=image( draw (cc shifted A); ); draw MAngle; clip currentpicture to triangle; draw A{dir(angle(B-A)+5)}..B{dir(angle(B-A)+5)}; draw B{dir(angle(C-B)+5)}..C{dir(angle(C-B)+5)}; draw C{dir(angle(A-C)+5)}..A{dir(angle(A-C)+5)}; % 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 ? etex,A+0.95u*unitvector(I-A)); decalage:=3mm; if #6>0: if angle(1/2[A,C]-B)>0: label(btex \num{#6} etex,1.2[B,1/2[A,C]]); else: label(btex \num{#6} etex,1.2[B,1/2[A,C]]); fi; fi; if #4>0: if angle(1/2[B,C]-A)>0: label(btex \num{#4} etex,1/2[B,C]-decalage*(unitvector(A-B))); else: label(btex \num{#4} etex,1/2[B,C]-decalage*(unitvector(A-B))); fi; fi; if #5>0: if angle(1/2[A,B]-C)>0: label(btex \num{#5} etex,1/2[A,B]-decalage*(unitvector(C-B))); else: label(btex \num{#5} etex,1/2[A,B]-decalage*(unitvector(C-B))); fi; fi; \end{mplibcode} %\mplibcodeinherit{disable} \else \begin{mpost}[mpsettings={u:=\useKV[ClesTrigo]{Echelle};}] u:=1cm; pair A,B,C,O,I,D,E,F;% %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*(3,0); C=(A--2[A,B rotatedabout(A,50)]) intersectionpoint (B--2[B,A rotatedabout(B,-90)]); % 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,#7); B:=B rotatedabout(O,#7); C:=C rotatedabout(O,#7); % On d\'efinit le centre du cercle inscrit (I-C) rotated ((angle(A-C)-angle(B-C))/2) shifted C=whatever[A,C]; (I-B) rotated ((angle(C-B)-angle(A-B))/2) shifted B=whatever[B,C]; %on dessine \`a main lev\'ee :) path triangle; triangle=A{dir(angle(B-A)+5)}..B{dir(angle(B-A)+5)}--B{dir(angle(C-B)+5)}..C{dir(angle(C-B)+5)}--C{dir(angle(A-C)+5)}..A{dir(angle(A-C)+5)}--cycle; %on d\'efinit l'angle droit D-B=7*unitvector(C-B); F-B=7*unitvector(A-B); E-D=F-B; draw D{dir(angle(E-D)+5)}..E{dir(angle(E-D)+5)}--E{dir(angle(F-E)+5)}..F{dir(angle(F-E)+5)}; %L'angle :) path cc; cc=fullcircle scaled 1u; % on marque les angles picture MAngle; MAngle=image( draw (cc shifted A); ); draw MAngle; clip currentpicture to triangle; draw A{dir(angle(B-A)+5)}..B{dir(angle(B-A)+5)}; draw B{dir(angle(C-B)+5)}..C{dir(angle(C-B)+5)}; draw C{dir(angle(A-C)+5)}..A{dir(angle(A-C)+5)}; %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 ? etex,A+0.95u*unitvector(I-A)); decalage:=3mm; if #6>0: if angle(1/2[A,C]-B)>0: label(btex \num{#6} etex,1.2[B,1/2[A,C]]); else: label(btex \num{#6} etex,1.2[B,1/2[A,C]]); fi; fi; if #4>0: if angle(1/2[B,C]-A)>0: label(btex \num{#4} etex,1/2[B,C]-decalage*(unitvector(A-B))); else: label(btex \num{#4} etex,1/2[B,C]-decalage*(unitvector(A-B))); fi; fi; if #5>0: if angle(1/2[A,B]-C)>0: label(btex \num{#5} etex,1/2[A,B]-decalage*(unitvector(C-B))); else: label(btex \num{#5} etex,1/2[A,B]-decalage*(unitvector(C-B))); fi; fi; \end{mpost} \fi } \setKVdefault[ClesTrigo]{Angle=0,Propor=false,Figure=false,FigureSeule=false,ValeurExacte=false,Precision=2,Unite=cm,Sinus=false,Cosinus=false,Tangente=false,Perso=false,Echelle=1cm,ModeleCouleur=5}% \newcommand\RedactionTrigo{}% \newcommand\TrigoCalculs[5][]{% \setKV[ClesTrigo]{#1}% % #1 Cl\'es % #2 Nom du triangle ABC, rectangle en B, angle connu ou pas : BAC % #3 Longueur #4 Longueur #5 angle % On d\'efinit les points \DeclareSIUnit{\PfCTrigoUnit}{\useKV[ClesTrigo]{Unite}}% \StrMid{#2}{1}{1}[\NomA]% \StrMid{#2}{2}{2}[\NomB]% \StrMid{#2}{3}{3}[\NomC]% \xdef\NomTriangle{\NomA\NomB\NomC}% \xdef\NomAngleDroit{\NomB}% \xdef\NomSommetA{\NomA}% \xdef\NomSommetB{\NomB}% \xdef\NomSommetC{\NomC}% \ifboolKV[ClesTrigo]{Perso}{% \RedactionTrigo% }{% Dans le triangle $\NomA\NomB\NomC$, rectangle en $\NomB$, on a :% }% \ifboolKV[ClesTrigo]{Cosinus}{% \ifx\bla#3\bla%on calcule le c\^ot\'e adjacent \xdef\ResultatTrigo{\fpeval{round(#4*cosd(#5),\useKV[ClesTrigo]{Precision})}}% \ifboolKV[ClesTrigo]{Propor}{% \begin{align*} \NomA\NomC\times\cos(\widehat{\NomB\NomA\NomC})&=\NomA\NomB\\ \num{#4}\times\cos(\ang{#5})&=\NomA\NomB%\\ \ifboolKV[ClesTrigo]{ValeurExacte}{}{\\ \SI{\fpeval{round(#4*cosd(#5),\useKV[ClesTrigo]{Precision})}}{\PfCTrigoUnit}&\IfInteger{\fpeval{round(#4*cosd(#5),9)}}{=}{\approx}\NomA\NomB} \end{align*}% }{% \begin{align*} \cos(\widehat{\NomB\NomA\NomC})&=\frac{\NomA\NomB}{\NomA\NomC}\\ \cos(\ang{#5})&=\frac{\NomA\NomB}{\num{#4}}\\ \num{#4}\times\cos(\ang{#5})&=\NomA\NomB%\\ \ifboolKV[ClesTrigo]{ValeurExacte}{}{\\% \SI{\fpeval{round(#4*cosd(#5),\useKV[ClesTrigo]{Precision})}}{\PfCTrigoUnit}&\IfInteger{\fpeval{round(#4*cosd(#5),9)}}{=}{\approx}\NomA\NomB}% \end{align*} }% \else% \ifx\bla#4\bla%on calcule l'hypoth\'enuse \xdef\ResultatTrigo{\fpeval{round(#3/cosd(#5),\useKV[ClesTrigo]{Precision})}}% \ifboolKV[ClesTrigo]{Propor}{% \begin{align*} \NomA\NomC\times\cos(\widehat{\NomB\NomA\NomC})&=\NomA\NomB\\ \NomA\NomC\times\cos(\ang{#5})&=\num{#3}\\ \NomA\NomC&=\frac{\num{#3}}{\cos(\ang{#5})}%\\ \ifboolKV[ClesTrigo]{ValeurExacte}{}{\\% \NomA\NomC&\IfInteger{\fpeval{round(#3/cosd(#5),9)}}{=}{\approx}\SI{\fpeval{round(#3/cosd(#5),\useKV[ClesTrigo]{Precision})}}{\PfCTrigoUnit}}% \end{align*} }{% \begin{align*} \cos(\widehat{\NomB\NomA\NomC})&=\frac{\NomA\NomB}{\NomA\NomC}\\ \cos(\ang{#5})&=\frac{\num{#3}}{\NomA\NomC}\\ \NomA\NomC&=\frac{\num{#3}}{\cos(\ang{#5})}%\\ \ifboolKV[ClesTrigo]{ValeurExacte}{}{\\% \NomA\NomC&\IfInteger{\fpeval{round(#3/cosd(#5),9)}}{=}{\approx}\SI{\fpeval{round(#3/cosd(#5),\useKV[ClesTrigo]{Precision})}}{\PfCTrigoUnit}}% \end{align*}% }% \else%on calcule l'angle \xdef\ResultatTrigo{\fpeval{round(acosd(#3/#4),\useKV[ClesTrigo]{Precision})}}% \setKV[ClesTrigo]{Precision=0}% \setKV[ClesTrigo]{#1}% \ifboolKV[ClesTrigo]{Propor}{% \begin{align*} \NomA\NomC\times\cos(\widehat{\NomB\NomA\NomC})&=\NomA\NomB\\ \num{#4}\times\cos(\widehat{\NomB\NomA\NomC})&=\num{#3}\\ \cos(\widehat{\NomB\NomA\NomC})&=\frac{\num{#3}}{\num{#4}}\\ \widehat{\NomB\NomA\NomC}&\IfInteger{\fpeval{round(acosd(#3/#4),9)}}{=}{\approx}\ang{\fpeval{round(acosd(#3/#4),\useKV[ClesTrigo]{Precision})}}% \end{align*}% }{% \begin{align*} \cos(\widehat{\NomB\NomA\NomC})&=\frac{\NomA\NomB}{\NomA\NomC}\\ \cos(\widehat{\NomB\NomA\NomC})&=\frac{\num{#3}}{\num{#4}}\\ \widehat{\NomB\NomA\NomC}&\IfInteger{\fpeval{round(acosd(#3/#4),9)}}{=}{\approx}\ang{\fpeval{round(acosd(#3/#4),\useKV[ClesTrigo]{Precision})}}% \end{align*}% }% \fi% \fi% }{}% \ifboolKV[ClesTrigo]{Sinus}{% \ifx\bla#3\bla%on calcule le c\^ot\'e oppos\'e \xdef\ResultatTrigo{\fpeval{round(#4*sind(#5),\useKV[ClesTrigo]{Precision})}}% \ifboolKV[ClesTrigo]{Propor}{% \begin{align*} \NomA\NomC\times\sin(\widehat{\NomB\NomA\NomC})&=\NomB\NomC\\ \num{#4}\times\sin(\ang{#5})&=\NomB\NomC%\\ \ifboolKV[ClesTrigo]{ValeurExacte}{}{\\% \SI{\fpeval{round(#4*sind(#5),\useKV[ClesTrigo]{Precision})}}{\PfCTrigoUnit}&\IfInteger{\fpeval{round(#4*sind(#5),9)}}{=}{\approx}\NomB\NomC}% \end{align*}% }{% \begin{align*} \sin(\widehat{\NomB\NomA\NomC})&=\frac{\NomB\NomC}{\NomA\NomC}\\ \sin(\ang{#5})&=\frac{\NomB\NomC}{\num{#4}}\\ \num{#4}\times\sin(\ang{#5})&=\NomB\NomC%\\ \ifboolKV[ClesTrigo]{ValeurExacte}{}{\\% \SI{\fpeval{round(#4*sind(#5),\useKV[ClesTrigo]{Precision})}}{\PfCTrigoUnit}&\IfInteger{\fpeval{round(#4*sind(#5),9)}}{=}{\approx}\NomB\NomC}% \end{align*}% }% \else \ifx\bla#4\bla%on calcule l'hypoth\'enuse \xdef\ResultatTrigo{\fpeval{round(#3/sind(#5),\useKV[ClesTrigo]{Precision})}}% \ifboolKV[ClesTrigo]{Propor}{% \begin{align*} \NomA\NomC\times\sin(\widehat{\NomB\NomA\NomC})&=\NomB\NomC\\ \NomA\NomC\times\sin(\ang{#5})&=\num{#3}\\ \NomA\NomC&=\frac{\num{#3}}{\sin(\ang{#5})}%\\ \ifboolKV[ClesTrigo]{ValeurExacte}{}{\\% \NomA\NomC&\IfInteger{\fpeval{round(#3/sind(#5),9)}}{=}{\approx}\SI{\fpeval{round(#3/sind(#5),\useKV[ClesTrigo]{Precision})}}{\PfCTrigoUnit}}% \end{align*}% }{% \begin{align*} \sin(\widehat{\NomB\NomA\NomC})&=\frac{\NomB\NomC}{\NomA\NomC}\\ \sin(\ang{#5})&=\frac{\num{#3}}{\NomA\NomC}\\ \NomA\NomC&=\frac{\num{#3}}{\sin(\ang{#5})}%\\ \ifboolKV[ClesTrigo]{ValeurExacte}{}{\\% \NomA\NomC&\IfInteger{\fpeval{round(#3/sind(#5),9)}}{=}{\approx}\SI{\fpeval{round(#3/sind(#5),\useKV[ClesTrigo]{Precision})}}{\PfCTrigoUnit}}% \end{align*}% }% \else%on calcule l'angle \xdef\ResultatTrigo{\fpeval{round(asind(#3/#4),\useKV[ClesTrigo]{Precision})}}% \setKV[ClesTrigo]{Precision=0}% \setKV[ClesTrigo]{#1}% \ifboolKV[ClesTrigo]{Propor}{% \begin{align*} \NomA\NomC\times\sin(\widehat{\NomB\NomA\NomC})&=\NomB\NomC\\ \num{#4}\times\sin(\widehat{\NomB\NomA\NomC})&=\num{#3}\\ \sin(\widehat{\NomB\NomA\NomC})&=\frac{\num{#3}}{\num{#4}}\\ \widehat{\NomB\NomA\NomC}&\IfInteger{\fpeval{round(asind(#3/#4),9)}}{=}{\approx}\ang{\fpeval{round(asind(#3/#4),\useKV[ClesTrigo]{Precision})}}% \end{align*}% }{% \begin{align*} \sin(\widehat{\NomB\NomA\NomC})&=\frac{\NomB\NomC}{\NomA\NomC}\\ \sin(\widehat{\NomB\NomA\NomC})&=\frac{\num{#3}}{\num{#4}}\\ \widehat{\NomB\NomA\NomC}&\IfInteger{\fpeval{round(asind(#3/#4),9)}}{=}{\approx}\ang{\fpeval{round(asind(#3/#4),\useKV[ClesTrigo]{Precision})}}% \end{align*}% }% \fi% \fi% }{}% \ifboolKV[ClesTrigo]{Tangente}{% \ifx\bla#3\bla%on calcule le c\^ot\'e oppos\'e \xdef\ResultatTrigo{\fpeval{round(#4*tand(#5),\useKV[ClesTrigo]{Precision})}}% \ifboolKV[ClesTrigo]{Propor}{% \begin{align*} \NomA\NomB\times\tan(\widehat{\NomB\NomA\NomC})&=\NomB\NomC\\% \num{#4}\times\tan(\ang{#5})&=\NomB\NomC%\\% \ifboolKV[ClesTrigo]{ValeurExacte}{}{\\% \SI{\fpeval{round(#4*tand(#5),\useKV[ClesTrigo]{Precision})}}{\PfCTrigoUnit}&\IfInteger{\fpeval{round(#4*tand(#5),9)}}{=}{\approx}\NomB\NomC}% \end{align*}% }{% \begin{align*} \tan(\widehat{\NomB\NomA\NomC})&=\frac{\NomB\NomC}{\NomA\NomB}\\ \tan(\ang{#5})&=\frac{\NomB\NomC}{\num{#4}}\\ \num{#4}\times\tan(\ang{#5})&=\NomB\NomC%\\ \ifboolKV[ClesTrigo]{ValeurExacte}{}{\\% \SI{\fpeval{round(#4*tand(#5),\useKV[ClesTrigo]{Precision})}}{\PfCTrigoUnit}&\IfInteger{\fpeval{round(#4*tand(#5),9)}}{=}{\approx}\NomB\NomC}% \end{align*}% }% \else \ifx\bla#4\bla%on calcule l'adjacent \xdef\ResultatTrigo{\fpeval{round(#3/tand(#5),\useKV[ClesTrigo]{Precision})}}% \ifboolKV[ClesTrigo]{Propor}{% \begin{align*} \NomA\NomB\times\tan(\widehat{\NomB\NomA\NomC})&=\NomB\NomC\\ \NomA\NomB\times\tan(\ang{#5})&=\num{#3}\\ \NomA\NomB&=\frac{\num{#3}}{\tan(\ang{#5})}%\\ \ifboolKV[ClesTrigo]{ValeurExacte}{}{\\% \NomA\NomB&\IfInteger{\fpeval{round(#3/tand(#5),9)}}{=}{\approx}\SI{\fpeval{round(#3/tand(#5),\useKV[ClesTrigo]{Precision})}}{\PfCTrigoUnit}}% \end{align*}% }{% \begin{align*} \tan(\widehat{\NomB\NomA\NomC})&=\frac{\NomB\NomC}{\NomA\NomB}\\ \tan(\ang{#5})&=\frac{\num{#3}}{\NomA\NomB}\\ \NomA\NomB&=\frac{\num{#3}}{\tan(\ang{#5})}%\\ \ifboolKV[ClesTrigo]{ValeurExacte}{}{\\% \NomA\NomB&\IfInteger{\fpeval{round(#3/tand(#5),9)}}{=}{\approx}\SI{\fpeval{round(#3/tand(#5),\useKV[ClesTrigo]{Precision})}}{\PfCTrigoUnit}}% \end{align*}% }% \else%on calcule l'angle \setKV[ClesTrigo]{Precision=0}% \setKV[ClesTrigo]{#1}% \xdef\ResultatTrigo{\fpeval{round(atand(#3/#4),\useKV[ClesTrigo]{Precision})}}% \ifboolKV[ClesTrigo]{Propor}{% \begin{align*} \NomA\NomB\times\tan(\widehat{\NomB\NomA\NomC})&=\NomB\NomC\\ \num{#4}\times\tan(\widehat{\NomB\NomA\NomC})&=\num{#3}\\ \tan(\widehat{\NomB\NomA\NomC})&=\frac{\num{#3}}{\num{#4}}\\ \widehat{\NomB\NomA\NomC}&\IfInteger{\fpeval{round(atand(#3/#4),9)}}{=}{\approx}\ang{\fpeval{round(atand(#3/#4),\useKV[ClesTrigo]{Precision})}}% \end{align*}% }{% \begin{align*} \tan(\widehat{\NomB\NomA\NomC})&=\frac{\NomB\NomC}{\NomA\NomB}\\ \tan(\widehat{\NomB\NomA\NomC})&=\frac{\num{#3}}{\num{#4}}\\ \widehat{\NomB\NomA\NomC}&\IfInteger{\fpeval{round(atand(#3/#4),9)}}{=}{\approx}\ang{\fpeval{round(atand(#3/#4),\useKV[ClesTrigo]{Precision})}}% \end{align*}% }% \fi% \fi% }{}% }% \newcommand\Trigo[5][]{% \useKVdefault[ClesTrigo]% \setKV[ClesTrigo]{#1}% % #1 Cl\'es % #2 Nom du triangle ABC, rectangle en B, angle connu ou pas : BAC % #3 Longueur #4 Longueur #5 angle % On d\'efinit les points \StrMid{#2}{1}{1}[\NomA]% \StrMid{#2}{2}{2}[\NomB]% \StrMid{#2}{3}{3}[\NomC]% % On r\'edige \ifboolKV[ClesTrigo]{FigureSeule}{% \ifx\bla#5\bla% \ifboolKV[ClesTrigo]{Cosinus}{% \MPFigTrigoAngle{\NomA}{\NomB}{\NomC}{-1}{#3}{#4}{\useKV[ClesTrigo]{Angle}} }{}% \ifboolKV[ClesTrigo]{Sinus}{% \MPFigTrigoAngle{\NomA}{\NomB}{\NomC}{#3}{-1}{#4}{\useKV[ClesTrigo]{Angle}} }{}% \ifboolKV[ClesTrigo]{Tangente}{% \MPFigTrigoAngle{\NomA}{\NomB}{\NomC}{#3}{#4}{-1}{\useKV[ClesTrigo]{Angle}} }{}% \else%}{%figure pour calculer une longueur \ifboolKV[ClesTrigo]{Cosinus}{% \ifx\bla#3\bla%adjacent inconnu \MPFigTrigo{\NomA}{\NomB}{\NomC}{-1}{0}{#4}{#5}{\useKV[ClesTrigo]{Angle}} \else \MPFigTrigo{\NomA}{\NomB}{\NomC}{-1}{#3}{0}{#5}{\useKV[ClesTrigo]{Angle}} \fi }{}% \ifboolKV[ClesTrigo]{Sinus}{% \ifx\bla#3\bla%adjacent inconnu \MPFigTrigo{\NomA}{\NomB}{\NomC}{0}{-1}{#4}{#5}{\useKV[ClesTrigo]{Angle}} \else \MPFigTrigo{\NomA}{\NomB}{\NomC}{#3}{-1}{0}{#5}{\useKV[ClesTrigo]{Angle}} \fi }{}% \ifboolKV[ClesTrigo]{Tangente}{% \ifx\bla#3\bla%adjacent inconnu \MPFigTrigo{\NomA}{\NomB}{\NomC}{0}{#4}{-1}{#5}{\useKV[ClesTrigo]{Angle}} \else% \MPFigTrigo{\NomA}{\NomB}{\NomC}{#3}{0}{-1}{#5}{\useKV[ClesTrigo]{Angle}} \fi% }{}% \fi% }{% \ifboolKV[ClesTrigo]{Figure}{% \begin{multicols}{2}% {\em La figure est donn\'ee \`a titre indicatif.}% \ifx\bla#5\bla% \ifboolKV[ClesTrigo]{Cosinus}{% \begin{center} \MPFigTrigoAngle{\NomA}{\NomB}{\NomC}{-1}{#3}{#4}{\useKV[ClesTrigo]{Angle}} \end{center} }{}% \ifboolKV[ClesTrigo]{Sinus}{% \begin{center} \MPFigTrigoAngle{\NomA}{\NomB}{\NomC}{#3}{-1}{#4}{\useKV[ClesTrigo]{Angle}} \end{center} }{}% \ifboolKV[ClesTrigo]{Tangente}{% \begin{center} \MPFigTrigoAngle{\NomA}{\NomB}{\NomC}{#3}{#4}{-1}{\useKV[ClesTrigo]{Angle}} \end{center} }{}% \else%}{%figure pour calculer une longueur \ifboolKV[ClesTrigo]{Cosinus}{% \ifx\bla#3\bla%adjacent inconnu \begin{center} \MPFigTrigo{\NomA}{\NomB}{\NomC}{-1}{0}{#4}{#5}{\useKV[ClesTrigo]{Angle}} \end{center} \else \begin{center} \MPFigTrigo{\NomA}{\NomB}{\NomC}{-1}{#3}{0}{#5}{\useKV[ClesTrigo]{Angle}} \end{center} \fi }{}% \ifboolKV[ClesTrigo]{Sinus}{% \ifx\bla#3\bla%adjacent inconnu \begin{center} \MPFigTrigo{\NomA}{\NomB}{\NomC}{0}{-1}{#4}{#5}{\useKV[ClesTrigo]{Angle}} \end{center} \else \begin{center} \MPFigTrigo{\NomA}{\NomB}{\NomC}{#3}{-1}{0}{#5}{\useKV[ClesTrigo]{Angle}} \end{center} \fi }{}% \ifboolKV[ClesTrigo]{Tangente}{% \ifx\bla#3\bla%adjacent inconnu \begin{center} \MPFigTrigo{\NomA}{\NomB}{\NomC}{0}{#4}{-1}{#5}{\useKV[ClesTrigo]{Angle}} \end{center} \else% \begin{center} \MPFigTrigo{\NomA}{\NomB}{\NomC}{#3}{0}{-1}{#5}{\useKV[ClesTrigo]{Angle}} \end{center} \fi% }{}% \fi% \par\columnbreak\par \TrigoCalculs[#1]{#2}{#3}{#4}{#5}% \end{multicols} }{% \TrigoCalculs[#1]{#2}{#3}{#4}{#5}% }% }% }%