summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/profcollege/metapost/PfC-Geometrie.mp
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/profcollege/metapost/PfC-Geometrie.mp')
-rw-r--r--macros/latex/contrib/profcollege/metapost/PfC-Geometrie.mp25
1 files changed, 18 insertions, 7 deletions
diff --git a/macros/latex/contrib/profcollege/metapost/PfC-Geometrie.mp b/macros/latex/contrib/profcollege/metapost/PfC-Geometrie.mp
index 1408cbbce1..222df57419 100644
--- a/macros/latex/contrib/profcollege/metapost/PfC-Geometrie.mp
+++ b/macros/latex/contrib/profcollege/metapost/PfC-Geometrie.mp
@@ -1,8 +1,6 @@
-%Author : Christophe Poulain
-%Licence : Released under the LaTeX Project Public License v1.3c
-% or later, see http://www.latex-project.org/lppl.txtf
%===============================================
%% PfC-Geometrie
+%% christophe.poulain@melusine.eu.org
%%===============================================
%------------------------------------------------
% Appel fichier
@@ -168,10 +166,23 @@ vardef cercles(text t)=
_T[n]:=p_;
fi;
endfor;
- path Cer;
- if n=1 : Cer=fullcircle scaled (2*rayon) shifted _t[1];
- elseif n=2 : Cer=fullcircle scaled (2*abs(_t[1]-_t[2])) shifted _t[1];
- elseif n=3 : Cer=cercles(CentreCercleC(_t[1],_t[2],_t[3]),_t[1]);
+ if typetrace="3D":%centre aa passant par bb dans le plan (ccddee) généralement aa=cc
+ path Cer;
+ color ptcer[];
+ for k=0 step 5 until 360 :
+ ptcer[k div 5]-_T[1]=Distance(_T[1],_T[2])*((_T[4]-_T[3])*cosd(k)/Distance(_T[3],_T[4])+(_T[5]-_T[3])*sind(k)/Distance(_T[3],_T[5]));
+ endfor;
+ Cer=Projette(ptcer0)
+ for k=0 step 5 until 360 :
+ ..Projette(ptcer[k div 5])
+ endfor
+ ..cycle;
+ else:
+ path Cer;
+ if n=1 : Cer=fullcircle scaled (2*rayon) shifted _t[1];
+ elseif n=2 : Cer=fullcircle scaled (2*abs(_t[1]-_t[2])) shifted _t[1];
+ elseif n=3 : Cer=cercles(CentreCercleC(_t[1],_t[2],_t[3]),_t[1]);
+ fi
fi
Cer
enddef;