From f07bb53970ee2ecc53f81a206a3d3a67ef665e4a Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Mon, 9 Jan 2006 00:56:57 +0000 Subject: doc 6 git-svn-id: svn://tug.org/texlive/trunk@85 c570f23f-e606-0410-a88d-b1316a301751 --- .../doc/generic/pst-eucl/Exemples/abscur.tex | 3 + .../doc/generic/pst-eucl/Exemples/abscur_in.tex | 4 + .../doc/generic/pst-eucl/Exemples/angle.tex | 4 + .../doc/generic/pst-eucl/Exemples/angle_in.tex | 11 + .../doc/generic/pst-eucl/Exemples/arc.tex | 4 + .../doc/generic/pst-eucl/Exemples/arc_in.tex | 7 + .../doc/generic/pst-eucl/Exemples/astro.tex | 3 + .../doc/generic/pst-eucl/Exemples/astro_in.tex | 7 + .../doc/generic/pst-eucl/Exemples/bissec.tex | 3 + .../doc/generic/pst-eucl/Exemples/bissec_in.tex | 5 + .../doc/generic/pst-eucl/Exemples/ccirc.tex | 3 + .../doc/generic/pst-eucl/Exemples/ccirc_in.tex | 3 + .../doc/generic/pst-eucl/Exemples/cercle.tex | 4 + .../doc/generic/pst-eucl/Exemples/cercle_in.tex | 8 + .../doc/generic/pst-eucl/Exemples/cinscex.tex | 7 + .../doc/generic/pst-eucl/Exemples/cinscex_in.tex | 50 + .../doc/generic/pst-eucl/Exemples/curvetype.tex | 7 + .../doc/generic/pst-eucl/Exemples/curvetype_in.tex | 10 + .../doc/generic/pst-eucl/Exemples/cyclo.tex | 7 + .../doc/generic/pst-eucl/Exemples/cyclo_in.tex | 26 + .../doc/generic/pst-eucl/Exemples/delto.tex | 9 + .../doc/generic/pst-eucl/Exemples/droite.tex | 4 + .../doc/generic/pst-eucl/Exemples/droite_in.tex | 3 + .../doc/generic/pst-eucl/Exemples/envcardi.tex | 3 + .../doc/generic/pst-eucl/Exemples/envcardi_in.tex | 8 + .../doc/generic/pst-eucl/Exemples/envellipse.tex | 7 + .../generic/pst-eucl/Exemples/envellipse_in.tex | 9 + .../doc/generic/pst-eucl/Exemples/euler.tex | 8 + .../doc/generic/pst-eucl/Exemples/euler_in.tex | 28 + .../doc/generic/pst-eucl/Exemples/fracthom.tex | 9 + .../doc/generic/pst-eucl/Exemples/fracthom_in.tex | 13 + .../doc/generic/pst-eucl/Exemples/gal_biss.tex | 5 + .../doc/generic/pst-eucl/Exemples/gal_biss_in.tex | 15 + .../doc/generic/pst-eucl/Exemples/gauss.tex | 8 + .../doc/generic/pst-eucl/Exemples/gauss_in.tex | 49 + .../doc/generic/pst-eucl/Exemples/gencur.tex | 3 + .../doc/generic/pst-eucl/Exemples/gencur_in.tex | 5 + .../doc/generic/pst-eucl/Exemples/geohyper.tex | 7 + .../doc/generic/pst-eucl/Exemples/geohyper_in.tex | 38 + .../doc/generic/pst-eucl/Exemples/geonode.tex | 3 + .../doc/generic/pst-eucl/Exemples/geonode_in.tex | 13 + .../doc/generic/pst-eucl/Exemples/german_ra.tex | 3 + .../doc/generic/pst-eucl/Exemples/german_ra_in.tex | 3 + .../doc/generic/pst-eucl/Exemples/grav.tex | 3 + .../doc/generic/pst-eucl/Exemples/grav_in.tex | 2 + .../doc/generic/pst-eucl/Exemples/homothetie.tex | 4 + .../generic/pst-eucl/Exemples/homothetie_in.tex | 6 + .../doc/generic/pst-eucl/Exemples/hyperbole.tex | 8 + .../doc/generic/pst-eucl/Exemples/hyperbole_in.tex | 54 + .../doc/generic/pst-eucl/Exemples/hypocyclo.tex | 21 + .../doc/generic/pst-eucl/Exemples/interCC.tex | 3 + .../generic/pst-eucl/Exemples/interCC_bis_in.tex | 13 + .../doc/generic/pst-eucl/Exemples/interCC_in.tex | 9 + .../doc/generic/pst-eucl/Exemples/interDC.tex | 3 + .../doc/generic/pst-eucl/Exemples/interDC_in.tex | 15 + .../doc/generic/pst-eucl/Exemples/interDD.tex | 3 + .../doc/generic/pst-eucl/Exemples/interDD_in.tex | 4 + .../doc/generic/pst-eucl/Exemples/interFC.tex | 8 + .../doc/generic/pst-eucl/Exemples/interFC_in.tex | 12 + .../doc/generic/pst-eucl/Exemples/interFF.tex | 8 + .../doc/generic/pst-eucl/Exemples/interFF_in.tex | 7 + .../doc/generic/pst-eucl/Exemples/interFL.tex | 8 + .../doc/generic/pst-eucl/Exemples/interFL_in.tex | 10 + .../doc/generic/pst-eucl/Exemples/mediator.tex | 8 + .../doc/generic/pst-eucl/Exemples/mediator_in.tex | 9 + .../doc/generic/pst-eucl/Exemples/milieu.tex | 3 + .../doc/generic/pst-eucl/Exemples/milieu_in.tex | 4 + .../doc/generic/pst-eucl/Exemples/oij.tex | 5 + .../doc/generic/pst-eucl/Exemples/oij_in.tex | 12 + .../doc/generic/pst-eucl/Exemples/orthocentre.tex | 3 + .../generic/pst-eucl/Exemples/orthocentre_in.tex | 7 + .../doc/generic/pst-eucl/Exemples/orthoethyper.tex | 7 + .../generic/pst-eucl/Exemples/orthoethyper_in.tex | 16 + .../doc/generic/pst-eucl/Exemples/parabole.tex | 4 + .../doc/generic/pst-eucl/Exemples/parabole_in.tex | 24 + .../doc/generic/pst-eucl/Exemples/projection.tex | 4 + .../generic/pst-eucl/Exemples/projection_in.tex | 5 + .../doc/generic/pst-eucl/Exemples/ptfermat.tex | 7 + .../doc/generic/pst-eucl/Exemples/ptfermat_in.tex | 17 + .../doc/generic/pst-eucl/Exemples/remarq.tex | 8 + .../doc/generic/pst-eucl/Exemples/remarq_in.tex | 26 + .../doc/generic/pst-eucl/Exemples/rotation.tex | 4 + .../doc/generic/pst-eucl/Exemples/rotation_in.tex | 8 + .../doc/generic/pst-eucl/Exemples/segmentmark.tex | 3 + .../generic/pst-eucl/Exemples/segmentmark_in.tex | 9 + .../doc/generic/pst-eucl/Exemples/symcentrale.tex | 4 + .../generic/pst-eucl/Exemples/symcentrale_in.tex | 7 + .../generic/pst-eucl/Exemples/symorthogonale.tex | 4 + .../pst-eucl/Exemples/symorthogonale_in.tex | 8 + .../doc/generic/pst-eucl/Exemples/tg1c.tex | 7 + .../doc/generic/pst-eucl/Exemples/tg1c_in.tex | 8 + .../doc/generic/pst-eucl/Exemples/tg2c.tex | 7 + .../doc/generic/pst-eucl/Exemples/tg2c_in.tex | 18 + .../doc/generic/pst-eucl/Exemples/translation.tex | 4 + .../generic/pst-eucl/Exemples/translation_in.tex | 7 + .../doc/generic/pst-eucl/Exemples/triangle.tex | 4 + .../doc/generic/pst-eucl/Exemples/triangle_in.tex | 3 + Master/texmf-dist/doc/generic/pst-eucl/README | 115 ++ Master/texmf-dist/doc/generic/pst-eucl/euclide.pdf | Bin 0 -> 424955 bytes Master/texmf-dist/doc/generic/pst-eucl/euclide.sty | 139 ++ Master/texmf-dist/doc/generic/pst-eucl/euclide.tex | 1326 ++++++++++++++++++++ .../doc/generic/pst-eucl/euclide_english.pdf | Bin 0 -> 396898 bytes .../doc/generic/pst-eucl/euclide_english.tex | 1176 +++++++++++++++++ .../doc/generic/pst-eucl/euclide_macros.ist | 33 + 104 files changed, 3693 insertions(+) create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/abscur.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/abscur_in.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/angle.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/angle_in.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/arc.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/arc_in.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/astro.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/astro_in.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/bissec.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/bissec_in.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/ccirc.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/ccirc_in.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/cercle.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/cercle_in.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/cinscex.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/cinscex_in.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/curvetype.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/curvetype_in.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/cyclo.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/cyclo_in.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/delto.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/droite.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/droite_in.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/envcardi.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/envcardi_in.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/envellipse.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/envellipse_in.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/euler.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/euler_in.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/fracthom.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/fracthom_in.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/gal_biss.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/gal_biss_in.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/gauss.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/gauss_in.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/gencur.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/gencur_in.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/geohyper.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/geohyper_in.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/geonode.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/geonode_in.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/german_ra.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/german_ra_in.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/grav.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/grav_in.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/homothetie.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/homothetie_in.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/hyperbole.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/hyperbole_in.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/hypocyclo.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/interCC.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/interCC_bis_in.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/interCC_in.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/interDC.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/interDC_in.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/interDD.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/interDD_in.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/interFC.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/interFC_in.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/interFF.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/interFF_in.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/interFL.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/interFL_in.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/mediator.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/mediator_in.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/milieu.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/milieu_in.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/oij.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/oij_in.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/orthocentre.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/orthocentre_in.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/orthoethyper.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/orthoethyper_in.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/parabole.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/parabole_in.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/projection.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/projection_in.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/ptfermat.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/ptfermat_in.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/remarq.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/remarq_in.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/rotation.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/rotation_in.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/segmentmark.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/segmentmark_in.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/symcentrale.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/symcentrale_in.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/symorthogonale.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/symorthogonale_in.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/tg1c.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/tg1c_in.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/tg2c.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/tg2c_in.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/translation.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/translation_in.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/triangle.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/Exemples/triangle_in.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/README create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/euclide.pdf create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/euclide.sty create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/euclide.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/euclide_english.pdf create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/euclide_english.tex create mode 100644 Master/texmf-dist/doc/generic/pst-eucl/euclide_macros.ist (limited to 'Master/texmf-dist/doc/generic/pst-eucl') diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/abscur.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/abscur.tex new file mode 100644 index 00000000000..9e41c7b183a --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/abscur.tex @@ -0,0 +1,3 @@ +\begin{pspicture}(-2.5,-2.5)(2.5,2.5)%\psgrid% +\input{Exemples/abscur_in} +\end{pspicture} diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/abscur_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/abscur_in.tex new file mode 100644 index 00000000000..ddb433970a7 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/abscur_in.tex @@ -0,0 +1,4 @@ +\pstGeonode{O}(2,0){A} +\pstCircleOA{O}{A} +\pstCurvAbsNode{O}{A}{M_1}{\pstDistVal{5}} +\pstCurvAbsNode[CurvAbsNeg=true]{O}{A}{M_2}{\pstDistAB{A}{M_1}} diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/angle.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/angle.tex new file mode 100644 index 00000000000..22856df59d4 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/angle.tex @@ -0,0 +1,4 @@ +%%%% -*-mode: latex; TeX-master: "euclide.tex" -*- +\begin{pspicture}(-2,-2)(2,2)\psgrid + \input{Exemples/angle_in} +\end{pspicture} diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/angle_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/angle_in.tex new file mode 100644 index 00000000000..c3ec42b5481 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/angle_in.tex @@ -0,0 +1,11 @@ +\psset{PointSymbol=none} +\pstTriangle(2;15){A}(2;85){B}(2;195){C} +\psset{PointName=none} +\pstTriangle[PointNameA=default](2;-130){B'}(2;15){A'}(2;195){C'} +\pstTriangle[PointNameA=default](2;-55){B''}(2;15){A''}(2;195){C''} +\pstRightAngle[linecolor=red]{C}{B}{A} +\pstRightAngle[linecolor=blue, RightAngleType=suisseromand]{A}{B'}{C} +\pstRightAngle[linecolor=magenta, RightAngleType=german]{A}{B''}{C} +\psset{arcsep=\pslinewidth} +\pstMarkAngle[linecolor=cyan, Mark=MarkHash]{A}{C}{B}{$\theta$} +\pstMarkAngle[linecolor=red, arrows=->]{B}{A}{C}{$\gamma$} \ No newline at end of file diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/arc.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/arc.tex new file mode 100644 index 00000000000..2679d767050 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/arc.tex @@ -0,0 +1,4 @@ +%%%% -*-mode: latex; TeX-master: "euclide.tex" -*- +\begin{pspicture}(-2,-2)(2,2)\psgrid + \input{Exemples/arc_in} +\end{pspicture} diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/arc_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/arc_in.tex new file mode 100644 index 00000000000..48d4ec1112a --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/arc_in.tex @@ -0,0 +1,7 @@ +\pstGeonode[PosAngle={180,0}](1.5;24){A}(1.8;-31){B} +\pstGeonode{O} +\psset{arrows=->, arrowscale=2} +\pstArcOAB[linecolor=red, linewidth=1.5\pslinewidth]{O}{A}{B} +\pstArcOAB[linecolor=blue, linewidth=1.5\pslinewidth]{O}{B}{A} +\pstArcnOAB[linecolor=green]{O}{A}{B} +\pstArcnOAB[linecolor=magenta]{O}{B}{A} diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/astro.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/astro.tex new file mode 100644 index 00000000000..ee37d88b917 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/astro.tex @@ -0,0 +1,3 @@ +\begin{pspicture}[.5](-4.5,-4)(4.5,4.5)%\psgrid + \input{Exemples/astro_in} +\end{pspicture} \ No newline at end of file diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/astro_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/astro_in.tex new file mode 100644 index 00000000000..00e490b4aaa --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/astro_in.tex @@ -0,0 +1,7 @@ +\HypoCyclo[4]{4}{1}{27} +\psset{linecolor=blue, linewidth=1.5\pslinewidth} +%% il est préférable de mettre les quatre branches séparément à cause +%% des points de rebroussement +\pstGenericCurve[GenCurvFirst=P]{N}{1}{7} +\pstGenericCurve{N}{7}{14}\pstGenericCurve{N}{14}{21} +\pstGenericCurve[GenCurvLast=P]{N}{21}{27} diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/bissec.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/bissec.tex new file mode 100644 index 00000000000..b9107309c36 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/bissec.tex @@ -0,0 +1,3 @@ +\begin{pspicture}(6,6)\psgrid + \input{Exemples/bissec_in} +\end{pspicture} diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/bissec_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/bissec_in.tex new file mode 100644 index 00000000000..31b8a33b525 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/bissec_in.tex @@ -0,0 +1,5 @@ +\psset{CurveType=polyline,linecolor=red} +\pstGeonode[PosAngle={180,-75,45}](1,4){B}(4,1){A}(5,4){C} +\pstBissectBAC[linecolor=blue]{C}{A}{B}{A'} +\pstOutBissectBAC[linecolor=green, PosAngle=180] + {C}{A}{B}{A''} diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/ccirc.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/ccirc.tex new file mode 100644 index 00000000000..fe62b0dd64b --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/ccirc.tex @@ -0,0 +1,3 @@ +\begin{pspicture}(6,6)\psgrid + \input{Exemples/ccirc_in} +\end{pspicture} diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/ccirc_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/ccirc_in.tex new file mode 100644 index 00000000000..c1017a79b25 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/ccirc_in.tex @@ -0,0 +1,3 @@ +\pstTriangle[PointSymbol=none](4,1){A}(1,3){B}(5,5){C} +\pstCircleABC[CodeFig=true, CodeFigColor=blue, + linecolor=red, PointSymbol=none]{A}{B}{C}{O} diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/cercle.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/cercle.tex new file mode 100644 index 00000000000..ac5836313f5 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/cercle.tex @@ -0,0 +1,4 @@ +%%%% -*-mode: latex; TeX-master: "euclide.tex" -*- +\begin{pspicture}[.5](-4,-4)(5,3)\psgrid% + \input{Exemples/cercle_in.tex} +\end{pspicture} diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/cercle_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/cercle_in.tex new file mode 100644 index 00000000000..ca1a3f1b369 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/cercle_in.tex @@ -0,0 +1,8 @@ +\psset{linewidth=2\pslinewidth} +\pstGeonode[PosAngle={0,-135,90},PointSymbol={*,*,square}](1,0){A}(-2,-1){B}(0,1){C} +\pstCircleOA[linecolor=red]{A}{B} +\pstCircleOA[linecolor=green, DistCoef=2 3 div, Radius=\pstDistAB{A}{C}]{A}{} +\pstCircleOA[linecolor=blue, Radius=\pstDistAB{B}{C}]{A}{} +\pstCircleOA[linecolor=Sepia, Radius=\pstDistAB{A}{C}]{B}{} +\pstCircleOA[linecolor=Aquamarine, Diameter=\pstDistAB{A}{C}]{B}{} +\pstCircleAB[linecolor=RoyalBlue]{B}{C} \ No newline at end of file diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/cinscex.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/cinscex.tex new file mode 100644 index 00000000000..011b1332038 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/cinscex.tex @@ -0,0 +1,7 @@ +\begin{pspicture}(-6,-5)(11,15)%\psgrid + \input{Exemples/cinscex_in} +\end{pspicture} +%%% Local Variables: +%%% mode: latex +%%% TeX-master: t +%%% End: diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/cinscex_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/cinscex_in.tex new file mode 100644 index 00000000000..f437305fbfa --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/cinscex_in.tex @@ -0,0 +1,50 @@ +\psset{PointSymbol=none} +%\psframe(-6,-5)(11,15) +\pstTriangle[linewidth=2\pslinewidth, linecolor=red] + (4,1){A}(0,3){B}(5,5){C} +\psset{linecolor=blue} +\pstBissectBAC[PointSymbol=none, PointName=none]{C}{A}{B}{AB} +\pstBissectBAC[PointSymbol=none, PointName=none]{A}{B}{C}{BB} +\pstBissectBAC[PointSymbol=none, PointName=none]{B}{C}{A}{CB} +\pstInterLL{A}{AB}{B}{BB}{I} +\psset{linecolor=magenta, linestyle=dashed} +\pstProjection{A}{B}{I}[I_C] +\pstLineAB{I}{I_C}\pstRightAngle[linestyle=solid]{A}{I_C}{I} +\pstProjection{A}{C}{I}[I_B] +\pstLineAB{I}{I_B}\pstRightAngle[linestyle=solid]{C}{I_B}{I} +\pstProjection[PosAngle=80]{C}{B}{I}[I_A] +\pstLineAB{I}{IA}\pstRightAngle[linestyle=solid]{B}{I_A}{I} +\pstCircleOA[linecolor=yellow, linestyle=solid]{I}{I_A} +%% BISSECTRICES EXTÉRIEURES +\psset{linecolor=magenta, linestyle=none} +\pstOutBissectBAC[PointSymbol=none, PointName=none]{C}{A}{B}{AOB} +\pstOutBissectBAC[PointSymbol=none, PointName=none]{A}{B}{C}{BOB} +\pstOutBissectBAC[PointSymbol=none, PointName=none]{B}{C}{A}{COB} +\pstInterLL[PosAngle=-90]{A}{AOB}{B}{BOB}{I_1} +\pstInterLL{A}{AOB}{C}{COB}{I_2} +\pstInterLL[PosAngle=90]{C}{COB}{B}{BOB}{I_3} +\psset{linecolor=magenta, linestyle=dashed} +\pstProjection[PointName=I_{1C}]{A}{B}{I_1}[I1C] +\pstLineAB{I_1}{I1C}\pstRightAngle[linestyle=solid]{I_1}{I1C}{A} +\pstProjection[PointName=I_{1B}]{A}{C}{I_1}[I1B] +\pstLineAB{I_1}{I1B}\pstRightAngle[linestyle=solid]{A}{I1B}{I_1} +\pstProjection[PointName=I_{1A}]{C}{B}{I_1}[I1A] +\pstLineAB{I_1}{I1A}\pstRightAngle[linestyle=solid]{I_1}{I1A}{C} +\pstProjection[PointName=I_{2B}]{A}{C}{I_2}[I2B] +\pstLineAB{I_2}{I2B}\pstRightAngle[linestyle=solid]{A}{I2B}{I_2} +\pstProjection[PointName=I_{2C}]{A}{B}{I_2}[I2C] +\pstLineAB{I_2}{I2C}\pstRightAngle[linestyle=solid]{I_2}{I2C}{A} +\pstProjection[PointName=I_{2A}]{B}{C}{I_2}[I2A] +\pstLineAB{I_2}{I2A}\pstRightAngle[linestyle=solid]{C}{I2A}{I_2} +\pstProjection[PointName=I_{3A}]{C}{B}{I_3}[I3A] +\pstLineAB{I_3}{I3A}\pstRightAngle[linestyle=solid]{C}{I3A}{I_3} +\pstProjection[PointName=I_{3C}]{A}{B}{I_3}[I3C] +\pstLineAB{I_3}{I3C}\pstRightAngle[linestyle=solid]{A}{I3C}{I_3} +\pstProjection[PointName=I_{3B}]{C}{A}{I_3}[I3B] +\pstLineAB{I_3}{I3B}\pstRightAngle[linestyle=solid]{I_3}{I3B}{A} +\psset{linecolor=yellow, linestyle=solid} +\pstCircleOA{I_1}{I1C} +\pstCircleOA{I_2}{I2B} +\pstCircleOA{I_3}{I3A} +\psset{linecolor=red, linestyle=solid, nodesepA=-1, nodesepB=-1} +\pstLineAB{I1B}{I3B}\pstLineAB{I1A}{I2A}\pstLineAB{I2C}{I3C} \ No newline at end of file diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/curvetype.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/curvetype.tex new file mode 100644 index 00000000000..a86b641f8d1 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/curvetype.tex @@ -0,0 +1,7 @@ +\begin{pspicture}(-5,-5)(10,5)\psgrid + \input{Exemples/curvetype_in.tex} +\end{pspicture} +%%% Local Variables: +%%% mode: latex +%%% TeX-master: t +%%% End: diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/curvetype_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/curvetype_in.tex new file mode 100644 index 00000000000..90d34f4e345 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/curvetype_in.tex @@ -0,0 +1,10 @@ +\pstGeonode{O} +\rput(-3,0){\pstGeonode[CurveType=polygon](1,0){A}(1;51.43){B}(1;102.86){C} + (1;154.29){D}(1;205.71){E}(1;257.14){F}(1;308.57){G}} +\rput(-4,-1){\pstGeonode[CurveType=curve](1,3){M}(4,5){N}(6,2){P}(8,5){Q}} +\pstRotation[linecolor=green, RotAngle=100, CurveType=polygon]{O}{A, B, C, D, E, F, G} +\pstHomO[linecolor=red, HomCoef=.3, CurveType=curve]{O}{M,N,P,Q} +\pstTranslation[linecolor=blue, CurveType=polygon]{C}{O}{A', B', C', D', E', F', G'} +\pstSymO[linecolor=yellow, CurveType=curve]{O}{M',N',P',Q'} +\pstOrtSym[linecolor=magenta, CurveType=polygon]{Q}{F''} + {A', B', C', D', E', F', G'}[A''', B''', C''', D''', E''', F''', G'''] \ No newline at end of file diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/cyclo.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/cyclo.tex new file mode 100644 index 00000000000..80694c50326 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/cyclo.tex @@ -0,0 +1,7 @@ +\begin{pspicture}(-2,0)(13,3)%\psgrid% + \input{Exemples/cyclo_in} +\end{pspicture} +%%% Local Variables: +%%% mode: latex +%%% TeX-master: "~/TeX/Inputs/Doc/Euclide/euclide" +%%% End: diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/cyclo_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/cyclo_in.tex new file mode 100644 index 00000000000..1cea4dba5cb --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/cyclo_in.tex @@ -0,0 +1,26 @@ +\renewcommand{\NbPt}{11}\psset{linewidth=1.2\pslinewidth} +\pstGeonode[PointSymbol={*,none}, PointName={default,none}, PosAngle=180]{M}(0,1){O} +%% 4*pi=12.5663706144 +\pstGeonode(12.5663706144,0){A} +\pstTranslation[PointSymbol=none, PointName=none]{M}{A}{O}[B] +\multido{\n=1+1}{\NbPt}{% + \pstHomO[HomCoef=\n\space \NbPt\space 1 add div, + PointSymbol=none, PointName=none]{O}{B}[O\n] + \pstProjection[PointSymbol=none, PointName=none]{M}{A}{O\n}[P\n] + %\pstCircleOA[linestyle=dashed, linecolor=red]{O\n}{P\n} + \pstCurvAbsNode[PointSymbol=square, PointName=none,CurvAbsNeg=true] + {O\n}{P\n}{M\n}{\pstDistAB{O}{O\n}} + \ifnum\n=2%affichage du second cercle + \bgroup + \pstCircleOA{O\n}{M\n} + \psset{linecolor=magenta, linewidth=1.5\pslinewidth} + \pstArcnOAB{{O\n}}{P\n}{M\n} + \ncline{O\n}{M\n}\ncline{P\n}{M} + \egroup + \fi}% fin du multido +\psset{linecolor=blue, linewidth=1.5\pslinewidth} +\pstGenericCurve[GenCurvFirst=M]{M}{1}{6} +\pstGenericCurve[GenCurvLast=A]{M}{6}{\NbPt} +%% juste pour la vérification +%\parametricplot[linecolor=green, linewidth=.5\pslinewidth]{0}{12.5663706144} +% {t t 3.1415926 div 180 mul sin sub 1 t 3.1415926 div 180 mul cos sub} diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/delto.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/delto.tex new file mode 100644 index 00000000000..791363e0d80 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/delto.tex @@ -0,0 +1,9 @@ +%%%%%%%%%%%%%%%%%%%% +\begin{pspicture}[.5](-3.5,-4)(3.5,4)%\psgrid + \HypoCyclo[3]{3}{1}{17} + \psset{linecolor=blue, linewidth=1.5\pslinewidth} + %% il est préférable de mettre les trois branches séparément à cause + %% des points de rebroussement + \pstGenericCurve[GenCurvFirst=P]{N}{1}{6} \pstGenericCurve{N}{6}{12} + \pstGenericCurve[GenCurvLast=P]{N}{12}{17} +\end{pspicture} diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/droite.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/droite.tex new file mode 100644 index 00000000000..19595b78b30 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/droite.tex @@ -0,0 +1,4 @@ +%%%% -*-mode: latex; TeX-master: "euclide.tex" -*- +\begin{pspicture}(-2,-2)(2,2)\psgrid + \input{Exemples/droite_in} +\end{pspicture} diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/droite_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/droite_in.tex new file mode 100644 index 00000000000..0fe249534ca --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/droite_in.tex @@ -0,0 +1,3 @@ +\pstGeonode(1,1){A}(-1,-1){B} +\pstLineAB[nodesepA=-.4, nodesepB=-1, linecolor=green]{A}{B} +\pstLineAB[nodesep=.4, linecolor=red]{A}{B} \ No newline at end of file diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/envcardi.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/envcardi.tex new file mode 100644 index 00000000000..146be669a2e --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/envcardi.tex @@ -0,0 +1,3 @@ +\begin{pspicture}(-6,-6)(3.5,6)%\psgrid + \input{Exemples/envcardi_in} +\end{pspicture} diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/envcardi_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/envcardi_in.tex new file mode 100644 index 00000000000..80f9058ea5e --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/envcardi_in.tex @@ -0,0 +1,8 @@ +\psset{linewidth=0.4\pslinewidth,PointSymbol=x, + nodesep=0,linecolor=magenta} +\pstGeonode[PointName=none]{O}(2,0){O'} +\pstCircleOA[linecolor=black]{O}{O'} +\multido{\n=5+5}{72}{% + \pstGeonode[PointSymbol=none, PointName=none] + (2;\n){M_\n} + \pstCircleOA{M_\n}{O'}} \ No newline at end of file diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/envellipse.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/envellipse.tex new file mode 100644 index 00000000000..3576839e86e --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/envellipse.tex @@ -0,0 +1,7 @@ +\begin{pspicture*}(-6,-6)(6,6) + \input{Exemples/envellipse_in.tex} +\end{pspicture*} +%%% Local Variables: +%%% mode: latex +%%% TeX-master: t +%%% End: diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/envellipse_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/envellipse_in.tex new file mode 100644 index 00000000000..84fa7313884 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/envellipse_in.tex @@ -0,0 +1,9 @@ +\psset{linewidth=0.4\pslinewidth,PointSymbol=none, PointName=none} +\pstGeonode[PosAngle=-90, PointSymbol={none,*,none}, PointName={none,default,none}] + {O}(4;132){A}(5,0){O'} +\pstCircleOA{O}{O'} +\multido{\n=5+5}{72}{% + \pstGeonode(5;\n){M_\n} + \pstMediatorAB[nodesep=-15,linecolor=magenta] + {A}{M_\n}{I}{J}}% fin multido + diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/euler.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/euler.tex new file mode 100644 index 00000000000..971aa290bf8 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/euler.tex @@ -0,0 +1,8 @@ +\begin{pspicture}(-3,-1.5)(3,2.5)%\psgrid + \psframe(-3,-1.5)(3,2.5) + \input{Exemples/euler_in} +\end{pspicture} +%%% Local Variables: +%%% mode: latex +%%% TeX-master: t +%%% End: diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/euler_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/euler_in.tex new file mode 100644 index 00000000000..c96bf0c0675 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/euler_in.tex @@ -0,0 +1,28 @@ +\psset{PointSymbol=none} +\pstTriangle(-2,-1){A}(1,2){B}(2,-1){C} +{% encapsulation de modif paramètres + \psset{linestyle=none, PointSymbolB=none, PointNameB=none} + \pstMediatorAB{A}{B}{K}{KP} + \pstMediatorAB{C}{A}{J}{JP} + \pstMediatorAB{B}{C}{I}{IP} +}% fin +\pstInterLL[PointSymbol=square, PosAngle=-170]{I}{IP}{J}{JP}{O} +{% encapsulation de modif paramètres + \psset{nodesep=-.8, linecolor=green} + \pstLineAB{O}{I}\pstLineAB{O}{J}\pstLineAB{O}{K} +}% fin +\psdot[dotstyle=square](O) +\pstProjection{B}{A}{C} +\pstProjection{B}{C}{A} +\pstProjection{A}{C}{B} +\psset{linecolor=blue}\ncline{A}{A'}\ncline{C}{C'}\ncline{B}{B'} +\pstInterLL[PointSymbol=square]{A}{A'}{B}{B'}{H} +% le cercle d'Euler (centre au milieu de [OH]) +\pstMiddleAB[PointSymbol=o, PointName=\omega]{O}{H}{omega} +\pstCircleOA[linecolor=Orange, linestyle=dashed, dash=5mm 1mm]{omega}{B'} +\psset{PointName=none} +% il passe par le milieu des segments joignant l'orthocentre et les sommets +\pstMiddleAB{H}{A}{AH}\pstMiddleAB{H}{B}{BH}\pstMiddleAB{H}{C}{CH} +\pstSegmentMark{H}{AH}\pstSegmentMark{AH}{A} +\psset{SegmentSymbol=wedge}\pstSegmentMark{H}{BH}\pstSegmentMark{BH}{B} +\psset{SegmentSymbol=cup}\pstSegmentMark{H}{CH}\pstSegmentMark{CH}{C} diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/fracthom.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/fracthom.tex new file mode 100644 index 00000000000..f8119481bc3 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/fracthom.tex @@ -0,0 +1,9 @@ +\begin{pspicture}(-2.8,-3)(2.8,3) + \psset{linewidth=.05\pslinewidth} + \input{Exemples/fracthom_in} +\end{pspicture} + +%%% Local Variables: +%%% mode: latex +%%% TeX-master: t +%%% End: diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/fracthom_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/fracthom_in.tex new file mode 100644 index 00000000000..70507b1e97a --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/fracthom_in.tex @@ -0,0 +1,13 @@ +\pstGeonode[PosAngle={0,90}](2,2){A_0}(-2,2){B_0}% +\psset{RotAngle=90} +\pstRotation[PosAngle=270]{A_0}{B_0}[D_0] +\pstRotation[PosAngle=180]{D_0}{A_0}[C_0] +\pspolygon(A_0)(B_0)(C_0)(D_0)% +\psset{PointSymbol=none, PointName=none, HomCoef=.2} +\multido{\n=1+1,\i=0+1}{20}{% + \pstHomO[PosAngle=0]{B_\i}{A_\i}[A_\n] + \pstHomO[PosAngle=90]{C_\i}{B_\i}[B_\n] + \pstHomO[PosAngle=180]{D_\i}{C_\i}[C_\n] + \pstHomO[PosAngle=270]{A_\i}{D_\i}[D_\n] + \pspolygon(A_\n)(B_\n)(C_\n)(D_\n)}% fin multido + diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/gal_biss.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/gal_biss.tex new file mode 100644 index 00000000000..a53481d9b34 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/gal_biss.tex @@ -0,0 +1,5 @@ +\bgroup\psset{unit=.9} +\begin{pspicture}(-1,-1)(5,5)%\psgrid + \input{Exemples/gal_biss_in.tex} +\end{pspicture} +\egroup \ No newline at end of file diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/gal_biss_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/gal_biss_in.tex new file mode 100644 index 00000000000..34637a4e337 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/gal_biss_in.tex @@ -0,0 +1,15 @@ +\psset{PointSymbol=none} +\pstGeonode[PosAngle={180,130,-90}, PointSymbol={default,none}] + (2,0){B}(0,1){O}(1,4){A} +\pstLineAB[nodesepB=-1, linecolor=red]{O}{A} +\pstLineAB[nodesepB=-1, linecolor=red]{O}{B} +\pstInterLC[PointSymbolA=none, PosAngleB=-45]{O}{B}{O}{A}{G}{C} +\psset{arcsepA=-1, arcsepB=-1} +\pstArcOAB[linecolor=green, linestyle=dashed]{O}{C}{A} +\pstInterCC[PointSymbolB=none, PointNameB=none, PosAngleA=100]{A}{O}{C}{O}{O'}{OO} +\pstArcOAB[linecolor=blue, linestyle=dashed]{A}{O'}{O'} +\pstArcOAB[linecolor=blue, linestyle=dashed]{C}{O'}{O'} +\pstLineAB[nodesepB=-1, linecolor=cyan]{O}{O'} +\psset{arcsep=\pslinewidth, linecolor=magenta, Mark=MarkHash} +\pstMarkAngle{C}{O}{O'}{} +\pstMarkAngle[MarkAngleRadius=.5]{O'}{O}{A}{} \ No newline at end of file diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/gauss.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/gauss.tex new file mode 100644 index 00000000000..c86a0577cf8 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/gauss.tex @@ -0,0 +1,8 @@ +%% Polygone à 17 côtés +\begin{pspicture}(-5.5,-5.5)(5.5,6)%\psgrid + \input{Exemples/gauss_in} +\end{pspicture} +%%% Local Variables: +%%% mode: latex +%%% TeX-master: t +%%% End: diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/gauss_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/gauss_in.tex new file mode 100644 index 00000000000..683cae02da0 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/gauss_in.tex @@ -0,0 +1,49 @@ + \pstGeonode[PosAngle={-90,0}]{O}(5;0){P_1} + \pstCircleOA{O}{P_1} + \pstSymO[PointSymbol=none, PointName=none, CodeFig=false]{O}{P_1}[PP_1] + \ncline[linestyle=solid]{PP_1}{P_1} + \pstRotation[RotAngle=90, PosAngle=90]{O}{P_1}[B] + \pstRightAngle[linestyle=solid]{B}{O}{PP_1}\ncline[linestyle=solid]{O}{B} + \pstHomO[HomCoef=.25]{O}{B}[J] + \ncline{J}{P_1} + \pstBissectBAC[PointSymbol=none, PointName=none]{O}{J}{P_1}{PE1} + \pstBissectBAC[PointSymbol=none, PointName=none]{O}{J}{PE1}{PE2} + \pstInterLL[PosAngle=-90]{O}{P_1}{J}{PE2}{E} + \pstRotation[PosAngle=-90, RotAngle=-45, PointSymbol=none, PointName=none]{J}{E}[PF1] + \pstInterLL[PosAngle=-90]{O}{P_1}{J}{PF1}{F} + \pstMiddleAB[PointSymbol=none, PointName=none]{F}{P_1}{MFP1} + \pstCircleOA{MFP1}{P_1} + \pstInterLC[PointSymbolA=none, PointNameA=none]{O}{B}{MFP1}{P_1}{H}{K} + \pstCircleOA{E}{K} + \pstInterLC{O}{P_1}{E}{K}{N_6}{N_4} + \pstRotation[RotAngle=90, PointSymbol=none, PointName=none]{N_6}{E}[PP_6] + \pstInterLC[PosAngleA=90, PosAngleB=-90, PointNameB=P_{13}] + {PP_6}{N_6}{O}{P_1}{P_6}{P_13} + \pstSegmentMark[SegmentSymbol=wedge]{N_6}{P_6} + \pstSegmentMark[SegmentSymbol=wedge]{P_13}{N_6} + \pstRotation[RotAngle=90, PointSymbol=none, PointName=none]{N_4}{E}[PP_4] + \pstInterLC[PosAngleA=90, PosAngleB=-90, PointNameB=P_{15}] + {N_4}{PP_4}{O}{P_1}{P_4}{P_15} + \pstSegmentMark[SegmentSymbol=cup]{N_4}{P_4} + \pstSegmentMark[SegmentSymbol=cup]{P_15}{N_4} + \pstRightAngle[linestyle=solid]{P_1}{N_6}{P_6} + \pstRightAngle[linestyle=solid]{P_1}{N_4}{P_4} + \pstBissectBAC[PosAngle=90, linestyle=none]{P_4}{O}{P_6}{P_5} + %\pstOrtSym[PosAngle=-90, PointName=P_{14}]{O}{P_1}{P_5}[P_14] + \pstInterCC[PosAngleB=90, PointSymbolA=none, PointNameA=none]{O}{P_1}{P_4}{P_5}{H}{P_3} + %\pstOrtSym[PosAngle=-90, SegmentSymbol=pstslash, PointName=P_{16}] + % {O}{P_1}{P_3}[P_16] + \pstInterCC[PosAngleB=90, PointSymbolA=none, PointNameA=none]{O}{P_1}{P_3}{P_4}{H}{P_2} + %\pstOrtSym[PosAngle=-90, SegmentSymbol=pstslashslashslash, + % PointName=P_{17}]{O}{P_1}{P_2}[P_17] + \pstInterCC[PosAngleA=90, PointSymbolB=none, PointNameB=none]{O}{P_1}{P_6}{P_5}{P_7}{H} + \pstInterCC[PosAngleA=100, PointSymbolB=none, PointNameB=none]{O}{P_1}{P_7}{P_6}{P_8}{H} + \pstInterCC[PosAngleA=135, PointSymbolB=none, PointNameB=none]{O}{P_1}{P_8}{P_7}{P_9}{H} + \pstOrtSym[PosAngle={-90,-90,-90,-100,-135}, %SegmentSymbol={default,pstslash,pstslashhh,circ,times,equiv}, + PointName={P_{17},P_{16},P_{14},P_{12},P_{11},P_{10}}] + {O}{P_1}{P_2,P_3,P_5,P_7,P_8,P_9}[P_17,P_16,P_14,P_12,P_11,P_10] + %\pstOrtSym[PosAngle=-100, SegmentSymbol=times, PointName=P_{11}]{O}{P_1}{P_8}[P_11] + %\pstOrtSym[PosAngle=-135, SegmentSymbol=equiv,PointName=P_{10}]{O}{P_1}{P_9}[P_10] + \pspolygon[linecolor=green, linestyle=solid, linewidth=2\pslinewidth] + (P_1)(P_2)(P_3)(P_4)(P_5)(P_6)(P_7)(P_8)(P_9) + (P_10)(P_11)(P_12)(P_13)(P_14)(P_15)(P_16)(P_17) \ No newline at end of file diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/gencur.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/gencur.tex new file mode 100644 index 00000000000..8e87479865f --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/gencur.tex @@ -0,0 +1,3 @@ +\begin{pspicture}(-2.5,-2.5)(2.5,1)%\psgrid% +\input{Exemples/gencur_in} +\end{pspicture} diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/gencur_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/gencur_in.tex new file mode 100644 index 00000000000..8adebdf17dc --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/gencur_in.tex @@ -0,0 +1,5 @@ +\psset{unit=.00625} +\pstGeonode{A} +\multido{\n=20+20}{18}{\pstGeonode[PointName=M_{\n}](\n;\n){M_\n}} +\pstGenericCurve[GenCurvFirst=A, GenCurvInc=20, + linecolor=blue, linewidth=.5\pslinewidth]{M_}{20}{360} \ No newline at end of file diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/geohyper.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/geohyper.tex new file mode 100644 index 00000000000..7f54846c252 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/geohyper.tex @@ -0,0 +1,7 @@ +\begin{pspicture}(-5,-5)(5,5) + \input{Exemples/geohyper_in} +\end{pspicture} +%%% Local Variables: +%%% mode: latex +%%% TeX-master: t +%%% End: diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/geohyper_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/geohyper_in.tex new file mode 100644 index 00000000000..cbd8887dfa7 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/geohyper_in.tex @@ -0,0 +1,38 @@ +\psclip{\pscircle(0,0){4}}%\psgrid + %\newlength{\radius}\setlength{\radius}{0cm} + %\newcounter{rapport}\setcounter{i}{1} + %\whiledo{\value{i}<100}{ + % \setlength{\radius}{4cm*\value{i}} + % \setcounter{rapport}{\value{i}+1} + % \divide\radius by \arabic{rapport} + % \pscircle[linestyle=dotted, linecolor=gray]% + % (0, 0){\radius} + % \setcounter{i}{\value{i}*2} + % } + \pstGeonode(1, 2){M}\pstGeonode(-2,2){N}\pstGeonode(0,-2){P}% + \psset{DrawCirABC=false, PointSymbol=none, PointName=none}% + \pstGeonode(0,0){O}\pstGeonode(4,0){A}\pstCircleOA{O}{A}% + \pstHomO[HomCoef=\pstDistAB{O}{A} 2 mul \pstDistAB{O}{M} sub + \pstDistAB{O}{M} div]{O}{M}[M']% + \pstHomO[HomCoef=\pstDistAB{O}{A} 2 mul \pstDistAB{O}{P} sub + \pstDistAB{O}{P} div]{O}{P}[P']% + \pstHomO[HomCoef=\pstDistAB{O}{A} 2 mul \pstDistAB{O}{N} sub + \pstDistAB{O}{N} div]{O}{N}[N']% + \psset{linecolor=green, linewidth=1.5pt}% + \pstCircleABC{M}{N}{M'}{OmegaMN}\pstArcOAB{OmegaMN}{N}{M}% + \pstCircleABC{M}{P}{M'}{OmegaMP}\pstArcOAB{OmegaMP}{M}{P}% + \pstCircleABC{N}{P}{P'}{OmegaNP}\pstArcOAB{OmegaNP}{P}{N}% + \psset{linecolor=blue} + %% la hauteur issue de M + \pstHomO[HomCoef=\pstDistAB{OmegaNP}{N} 2 mul \pstDistAB{OmegaNP}{M} sub + \pstDistAB{OmegaNP}{M} div]{OmegaNP}{M}[MH'] + \pstCircleABC{M}{M'}{MH'}{OmegaMH}\pstArcOAB{OmegaMH}{MH'}{M} + %% la hauteur issue de N + \pstHomO[HomCoef=\pstDistAB{OmegaMP}{M} 2 mul \pstDistAB{OmegaMP}{N} sub + \pstDistAB{OmegaMP}{N} div]{OmegaMP}{N}[NH'] + \pstCircleABC{N}{N'}{NH'}{OmegaNH}\pstArcOAB{OmegaNH}{N}{NH'} + %% la hauteur issue de P + \pstHomO[HomCoef=\pstDistAB{OmegaMN}{M} 2 mul \pstDistAB{OmegaMN}{P} sub + \pstDistAB{OmegaMN}{P} div]{OmegaMN}{P}[PH'] + \pstCircleABC{P}{P'}{PH'}{OmegaPH}\pstArcOAB{OmegaPH}{P}{PH'} +\endpsclip \ No newline at end of file diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/geonode.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/geonode.tex new file mode 100644 index 00000000000..8250e34620a --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/geonode.tex @@ -0,0 +1,3 @@ +\begin{pspicture}(-2,-2)(3,3)\psgrid + \input{Exemples/geonode_in} +\end{pspicture} diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/geonode_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/geonode_in.tex new file mode 100644 index 00000000000..18442d60d66 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/geonode_in.tex @@ -0,0 +1,13 @@ +\pstGeonode{A} +\pstGeonode[PosAngle=-135, PointNameSep=1.3](0,3){B_1} +\pstGeonode[PointSymbol=pentagon, dotscale=2, fillstyle=solid, + fillcolor=OliveGreen, PtNameMath=false, + PointName=$B_2$, linecolor=red](-2,1){B2} +\pstGeonode[PosAngle={90,0,-90}, PointSymbol={*,o}, + linestyle=dashed, CurveType=polygon, + PointNameSep={1em,2em,3mm}] + (1,2){M_1}(2,1){M_2}(1,0){M_3} +\pstGeonode[PosAngle={50,100,90}, PointSymbol={*,x,default}, + PointNameSep=3mm, CurveType=curve, + PointName={\alpha,\beta,\gamma,default}] + (-2,0){alpha}(-1,-2){beta}(0,-1){gamma}(2,-1.5){T} \ No newline at end of file diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/german_ra.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/german_ra.tex new file mode 100644 index 00000000000..7932e69964a --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/german_ra.tex @@ -0,0 +1,3 @@ +\begin{pspicture}(0,1)(5,6)%\psgrid + \input{Exemples/german_ra_in.tex} +\end{pspicture} diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/german_ra_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/german_ra_in.tex new file mode 100644 index 00000000000..44c7f732198 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/german_ra_in.tex @@ -0,0 +1,3 @@ +\pstTriangle(1,2){A}(4,2){B}(1,5){C} +\pstMarkAngle[MarkAngleRadius=.5, LabelSep=.3] + {B}{A}{C}{\boldmath$\cdot$} diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/grav.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/grav.tex new file mode 100644 index 00000000000..943eaaee0cd --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/grav.tex @@ -0,0 +1,3 @@ +\begin{pspicture}(-3,-2)(2,2)\psgrid + \input{Exemples/grav_in} +\end{pspicture} diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/grav_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/grav_in.tex new file mode 100644 index 00000000000..af1f1612b88 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/grav_in.tex @@ -0,0 +1,2 @@ +\pstTriangle[PointSymbol=none](1,1){A}(-1,-1){B}(-2,1){C} +\pstCGravABC{A}{B}{C}{G} diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/homothetie.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/homothetie.tex new file mode 100644 index 00000000000..f6c46d21708 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/homothetie.tex @@ -0,0 +1,4 @@ +%%%% -*-mode: latex; TeX-master: "euclide.tex" -*- +\begin{pspicture}(-2,-2)(2,2)\psgrid% + \input{Exemples/homothetie_in} +\end{pspicture} diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/homothetie_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/homothetie_in.tex new file mode 100644 index 00000000000..9d35f3d848a --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/homothetie_in.tex @@ -0,0 +1,6 @@ +\pstGeonode[PosAngle={0,-45}](.5,1){O}(-1.5,-1.2){A}(.5,-.8){B} +\pstHomO[HomCoef=.62, PosAngle=-45]{O}{A,B}[C,D] +\psset{linecolor=green, nodesep=-1} +\pstLineAB{A}{O}\pstLineAB{B}{O} +\psset{linecolor=red, nodesep=-.5} +\pstLineAB{A}{B}\pstLineAB{C}{D} diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/hyperbole.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/hyperbole.tex new file mode 100644 index 00000000000..fb5046651c2 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/hyperbole.tex @@ -0,0 +1,8 @@ +\begin{pspicture}[0](-4,-4)(4,4)%\psgrid + \psframe(-4,-4)(4,4) + \input{Exemples/hyperbole_in} +\end{pspicture} +%%% Local Variables: +%%% mode: latex +%%% TeX-master: t +%%% End: diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/hyperbole_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/hyperbole_in.tex new file mode 100644 index 00000000000..2f8dfa13a27 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/hyperbole_in.tex @@ -0,0 +1,54 @@ +\newcommand{\Sommet}{1.4142135623730951} +\newcommand{\PosFoyer}{2} +\newcommand{\HypAngle}{0} +\setcounter{i}{1} +\newcounter{CoefDiv}\setcounter{CoefDiv}{20} +\newcounter{Inc}\setcounter{Inc}{2} +\newcounter{n}\setcounter{n}{2} +%% rayon des cercles successifs utilisés pour trouver les points de H +%% on choisit \Rii=\Ri+2\Sommet (définition de l'hyperbole) +\newcommand{\Ri}{% c'est du postscript + \PosFoyer\space\Sommet\space sub \arabic{i}\space\arabic{CoefDiv}\space div add} +\newcommand{\Rii}{\Ri\space\Sommet\space 2 mul add} +\pstGeonode[PosAngle=90]{O}(\PosFoyer;\HypAngle){F} +\pstSymO[PosAngle=180]{O}{F}\pstLineAB{F}{F'} +%% TRACÉ DES ASYMPTOTES +\pstCircleOA{O}{F} +%% positionnement des deux sommets de H +\pstGeonode[PosAngle=-135](\Sommet;\HypAngle){S} +\pstGeonode[PosAngle=-45](-\Sommet;\HypAngle){S'} +%% l'intersection de la droite perpendiculaire à (FF') passant par S, +%% coupe les asymptotes sur le cercle de diamètre [FF'] (cette droite est une tangente) +\pstRotation[RotAngle=90, PointSymbol=none]{S}{O}[B] +\pstInterLC[PosAngleA=90, PosAngleB=-90]{S}{B}{O}{F}{A_1}{A_2} +\pstLineAB[nodesepA=-3,nodesepB=-5]{A_1}{O} +\pstLineAB[nodesepA=-3,nodesepB=-5]{A_2}{O} +%% cos(\Psi)=OS/OF (c-a-d \Sommet/\PosFoyer) +%% ici \sqrt(2)/2, donc \Psi=45 => hyperbole équilatère +\pstMarkAngle[LabelSep=.8, MarkAngleRadius=.7, arrows=->, + LabelSep=1.1]{F}{O}{A_1}{$\Psi$} +\ncline[linecolor=red]{A_1}{A_2} +\pstRightAngle[RightAngleSize=.15]{A_1}{S}{O} +\psset{PointName=none} +\whiledo{\value{n}<8}{% + \psset{RadiusA=\pstDistVal{\Ri},RadiusB=\pstDistVal{\Rii},PointSymbol=none} + \pstInterCC{F}{}{F'}{}{M\arabic{n}}{P\arabic{n}} + \pstInterCC{F'}{}{F}{}{M'\arabic{n}}{P'\arabic{n}} + %% bcp de points au début, moins ensuite + %% n -> numéro du point, i -> taille des cercles + %% Inc -> incrément variable de i (2^n) + \stepcounter{n}\addtocounter{i}{\value{Inc}} + \addtocounter{Inc}{\value{Inc}}}%% fin de whiledo +\psset{linecolor=blue} +%% tracé des quatres 1/2 branches de l'hyperbole +\pstGenericCurve[GenCurvFirst=S]{M}{2}{7} +\pstGenericCurve[GenCurvFirst=S]{P}{2}{7} +\pstGenericCurve[GenCurvFirst=S']{M'}{2}{7} +\pstGenericCurve[GenCurvFirst=S']{P'}{2}{7} +%% pour vérif le trace paramètrique +%\parametricplot[linecolor=black, linewidth=.25\pslinewidth]{-1}{1} +% {t dup tx@EcldDict begin sh exch ch end \Sommet\space mul exch +% \PosFoyer\space dup mul \Sommet\space dup mul sub sqrt mul} +%\parametricplot[linecolor=black, linewidth=.25\pslinewidth]{-1}{1} +% {t dup tx@EcldDict begin sh exch ch end neg \Sommet\space mul exch +% \PosFoyer\space dup mul \Sommet\space dup mul sub sqrt mul} diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/hypocyclo.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/hypocyclo.tex new file mode 100644 index 00000000000..f221a5f5153 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/hypocyclo.tex @@ -0,0 +1,21 @@ +\newcommand{\HypoCyclo}[4][100]{% + \def\R{#2}\def\petitR{#3}\def\NbPt{#4}% définitions locales pour lisibilité + %% Selon la valeur de R sur petitR : + %% 4 une astroïde -- 3 une deltoïde -- 2 un diamètre (!) + \def\Anglen{\n\space 360 \NbPt\space 1 add div mul} + \psset{PointSymbol=none,PointName=none} + \pstGeonode[PointSymbol={*,none},PointName={default,none}, PosAngle=0]{O}(\R;0){P} + \pstCircleOA{O}{P} + \pstHomO[HomCoef=\petitR\space\R\space div]{P}{O}[M] + \multido{\n=1+1}{\NbPt}{% + \pstRotation[RotAngle=\Anglen]{O}{M}[M\n] + \rput(M\n){\pstGeonode(\petitR;0){Q}} + \pstRotation[RotAngle=\Anglen]{M\n}{Q}[N] + \pstRotation[RotAngle=\n\space -360 \NbPt\space 1 add div + mul \R\space\petitR\space div mul, PointSymbol=*, PointName=none]% + {M\n}{N}[N\n] + \ifnum\n=#1 + \pstCircleOA{M\n}{N\n}\ncline{M\n}{N\n}% + {\psset{linecolor=red, linewidth=2\pslinewidth} + \pstArcOAB{M\n}{N\n}{N}\pstArcOAB{O}{P}{N}} + \fi}}%fin multido-newcommand diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/interCC.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/interCC.tex new file mode 100644 index 00000000000..ccd47eccfe2 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/interCC.tex @@ -0,0 +1,3 @@ +\begin{pspicture}(0,-1)(4,3)\psset{dash=2mm 2mm}\psgrid + \input{Exemples/interCC_in} +\end{pspicture} diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/interCC_bis_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/interCC_bis_in.tex new file mode 100644 index 00000000000..2d289f26564 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/interCC_bis_in.tex @@ -0,0 +1,13 @@ +\pstGeonode[PointName={\Omega,O}](3,-1){Omega}(1,-1){O} +\pstGeonode[PointSymbol=square, PosAngle={-90,90}](0,3){A}(2,2){B} +\psset{PointSymbol=o} +\pstCircleOA[linecolor=red, DistCoef=1 3 10 div add, Radius=\pstDistAB{A}{B}]{O}{} +\pstCircleOA[linecolor=Orange, Diameter=\pstDistAB{A}{B}]{O}{} +\pstCircleOA[linecolor=Violet, Radius=\pstDistAB{A}{B}]{Omega}{} +\pstCircleOA[linecolor=Purple, Diameter=\pstDistAB{A}{B}]{Omega}{} +\pstInterCC[DistCoef=1 3 10 div add, RadiusA=\pstDistAB{A}{B}, + DistCoef=none, RadiusB=\pstDistAB{A}{B}]{O}{}{Omega}{}{D}{E} +\pstInterCC[DiameterA=\pstDistAB{A}{B}, RadiusB=\pstDistAB{A}{B}]{O}{}{Omega}{}{F}{G} +\pstInterCC[DistCoef=1 3 10 div add, RadiusA=\pstDistAB{A}{B}, + DistCoef=none, DiameterB=\pstDistAB{A}{B}]{O}{}{Omega}{}{H}{I} +\pstInterCC[DiameterA=\pstDistAB{A}{B}, DiameterB=\pstDistAB{A}{B}]{O}{}{Omega}{}{J}{K} diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/interCC_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/interCC_in.tex new file mode 100644 index 00000000000..6e4f376a05d --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/interCC_in.tex @@ -0,0 +1,9 @@ +\rput{10}{% + \pstGeonode[PosAngle={0,-90,-90,90}] + (1,-1){O}(2,1){A}(2,0.1){B}(2.5,1){C}} +\pstCircleOA[linecolor=red]{C}{B} +\pstInterCC[PosAngleA=135, CodeFigA=true, CodeFigAarc=false, + CodeFigColor=magenta]{O}{A}{C}{B}{D}{E} +\pstInterCC[PointSymbolB=none, PointNameB=none, + PosAngleA=170, CodeFigA=true, CodeFigAarc=false, + CodeFigColor=green]{B}{E}{C}{B}{F}{G} diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/interDC.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/interDC.tex new file mode 100644 index 00000000000..8049edefa99 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/interDC.tex @@ -0,0 +1,3 @@ +\begin{pspicture}(-3,-2)(4,4)\psgrid% + \input{Exemples/interDC_in} +\end{pspicture} diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/interDC_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/interDC_in.tex new file mode 100644 index 00000000000..f9fc5cfd7ac --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/interDC_in.tex @@ -0,0 +1,15 @@ +\pstGeonode[PosAngle={-135,80,0}](-1,0){B}(3,-1){C}(-.9,.5){O}(0,2){A} +\pstGeonode(-2,3){I} +\pstCircleOA[linecolor=red]{O}{A} +\pstInterLC[PosAngle=-80]{C}{B}{O}{A}{D}{E} +\pstInterLC[PosAngleB=60, Radius=\pstDistAB{O}{D}] + {I}{C}{O}{}{F}{G} +\pstInterLC[PosAngleB=180, DistCoef=1.3, + Diameter=\pstDistAB{O}{D}] + {I}{B}{O}{}{H}{J} +\pstCircleOA[linecolor=red, DistCoef=1.3, + Diameter=\pstDistAB{O}{D}]{O}{} +\psset{nodesep=-1} +\pstLineAB[linecolor=green]{E}{C} +\pstLineAB[linecolor=cyan]{I}{C} +\pstLineAB[linecolor=magenta]{J}{I} diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/interDD.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/interDD.tex new file mode 100644 index 00000000000..8c8b90667aa --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/interDD.tex @@ -0,0 +1,3 @@ +\begin{pspicture}(-1,-2)(4,3)\psset{unit=.8}\psgrid + \input{Exemples/interDD_in} +\end{pspicture} diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/interDD_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/interDD_in.tex new file mode 100644 index 00000000000..321bbaa82f3 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/interDD_in.tex @@ -0,0 +1,4 @@ +\pstGeonode(0,-1){A}(3,2){B}(3,0){C}(1,2){D} +\pstInterLL[PointSymbol=square]{A}{B}{C}{D}{E} +\psset{linecolor=blue, nodesep=-1} +\pstLineAB{A}{B}\pstLineAB{C}{D} diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/interFC.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/interFC.tex new file mode 100644 index 00000000000..4dd809b1255 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/interFC.tex @@ -0,0 +1,8 @@ +\psset{unit=.8} +\begin{pspicture}[.5](-3,-4)(3,4)%\psgrid + \input{Exemples/interFC_in} +\end{pspicture} +%%% Local Variables: +%%% mode: latex +%%% TeX-master: t +%%% End: diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/interFC_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/interFC_in.tex new file mode 100644 index 00000000000..3c473da4ee7 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/interFC_in.tex @@ -0,0 +1,12 @@ +\def\F{x 180 mul 3.1415926 div cos 2 mul} +\pstGeonode(0.3,-1){O}(2,.5){M} +\ncline[linecolor=blue, arrowscale=2]{->}{O}{M} +\psaxes{->}(0,0)(-3,-3)(3,4) +\psplot[linewidth=2\pslinewidth, linecolor=gray]{-3.14}{3.14}{\F} +\psset{PointSymbol=*} +\pstCircleOA{O}{M} +\psset{PointSymbol=o} +\pstInterFC{\F}{O}{M}{1}{N_0} +\pstInterFC{\F}{O}{M}{-1}{N_1} +\pstInterFC{\F}{O}{M}{-2}{N_2} +\pstInterFC{\F}{O}{M}{2}{N_3} diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/interFF.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/interFF.tex new file mode 100644 index 00000000000..354b0ff9381 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/interFF.tex @@ -0,0 +1,8 @@ +\begin{pspicture}[.5](-3,-1)(2,4) + \input{Exemples/interFF_in} +\end{pspicture} + +%%% Local Variables: +%%% mode: latex +%%% TeX-master: t +%%% End: diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/interFF_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/interFF_in.tex new file mode 100644 index 00000000000..c05b27959ea --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/interFF_in.tex @@ -0,0 +1,7 @@ +\psaxes{->}(0,0)(-2,0)(2,4) +\psset{linewidth=2\pslinewidth} +\psplot[linecolor=gray]{-2}{2}{x 2 exp} +\psplot{-2}{2}{2 x 2 div sub} +\psset{PointSymbol=o} +\pstInterFF{2 x 2 div sub}{x 2 exp}{1}{M_1} +\pstInterFF{2 x 2 div sub}{x 2 exp}{-2}{M_0} diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/interFL.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/interFL.tex new file mode 100644 index 00000000000..a900ddd0ceb --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/interFL.tex @@ -0,0 +1,8 @@ +\psset{unit=.8} +\begin{pspicture}(-3,-1.5)(3,4)%\psgrid + \input{Exemples/interFL_in} +\end{pspicture} +%%% Local Variables: +%%% mode: latex +%%% TeX-master: t +%%% End: diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/interFL_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/interFL_in.tex new file mode 100644 index 00000000000..85a05562651 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/interFL_in.tex @@ -0,0 +1,10 @@ +\def\F{x 3 exp 3 div x sub 2 3 div add .0001 add} +\psaxes{->}(0,0)(-3,-1)(3,4) +\psplot[linewidth=2\pslinewidth, linecolor=gray]{-2.5}{2.5}{\F} +\psset{PointSymbol=*} +\pstGeonode[PosAngle={-45,0}](0,-.2){N}(2.5,1){M} +\pstLineAB[nodesepA=-3cm]{N}{M} +\psset{PointSymbol=o} +\pstInterFL{\F}{N}{M}{2}{A} +\pstInterFL[PosAngle=90]{\F}{N}{M}{0}{A'} +\pstInterFL{\F}{N}{M}{-2}{A''} \ No newline at end of file diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/mediator.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/mediator.tex new file mode 100644 index 00000000000..9a3e17deda0 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/mediator.tex @@ -0,0 +1,8 @@ +\begin{pspicture}(6,6)\psgrid + \input{Exemples/mediator_in} +\end{pspicture} + +%%% Local Variables: +%%% mode: latex +%%% TeX-master: t +%%% End: diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/mediator_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/mediator_in.tex new file mode 100644 index 00000000000..efc7c53eaa6 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/mediator_in.tex @@ -0,0 +1,9 @@ +\pstTriangle[PointSymbol=none](3.5,1){A}(1,4){B}(5,4.2){C} +\psset{linecolor=red, CodeFigColor=red, nodesep=-1} +\pstMediatorAB[PointSymbolA=none]{A}{B}{I}{M_I} +\psset{PointSymbol=none, PointNameB=none} +\pstMediatorAB[CodeFig=true] + {A}{C}{J}{M_J} +\pstMediatorAB[PosAngleA=45, linecolor=blue] + {C}{B}{K}{M_K} + diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/milieu.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/milieu.tex new file mode 100644 index 00000000000..02687041b3c --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/milieu.tex @@ -0,0 +1,3 @@ +\begin{pspicture}(-3,-2)(2,2)\psgrid + \input{Exemples/milieu_in} +\end{pspicture} diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/milieu_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/milieu_in.tex new file mode 100644 index 00000000000..f4d9ae815db --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/milieu_in.tex @@ -0,0 +1,4 @@ +\pstTriangle[PointSymbol=none](1,1){A}(-1,-1){B}(-2,1){C} +\pstMiddleAB{A}{B}{C'} +\pstMiddleAB{C}{A}{B'} +\pstMiddleAB{B}{C}{A'} diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/oij.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/oij.tex new file mode 100644 index 00000000000..82379389f36 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/oij.tex @@ -0,0 +1,5 @@ +{\psset{unit=.7} +\begin{pspicture*}(-4,-4)(4,4)%\psgrid + \input{Exemples/oij_in} +\end{pspicture*} +} \ No newline at end of file diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/oij_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/oij_in.tex new file mode 100644 index 00000000000..9fb0c9c59a6 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/oij_in.tex @@ -0,0 +1,12 @@ +\pstGeonode[PosAngle={-135,-90,180}]{O}(1,0.5){I}(0.5,2){J} +\pstLineAB[nodesep=10]{O}{I} +\pstLineAB[nodesep=10]{O}{J} +\multips(-5,-2.5)(1,0.5){11}{\psline(0,-.15)(0,.15)} +\multips(-2,-8)(0.5,2){9}{\psline(-.15,0)(.15,0)} +\psset{linestyle=dotted}% +\multips(-5,-2.5)(1,0.5){11}{\psline(-10,-40)(10,40)} +\multips(-2,-8)(0.5,2){9}{\psline(-10,-5)(10,5)} +\psset{PointSymbol=x, linestyle=solid} +\pstOIJGeonode[PosAngle={-90,0}, CurveType=curve, + linecolor=red] + (3,1){A}{O}{I}{J}(-2,1){B}(-1,-1.5){C}(2,-1){D} diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/orthocentre.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/orthocentre.tex new file mode 100644 index 00000000000..8263598c070 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/orthocentre.tex @@ -0,0 +1,3 @@ +\begin{pspicture}(-2,-2)(3.5,2)\psset{CodeFig=true, unit=.75}\psgrid + \input{Exemples/orthocentre_in} +\end{pspicture} diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/orthocentre_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/orthocentre_in.tex new file mode 100644 index 00000000000..9dddcf7ac65 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/orthocentre_in.tex @@ -0,0 +1,7 @@ +\psset{CodeFig=true, PointSymbol=none} +\pstTriangle[PosAngleA=180](-1,0){A}(3,-1){B}(3,2){C} +\pstProjection[PosAngle=-90]{B}{A}{C} +\pstProjection{B}{C}{A} +\pstProjection[PosAngle=90]{A}{C}{B} +\pstInterLL[PosAngle=135, PointSymbol=square] + {A}{A'}{B}{B'}{H} diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/orthoethyper.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/orthoethyper.tex new file mode 100644 index 00000000000..7ebbbf6e642 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/orthoethyper.tex @@ -0,0 +1,7 @@ +\begin{pspicture}(-11,-10)(11,10)\psframe(-11,-10)(11,10)%\psgrid + \input{Exemples/orthoethyper_in} +\end{pspicture} +%%% Local Variables: +%%% mode: latex +%%% TeX-master: t +%%% End: diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/orthoethyper_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/orthoethyper_in.tex new file mode 100644 index 00000000000..fcb7a737be0 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/orthoethyper_in.tex @@ -0,0 +1,16 @@ +\psset{linecolor=blue, linewidth=2\pslinewidth} +\psplot{-10}{-.1}{1 x div} +\psplot{.1}{10}{1 x div} +\psset{PointSymbol=none, linewidth=.5\pslinewidth} +\pstTriangle[linecolor=magenta, PosAngleB=-85, PosAngleC=-90](.2,5){A}(1,1){B}(10,.1){C} +%\pstTriangle[linecolor=magenta, PosAngleB=-135](.2, 5){A}(-1,-1){B}(10,.1){C} +\psset{linecolor=magenta, CodeFig=true, CodeFigColor=red} +\pstProjection{B}{A}{C} +\ncline[nodesepA=-1, linestyle=dashed, linecolor=magenta]{C'}{B} +\pstProjection{B}{C}{A} +\ncline[nodesepA=-1, linestyle=dashed, linecolor=magenta]{A'}{B} +\pstProjection{A}{C}{B} +\pstInterLL[PosAngle=135, PointSymbol=square]{A}{A'}{B}{B'}{H} +\psset{linecolor=green, nodesep=-1} +\pstLineAB{A}{H}\pstLineAB{B'}{H}\pstLineAB{C}{H} +\psdot[dotstyle=square](H) diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/parabole.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/parabole.tex new file mode 100644 index 00000000000..fa05863fd50 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/parabole.tex @@ -0,0 +1,4 @@ +\begin{pspicture}[.5](0,.5)(11,10.5)%\psgrid + \psframe(0,.5)(11,10.5) + \input{Exemples/parabole_in.tex} +\end{pspicture} \ No newline at end of file diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/parabole_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/parabole_in.tex new file mode 100644 index 00000000000..172fb51e113 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/parabole_in.tex @@ -0,0 +1,24 @@ +\psset{linewidth=1.2\pslinewidth}\renewcommand{\NbPt}{11} +\pstGeonode[PosAngle={0,-90}](5,4){O}(1,2){A}(9,1.5){B} +\newcommand{\Parabole}[1][100]{% + \pstLineAB[nodesep=-.9, linecolor=green]{A}{B} + \psset{RotAngle=90, PointSymbol=none, PointName=none} + \multido{\n=1+1}{\NbPt}{% + \pstHomO[HomCoef=\n\space \NbPt\space 1 add div]{A}{B}[M\n] + \pstMediatorAB[linestyle=none]{M\n}{O}{M\n_I}{M\n_IP} + \pstRotation{M\n}{A}[M\n_P] + \pstInterLL[PointSymbol=square, PointName=none]{M\n_I}{M\n_IP}{M\n}{M\n_P}{P_\n} + \ifnum\n=#1 + \bgroup + \pstRightAngle{A}{M\n}{M\n_P} + \psset{linewidth=.5\pslinewidth, nodesep=-1, linecolor=blue} + \pstLineAB{M\n_I}{P_\n}\pstLineAB{M\n}{P_\n} + \pstRightAngle{P_\n}{M\n_I}{M\n} + \psset{linecolor=red}\pstSegmentMark{M\n}{M\n_I}\pstSegmentMark{M\n_I}{O} + \egroup + \fi}}%fin multido-newcommand +\Parabole[2]\pstGenericCurve[linecolor=magenta]{P_}{1}{\NbPt} +%% Nouvelle parabole avec un nouveau point B +\pstGeonode[PointSymbol=*, PosAngle=-90](10,3.5){B} +\psset{linestyle=dashed} +\Parabole\pstGenericCurve[linecolor=magenta]{P_}{1}{\NbPt} diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/projection.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/projection.tex new file mode 100644 index 00000000000..c5b56aaf7e7 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/projection.tex @@ -0,0 +1,4 @@ +%%%% -*-mode: latex; TeX-master: "euclide.tex" -*- +\begin{pspicture}(-3,-2)(2,2)\psgrid + \input{Exemples/projection_in} +\end{pspicture} diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/projection_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/projection_in.tex new file mode 100644 index 00000000000..1db01dec23a --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/projection_in.tex @@ -0,0 +1,5 @@ +\psset{PointSymbol=none,CodeFig=true, CodeFigColor=red} +\pstTriangle(1,1){A}(-2,1){C}(-1,-1){B} +\pstProjection{A}{B}{C}[I] +\pstProjection{A}{C}{B}[J] +\pstProjection{C}{B}{A}[K] diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/ptfermat.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/ptfermat.tex new file mode 100644 index 00000000000..dea19de574a --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/ptfermat.tex @@ -0,0 +1,7 @@ +\begin{pspicture}(-7,-6)(5,5)%\psgrid + \input{Exemples/ptfermat_in} +\end{pspicture} +%%% Local Variables: +%%% mode: latex +%%% TeX-master: t +%%% End: diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/ptfermat_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/ptfermat_in.tex new file mode 100644 index 00000000000..bc4754b3f70 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/ptfermat_in.tex @@ -0,0 +1,17 @@ +\psset{PointSymbol=none, PointName=none} +\pstTriangle[PosAngleA=-160, PosAngleB=90, PosAngleC=-25]% + (-3,-2){B}(0,3){A}(2,-1){C}% +\psset{RotAngle=-60} +\pstRotation[PosAngle=-90]{B}{C}[A'] +\pstRotation{C}{A}[B'] +\pstRotation[PosAngle=160]{A}{B}[C'] +\pstLineAB{A}{B'} +\pstLineAB{C}{B'} +\pstLineAB{B}{A'} +\pstLineAB{C}{A'} +\pstLineAB{B}{C'} +\pstLineAB{A}{C'} +\pstCircleABC[linecolor=red]{A}{B}{C'}{O_1} +\pstCircleABC[linecolor=blue]{A}{C}{B'}{O_2} +\pstCircleABC[linecolor=Aquamarine]{A'}{C}{B}{O_3} +\pstInterCC[PointSymbolA=none]{O_1}{A}{O_2}{A}{E}{F} diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/remarq.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/remarq.tex new file mode 100644 index 00000000000..5f25c33e1a3 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/remarq.tex @@ -0,0 +1,8 @@ +\begin{pspicture}(-3,-2)(3,3)%\psgrid + \input{Exemples/remarq_in} +\end{pspicture} + +%%% Local Variables: +%%% mode: latex +%%% TeX-master: "~/TeX/Inputs/Doc/Euclide/euclide" +%%% End: diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/remarq_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/remarq_in.tex new file mode 100644 index 00000000000..333a7a23e1a --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/remarq_in.tex @@ -0,0 +1,26 @@ +\psset{PointSymbol=none} +\pstTriangle[PointSymbol=none](-2,-1){A}(1,2){B}(2,0){C} +% les médiatrices +{% encapsulation de modif paramètres + \psset{linestyle=none, PointNameB=none} + \pstMediatorAB{A}{B}{K}{KP} + \pstMediatorAB[PosAngleA=-40]{C}{A}{J}{JP} + \pstMediatorAB[PosAngleA=75]{B}{C}{I}{IP} +}% fin +\pstInterLL[PointSymbol=square, PosAngle=-170]{I}{IP}{J}{JP}{O} +{% encapsulation de modif paramètres + \psset{nodesep=-.8, linecolor=green} + \pstLineAB{O}{I}\pstLineAB{O}{J}\pstLineAB{O}{K} +}% fin +\pstCircleOA[linecolor=red]{O}{A} +% pour que le symbol de O soit sur et non sous les droites +\psdot[dotstyle=square](O) +% les hauteurs et l'orthocentre +\pstProjection{B}{A}{C} +\pstProjection{B}{C}{A} +\pstProjection{A}{C}{B} +\psset{linecolor=blue}\ncline{A}{A'}\ncline{C}{C'}\ncline{B}{B'} +\pstInterLL[PointSymbol=square]{A}{A'}{B}{B'}{H} +% les médianes et le centre de gravité +\psset{linecolor=magenta}\ncline{A}{I}\ncline{C}{K}\ncline{B}{J} +\pstCGravABC[PointSymbol=square, PosAngle=95]{A}{B}{C}{G} diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/rotation.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/rotation.tex new file mode 100644 index 00000000000..8c6e75d59c4 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/rotation.tex @@ -0,0 +1,4 @@ +%%%% -*-mode: latex; TeX-master: "euclide.tex" -*- +\begin{pspicture}(-2,-2)(2,2)\psgrid% + \input{Exemples/rotation_in} +\end{pspicture} diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/rotation_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/rotation_in.tex new file mode 100644 index 00000000000..aa94079d041 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/rotation_in.tex @@ -0,0 +1,8 @@ +\psset{arrowscale=2} +\pstGeonode[PosAngle=-135](-1.5,-.2){A}(.5,.2){B}(0,-2){D} +\pstRotation[PosAngle=90, RotAngle=60, CodeFig=true, + CodeFigColor=blue, + TransformLabel=\frac{\pi}{3}]{A}{B}[C] +\pstRotation[AngleCoef=.5, RotAngle=\pstAngleAOB{B}{A}{C}, + CodeFigColor=red, CodeFig=true, + TransformLabel=\frac{1}{2}\widehat{BAC}]{A}{D}[E] \ No newline at end of file diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/segmentmark.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/segmentmark.tex new file mode 100644 index 00000000000..13820387da8 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/segmentmark.tex @@ -0,0 +1,3 @@ +\begin{pspicture}(-2,-2)(2,2)\psgrid + \input{Exemples/segmentmark_in} +\end{pspicture} diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/segmentmark_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/segmentmark_in.tex new file mode 100644 index 00000000000..ef41b925093 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/segmentmark_in.tex @@ -0,0 +1,9 @@ +\rput{18}{% + \pstGeonode[PosAngle={0,90,180,-90}](2,0){A}(2;72){B} + (2;144){C}(2;216){D}(2;288){E}} +\pstSegmentMark{A}{B} +\pstSegmentMark[linecolor=green]{B}{C} +\psset{linewidth=2\pslinewidth} +\pstSegmentMark[linewidth=2\pslinewidth]{C}{D} +\pstSegmentMark{D}{E} +\pstSegmentMark{E}{A} \ No newline at end of file diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/symcentrale.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/symcentrale.tex new file mode 100644 index 00000000000..25b895898a4 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/symcentrale.tex @@ -0,0 +1,4 @@ +%%%% -*-mode: latex; TeX-master: "euclide.tex" -*- +\begin{pspicture}(-2,-2)(2,2)\psgrid + \input{Exemples/symcentrale_in} +\end{pspicture} \ No newline at end of file diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/symcentrale_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/symcentrale_in.tex new file mode 100644 index 00000000000..3b593412700 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/symcentrale_in.tex @@ -0,0 +1,7 @@ +\psset{CodeFig=true} +\pstGeonode[PosAngle={20,90,0}]{O}(-.6,1.5){A}(1.6,-.5){B} +\pstSymO[CodeFigColor=blue, PosAngle={-90,180}]{O}{A, B}[C, D] +%\pstSymO[SegmentSymbol=pstslash, PosAngle=180] +% {O}{B}{D} +\pstLineAB{A}{B}\pstLineAB{C}{D} +\pstLineAB{A}{D}\pstLineAB{C}{B} diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/symorthogonale.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/symorthogonale.tex new file mode 100644 index 00000000000..66d51da160e --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/symorthogonale.tex @@ -0,0 +1,4 @@ +\psset{unit=.6}% +\begin{pspicture}(0,-2)(8,7)\psgrid + \input{Exemples/symorthogonale_in} +\end{pspicture} diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/symorthogonale_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/symorthogonale_in.tex new file mode 100644 index 00000000000..ce41b552ffa --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/symorthogonale_in.tex @@ -0,0 +1,8 @@ +\pstTriangle(1,3){B}(5,5){C}(4,1){A} +\pstOrtSym{A}{B}{C}[D] +\psset{CodeFig=true} +\pstOrtSym[dash=2mm 2mm, CodeFigColor=red] + {C}{B}{A} +\pstOrtSym[SegmentSymbol=pstslash, linestyle=dotted, + dotsep=3mm, CodeFigColor=blue] + {C}{A}{B} diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/tg1c.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/tg1c.tex new file mode 100644 index 00000000000..80c5c562820 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/tg1c.tex @@ -0,0 +1,7 @@ +\begin{pspicture}(15,10)%\psgrid + \input{Exemples/tg1c_in.tex} +\end{pspicture} +%%% Local Variables: +%%% mode: latex +%%% TeX-master: t +%%% End: diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/tg1c_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/tg1c_in.tex new file mode 100644 index 00000000000..9b934d0e80b --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/tg1c_in.tex @@ -0,0 +1,8 @@ +\pstGeonode(5, 5){O}(14,2){M} +\pstCircleOA[Radius=\pstDistVal{4}]{O}{} +\pstMiddleAB[PointSymbol=none, PointName=none]{O}{M}{O'} +\pstInterCC[RadiusA=\pstDistVal{4}, DiameterB=\pstDistAB{O}{M}, + CodeFigB=true, CodeFigColor=magenta, PosAngleB=45] + {O}{}{O'}{}{A}{B} +\psset{linecolor=red, linewidth=1.3\pslinewidth, nodesep=-2} +\pstLineAB{M}{A}\pstLineAB{M}{B} diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/tg2c.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/tg2c.tex new file mode 100644 index 00000000000..9b02a99bd37 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/tg2c.tex @@ -0,0 +1,7 @@ +\begin{pspicture}(-2,0)(13,9)%\psgrid + \input{Exemples/tg2c_in} +\end{pspicture} +%%% Local Variables: +%%% mode: latex +%%% TeX-master: t +%%% End: diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/tg2c_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/tg2c_in.tex new file mode 100644 index 00000000000..53015c9f722 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/tg2c_in.tex @@ -0,0 +1,18 @@ +\pstGeonode(9,3){O}(3,6){O'}\psset{PointSymbol=none, PointName=none} +\pstCircleOA[Radius=\pstDistVal{3}] + {O}{}\pstCircleOA[Radius=\pstDistVal{1}]{O'}{} +\pstInterLC[Radius=\pstDistVal{3}]{O}{O'}{O}{}{M}{toto} +\pstInterLC[Radius=\pstDistVal{1}]{O}{O'}{O'}{}{M'}{toto} +\pstRotation[RotAngle=30]{O}{M}[N] +\pstRotation[RotAngle=30]{O'}{M'}[N'] +\pstInterLL[PointSymbol=default, PointName=\Omega]{O}{O'}{N}{N'}{Omega} +\pstMiddleAB{O}{Omega}{I} +\pstInterCC{I}{O}{O}{M}{A}{B} +\psset{nodesepA=-1, nodesepB=-3, linecolor=blue, linewidth=1.3\pslinewidth} +\pstLineAB[nodesep=-2]{A}{Omega}\pstLineAB[nodesep=-2]{B}{Omega} +\pstRotation[RotAngle=-150]{O'}{M'}[N''] +\pstInterLL[PointSymbol=default, PointName=\Omega']{O}{O'}{N}{N''}{Omega'} +\pstMiddleAB{O}{Omega'}{J} +\pstInterCC{J}{O}{O}{M}{A'}{B'} +\psset{nodesepA=-1, nodesepB=-3, linecolor=red} +\pstLineAB{A'}{Omega'}\pstLineAB{B'}{Omega'} diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/translation.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/translation.tex new file mode 100644 index 00000000000..1e71eece32a --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/translation.tex @@ -0,0 +1,4 @@ +%%%% -*-mode: latex; TeX-master: "euclide.tex" -*- +\begin{pspicture}(-2,-2)(2,2)\psgrid% + \input{Exemples/translation_in} +\end{pspicture} diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/translation_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/translation_in.tex new file mode 100644 index 00000000000..a35bd545b00 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/translation_in.tex @@ -0,0 +1,7 @@ +\psset{linecolor=green, nodesep=-1, PosAngle=90,arrowscale=2} +\pstGeonode(-1.5,-1.2){A}(.5,-.8){B}(.5,1){C}(-1,0){D}(-2,-2){E} +\pstTranslation{B}{A}{C} +\psset{CodeFig=true, TransformLabel=default} +\pstTranslation{A}{B}{D} +\pstTranslation[DistCoef=1.5]{A}{B}{E} +\pstLineAB{A}{B}\pstLineAB{C}{C'} diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/triangle.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/triangle.tex new file mode 100644 index 00000000000..9c1f3b96111 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/triangle.tex @@ -0,0 +1,4 @@ +%%%% -*-mode: latex; TeX-master: "euclide.tex" -*- +\begin{pspicture}(-2,-2)(2,2)\psgrid + \input{Exemples/triangle_in} +\end{pspicture} diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Exemples/triangle_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/triangle_in.tex new file mode 100644 index 00000000000..8ee76189615 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/Exemples/triangle_in.tex @@ -0,0 +1,3 @@ +\pstTriangle[PointSymbol=square, PointSymbolC=o, + linecolor=blue, linewidth=1.5\pslinewidth] + (1.5,-1){A}(0,1){B}(-1,-.5){C} diff --git a/Master/texmf-dist/doc/generic/pst-eucl/README b/Master/texmf-dist/doc/generic/pst-eucl/README new file mode 100644 index 00000000000..c03643e99ac --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/README @@ -0,0 +1,115 @@ + Geometry and PsTricks + the pst-eucl package + + +VERSION 1.3 +DATE September 2004 + +LICENCE +------- + +This program can be redistributed and/or modified under the terms +of the LaTeX Project Public License Distributed from CTAN +archives in directory macros/latex/base/lppl.txt. + +However, you MUST send me an Email with a small commentary! + +Then you should consider making a donation: + + 1. directly to the LaTeX3 team; + 2. and/or to me for the support of this package (choose one of the three) + a. $1 or 1 euro (or more), + b. some beautiful stamps (cancelled or not) of your country + (for my children), + c. a beautiful postcard with a beautiful stamp on it. + + my address: + Les Galinières + 07460 Saint André de Cruzières + FRANCE + +INSTALLATION +------------ + + for teTeX : + ----------- + + If you want to just test it quickly, keep the files: + + pst-eucl.pro, pst-eucl.tex and pst-eucl.sty + + in the directory where you work. + + For a good integration: + + copy pst-eucl.pro to your local texmf directory : + + /usr/local/texmf.local/dvips/pstricks (for example) + + pst-eucl.tex and pst-eucl.sty to a directory referenced + by the TEXCONFIG shell global variable, or in the local texmf + directory : + + /usr/local/texmf.local/tex/generic/pstricks + + run `texhash` + + if you don't have a local texmf directory, you can create it or ask + the root to create it by modifying the file: + + $(TEXMF)/web2c/texmf.cnf + + remove the original for the first line: + +% original texmf.cnf -- runtime path configuration file for kpathsea. + ^^^^^^^^ + + uncomment the line for declaring the local directory and + choose where to store it: + +TEXMFLOCAL = /usr/local/texmf.local + + add this directory to the TEXMF directory list: + +TEXMF = {$TEXMFLOCAL,!!$TEXMFMAIN} + + normally it should work now! + + create the complete directory structure you want to use: + +mkdir /usr/local/texmf.local +mkdir /usr/local/texmf.local/tex +mkdir /usr/local/texmf.local/tex/generic +mkdir /usr/local/texmf.local/tex/generic/pstricks +mkdir /usr/local/texmf.local/dvips +mkdir /usr/local/texmf.local/dvips/pstricks + + for Window$ : Ooops (I don't know) + ----------- + + If you use fpTeX, it should be similar as teTeX, look for the + texmf.local directory at the root of the texmf directory. + + anyway, the simplest is to keep these three files in the + directory where you work! + +DOCUMENTATION +------------- + + a ps and a dvi files are provided. In order to build them, just + run LaTeX on euclide.tex (latex euclide). Depending of your TeX + engine you may run out of memory... + +EXAMPLES +-------- + + The directory Exemples contains all the exemples of the + documentation. Each example is divided in two files: + + o .tex which contains the pspicture declaration and an + include to the second file, + o _in.tex which contains the exemple. + + In order to use them, you can merge both files and include + them in a LaTeX file. + diff --git a/Master/texmf-dist/doc/generic/pst-eucl/euclide.pdf b/Master/texmf-dist/doc/generic/pst-eucl/euclide.pdf new file mode 100644 index 00000000000..51ee979796f Binary files /dev/null and b/Master/texmf-dist/doc/generic/pst-eucl/euclide.pdf differ diff --git a/Master/texmf-dist/doc/generic/pst-eucl/euclide.sty b/Master/texmf-dist/doc/generic/pst-eucl/euclide.sty new file mode 100644 index 00000000000..818a1d9ba1b --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/euclide.sty @@ -0,0 +1,139 @@ +%% Package style for the pst-eucl documentation package +\DeclareOption{french}{\gdef\euclide@language{frenchb}}% +\def\fileversion{1.0} +\def\filedate{2005/01/19}% +%% This program can be redistributed and/or modified under the terms +%% of the LaTeX Project Public License Distributed from CTAN +%% archives in directory macros/latex/base/lppl.txt. +\csname EuclideManualLoaded\endcsname +\let\EuclideManualLoaded\endinput +\def\@english{english}% +\def\@frenchb{frenchb}% +\def\euclide@language{english}% +\ProcessOptions +\message{`Euclide manual package v\fileversion, \filedate\space (Dominique RODRIGUEZ)}% +\message{ all declarations for the pst-eucl manual}% +\message{ BEWARE you are using the \euclide@language\ language setting}% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%\PassOptionsToPackage{greek}{babel}%%\PassOptionsToPackage{LGR}{fontenc} +\usepackage[T1]{fontenc} +%\expandafter\ifx\csname PDF\endcsname\relax\else +\usepackage{ae,aecompl,aeguill} +%\usepackage{pslatex}%for generating a pdf-file with ps2pdf +%\fi +\usepackage[\euclide@language]{babel} +\usepackage[latin1]{inputenc} +\usepackage[a4paper]{geometry} +\usepackage[usenames]{pstcol} +\usepackage{pst-eucl} +\usepackage{pst-plot} +\usepackage{ifthen} +\usepackage{calc} +\usepackage{array} +\usepackage{moreverb} +\usepackage{multicol} +\usepackage{mathrsfs} +\usepackage{changebar} +\usepackage{xspace} +\usepackage{fancyhdr} +\usepackage{multind} +\usepackage{textcomp} +%\usepackage{yhmath} +\usepackage{longtable} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% QQ DEFINITIONS +\def\Vecteur#1{\ensuremath{\overrightarrow{#1\hspace{.3em}}}}% +\def\Angle#1{\ensuremath{\widehat{#1}}}% +\def\Segment#1{\ensuremath{[#1]}}% +\def\Arg#1{{\normalfont$\{$\@Arg{#1}$\}$}}% +\def\Argsans#1{\@Arg{#1}}% +\def\OptArg#1{{\normalfont[{\@Arg{#1}}]}}% +\def\@Arg#1% + {$\protect\langle${\itshape\mdseries\rmfamily#1}$\protect\rangle$}% +%% le backslash \ +\newcommand{\bs}{\symbol{'134}}% +\newcommand{\defcom}[3][\null]{% + \begin{trivlist}\item\fbox{\texttt{\upshape\bs#2}#3}\end{trivlist} + \glossary{#2}%%pour le numéro de page dans le glossaire des commandes + \glossary{#2!\protect\indexcom{#2}\protect#3}% pour le glossaire + \Glos{#2}{\protect\indexcom{#2}\protect#3}{\hspace{1.5em}#1}% +}% +\newcommand{\Glos}[3]{\glossary{#1!#2!#3}}% +\newcommand{\indexcom}[1]% + {\textmd{\texttt{\upshape\bs#1}}}% +% {\index{latex}{#1@{\texttt{\upshape\bs#1}}}\textmd{\texttt{\upshape\bs#1}}}% +\newcommand{\ComUnDescr}{\null} +\newcommand{\ComDeuxDescr}{\null} +\newcommand{\defcomdeux}[4]{% + \begin{center}% + \begin{minipage}[t]{.45\linewidth}% + \begin{trivlist}\item\fbox{\texttt{\upshape\bs#1}#2}\end{trivlist}% + \glossary{#3}%%pour le numéro de page dans le glossaire des commandes + \glossary{#1!\protect\indexcom{#1}\protect#2}% pour le glossaire + \Glos{#1}{\protect\indexcom{#1}\protect#2}{\hspace{1.5em}\expandafter\ComUnDescr}% + \end{minipage}% + \hfill% + \begin{minipage}[t]{.45\linewidth}% + \begin{trivlist}\item\fbox{\texttt{\upshape\bs#3}#4}\end{trivlist}% + \glossary{#3}%%pour le numéro de page dans le glossaire des commandes + \glossary{#3!\protect\indexcom{#3}\protect#4}% pour le glossaire + \Glos{#3}{\protect\indexcom{#3}\protect#4}{\hspace{1.5em}\expandafter\ComDeuxDescr}% + \end{minipage} + \end{center}}%end defcomdeux +\newcommand{\ParamList}[1]{\par + \small\hspace{1.5em}Param\ifx\euclide@language\@english eters\else ètres \fi: #1} +\newenvironment{tabexemple}[1]% + [@{}m{.3\linewidth}@{\hspace{.013\linewidth}}>{\small}m{.677\linewidth}@{}]% + {\vspace{1em}\noindent\small\begin{center}% + \noindent\begin{tabular}{#1}}% + {\mbox{}\vspace{-1.5em}\end{tabular}\end{center}}% +\newcommand{\tabex}[2]% + [@{}m{.3\linewidth}@{\hspace{.013\linewidth}}m{.677\linewidth}@{}]% +{% + \begin{tabexemple}[#1]% + \input{Exemples/#2}&\smallverbatiminput{Exemples/#2_in}% + \end{tabexemple}% +}% +\def\smallverbatiminput#1{\small\verbatiminput{#1}}% +\def\param#1{\texttt{#1}} +\def\com#1{\texttt{\bs #1}} +\def\DefaultVal#1% + {(\ifx\euclide@language\@english by default \fi\texttt{#1}\ifx\euclide@language\@frenchb\ par défaut\fi)\xspace} +\def\PStricks{\texttt{PSTricks}\xspace} +\def\PostScript{\textsf{PostScript}\xspace} +\def\Version{Version 1{.}3{.}2\xspace} +\def\Date{\ifx\euclide@language\@english march 28th \else 28 mars \fi 2005} +\newcommand{\MonEuro}{\texteuro\xspace} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\geometry{bottom=2.5cm, left=1cm, headheight=15.8pt, verbose}%, verbose} +\psset{subgriddiv=0,griddots=5} +\setlength{\changebarsep}{10pt} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% entête et pied de page +\pagestyle{fancy} +\renewcommand{\headrulewidth}{0.4pt} +\renewcommand{\footrulewidth}{0.4pt} +%\lhead{\Version -- \Date} +%\chead{} +%\rhead{Extension \texttt{pst-eucl} -- D. \textsc{Rodriguez}} +%\cfoot{\psshadowbox{\thepage}} +\lfoot{\Version --\Date} +\rfoot{Extension \texttt{pst-eucl} -- D. \textsc{Rodriguez}} +%%%%%%%%%%%%%%%%%%%% +\newcounter{i} +%%%%%%%%%%%%%%%%%%%% +\def\twocoltoc{% + \chapter*{\contentsname + \@mkboth{% + \MakeUppercase\contentsname}{\MakeUppercase\contentsname}}% + \begin{multicols}{2} + \@starttoc{toc}% + \end{multicols}} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% GLOSSAIRE +\makeglossary +\endinput \ No newline at end of file diff --git a/Master/texmf-dist/doc/generic/pst-eucl/euclide.tex b/Master/texmf-dist/doc/generic/pst-eucl/euclide.tex new file mode 100644 index 00000000000..2fc2f5b38ec --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/euclide.tex @@ -0,0 +1,1326 @@ +%% This doc can be redistributed and/or modified under the terms +%% of the LaTeX Project Public License Distributed from CTAN +%% archives in directory macros/latex/base/lppl.txt. +\documentclass[12pt, draft, dvips]{report} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\usepackage[french]{euclide} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\title{Extension \texttt{pst-eucl}\\ + Géométrie euclidienne avec \PStricks} +\author{\Version\\Dominique \textsc{Rodriguez}\thanks{domino.rodriguez@laposte.net}} +\date{\Date} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\begin{document} +%%%%%%%%%%%%%%%%%%%% +\maketitle +%%%%%%%%%%%%%%%%%%%% +\begin{abstract} + L'extension \texttt{pst-eucl} permet de dessiner des figures + géométriques en spécifiant des contraintes mathématiques. Il est + ainsi possible de définir des points au moyen de transformations ou + d'intersection. L'emploi des coordonnées est donc limité aux points + de départ qui paramètrent en quelque sorte le dessin. + + \vfill + + \begin{center}\bfseries + Remerciements + \end{center} + + Je tiens à remercier tout particulièrement les personnes suivantes + pour leur aide dans l'élaboration de ce paquetage : + + \begin{itemize} + \item Denis \textsc{Girou} pour ses critiques pertinentes et ses + encouragement lors de la découverte de l'embryon initial et pour + sa relecture du présent manuel ; + \item Michael \textsc{Vulis} pour sa rapidité à tester la doc + avec V\TeX\ et il a ainsi permis de corriger un bug du code + PostScript ; + \item Manuel \textsc{Luque} et Olivier \textsc{Reboux} pour leurs + remarques et leurs exemples. + \item Alain \textsc{Delplanque} pour ses propositions de modifications + sur le placement automatique des noms des points dans diverses fonctions et la + possibilité de donner une suite de points dans \com{pstGeonode}. + \end{itemize} +\end{abstract} +%%%%%%%%%%%%%%%%%%%% +\renewcommand{\abstractname}{Avertissement} +\begin{abstract} + Ceci est la première version officiellement déposée sur le site d'archives + \texttt{CTAN}. + + \vfill + + \begin{center}\bfseries + LICENCE + \end{center} + + Ce programme et sa documentation peuvent être distribués et/ou modifiés selon les + termes de la «~\LaTeX{} Project Public License~» disponible sur le site d'archives + \texttt{CTAN} au répertoire \texttt{macros/latex/base/lppl.txt}. Toutefois, vous + pouvez m'envoyer un Email avec un petit commentaire. Ensuite vous devriez réfléchir + à une donation\footnote{surtout si vous utilisez un système d'exploitation payant + (\texttt{des fenêtres} ou \texttt{MacOS}) ! D'autre part, n'oubliez pas que \LaTeX{} est utilisable + gratuitement et que de nombreux utilisateurs achètent plusieurs centaines d'euros + des logiciels de bien moins bonne qualité.} : + +\begin{enumerate} +\item directement à l'équipe \LaTeX3 ; +\item et/ou à moi pour le support de l'extension\footnote{je me satisfais amplement + de 1~\MonEuro, £1 ou \$1, mais j'accepte plus.}. +\end{enumerate} + + Une donation en temps selon compétence est possible : correction de la documentation, + test des fonctionnalités, proposition d'améliorations... +\end{abstract} +\twocoltoc{} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\chapter{Manuel de l'utilisateur} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{Spécifications particulières} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \subsection{Options de \PStricks} + +L'extension active le mode \com{SpecialCoor}. Ce mode permet d'étendre +la manière dont les coordonnées sont spécifiées en plus des classiques +coordonnées cartésiennes. D'autre part le mode de tracé est mis à +\texttt{dimen=middle}, c'est-à-dire que le positionnement des tracés +est fait par rapport à leur milieu. Pour ces deux modes, je vous +renvoie au manuel de l'utilisateur. + +Enfin, il est supposé que le repère de travail est (ortho)normé. + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \subsection{Conventions} + +Pour la rédaction de ce manuel, j'ai utilisé les conventions +classiques de dénomination des points en France : + +\begin{itemize} +\item $O$ est un centre (cercle, repère, symétrie, homothétie, rotation) ; +\item $I$ est l'unité de l'axe des abscisses, ou un milieu ; +\item $J$ est l'unité de l'axe des ordonnées ; +\item $A$, $B$, $C$, $D$ sont des points ; +\item $M$ est un point \emph{paramètre} ; +\item $M'$ l'image de $M$ par une transformation ; +\end{itemize} + +Enfin, bien que s'agissant de n\oe uds au sens de \PStricks, +je les ai résolument confondus avec des points dans le texte. + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{Objets de base} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \subsection{Les points} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \subsubsection{Repère par défaut} + +\defcom[Création d'une liste de points dans le repère d'origine. \protect\ParamList{\param{PointName}, + \param{PointNameSep}, \param{PosAngle}, \param{PointSymbol}, \param{PtNameMath}}] + {pstGeonode}{\OptArg{par}$(x_1,y_1)$\Arg{$A_1$}$(x_2,y_2)$\Arg{$A_2$}\ldots$(x_n,y_n)$\Arg{$A_n$}} + +Cette commande définit un ou plusieurs points géométriques associés avec un n\oe ud. +Chaque point possède un nom de n\oe ud \Argsans{$A_i$}, qui définit par défaut +l'étiquette placée sur le dessin. D'autre part, celle-ci est traitée par défaut en +mode mathématique, le paramètre booléen \param{PtNameMath} \DefaultVal{true} permet +de modifier ce traitement et de traiter l'étiquette en mode normal. Elle est +positionnée à une distance de \cbstart\param{PointNameSep} \DefaultVal{1em}\cbend{} +du n\oe ud, avec un angle de \param{PosAngle} \DefaultVal{0}. Il est également +possible de proposer une étiquette différente du nom de n\oe ud avec le paramètre +\param{PointName} \DefaultVal{default}, et une étiquette vide se spécifie en +positionnant ce paramètre à \texttt{none} ; dans ce cas le point n'aura pas de nom +sur le dessin. + +Le symbole du point est donné par le paramètre \param{PointSymbol} \DefaultVal{*}. +Le symbole est celui utilisé pour la commande \com{psdot}. Il peut être également +positionné à \texttt{none}, auquel cas le point \cbdelete n'est pas affichés sur la +figure. Voici en rappel les valeurs utilisable pour le symbole : + +\begin{multicols}{3} + \begin{itemize}\psset{dotscale=2} + \item \param{*} : \psdots(.5ex,.5ex) + \item \param{o} : \psdots[dotstyle=o](.5ex,.5ex) + \item \param{+} : \psdots[dotstyle=+](.5ex,.5ex) + \item \param{x} : \psdots[dotstyle=x](.5ex,.5ex) + \item \param{asterisk} : \psdots[dotstyle=asterisk](.5ex,.5ex) + \item \param{oplus} : \psdots[dotstyle=oplus](.5ex,.5ex) + \item \param{otimes} : \psdots[dotstyle=otimes](.5ex,.5ex) + \item \param{triangle} : \psdots[dotstyle=triangle](.5ex,.5ex) + \item \param{triangle*} : \psdots[dotstyle=triangle*](.5ex,.5ex) + \item \param{square} : \psdots[dotstyle=square](.5ex,.5ex) + \item \param{square*} : \psdots[dotstyle=square*](.5ex,.5ex) + \item \param{diamond} : \psdots[dotstyle=diamond](.5ex,.5ex) + \item \param{diamond*} : \psdots[dotstyle=diamond*](.5ex,.5ex) + \item \param{pentagon} : \psdots[dotstyle=pentagon](.5ex,.5ex) + \item \param{pentagon*} : \psdots[dotstyle=pentagon*](.5ex,.5ex) + \item \param{|} : \psdots[dotstyle=|](.5ex,.5ex) + \end{itemize} +\end{multicols} + +\cbstart D'autre part, ces symboles sont paramétrables avec des paramètres de +\PStricks dont entre autre : + +\begin{itemize} +\item son échelle avec le paramètre \param{dotscale}, la valeur de celui-ci est soit + deux nombres différenciant ainsi le facteur d'échelle horizontale et verticale, ou + soit un seul qui est la valeur identique pour les deux ; +\item son angle de rotation avec le paramètre \param{dotangle}. +\end{itemize} + +N'hésitez pas à consulter la documentation de \PStricks pour de plus amples détails.\cbend + +Les paramètres se spécifient explicitement dans la partie \Argsans{par}. Les +paramètres \param{PosAngle}, \param{PointSymbol}, \param{PointName} et +\param{PointNameSep} peuvent recevoir : + +\begin{itemize} +\item soit une valeur unique, commune à tous les points ; +\item soit une liste de valeurs délimitée par des accolades \texttt{\{ ... \}} et + séparées par des virgules \textit{sans blancs}, permettant alors de différencier la + valeur pour chaque point. +\end{itemize} + +Dans le cas ou une liste est spécifiée, elle peut comporter moins de valeurs que de +points, dans ce cas la dernière valeur de la liste sera utilisée pour les points +suivants. + +\cbstart Enfin, le paramètre \param{CurveType} \DefaultVal{none} permet de relier les +points au moyen d'une ligne : + +\begin{itemize} +\item brisée ouverte \verb$polyline$ ; +\item brisée fermée \verb$polygon$ ; +\item courbe ouverte \verb$curve$. +\end{itemize}\cbend + +% EXEMPLE GEONODE +\tabex{geonode} + +Il est évident que les n\oe uds ainsi définis sont utilisables par +toutes les commandes utilisant les n\oe uds de \PStricks. Ainsi, il est +possible de les référencer \rnode{ici}{d'ici} : +{\small\verb$\nccurve{->}{ici}{B_1}$}. +\nccurve[arrowscale=2, linestyle=dotted]{->}{ici}{B_1} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \subsubsection{Repère personnalisé} + +\defcom[Création d'une liste de points dans le repère $(O;I;J)$. + \protect\ParamList{\param{PointName}, \param{PointNameSep}, \param{PosAngle}, + \param{PointSymbol}, \param{PtNameMath}}] + {pstOIJGeonode} + {\OptArg{par}$(x_1,y_1)$\Arg{$A_1$}\Arg{$O$}\Arg{$I$}\Arg{$J$}$(x_2,y_2)$\Arg{$A_2$}\ldots$(x_n,y_n)$\Arg{$A_n$}} + +Cette commande permet de placer des points dans un repère quelconque non forcément +normé ni orthogonal, défini par le triplet $(O;I;J)$. On retrouve des traitements +identiques à la commande précédente pour l'utilisation des paramètres. + +%% EXEMPLE +\tabex{oij} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \subsection{Marquage des segments} + +Il est possible de tracer des segments en utilisant la commande +\texttt{\bs ncline}. Pour en plus marquer les segments afin d'associer +ceux ayant la même longueur, il existe la commande : + +\defcom[Permet de marquer le segment \Segment{AB} en son milieu avec la marque définie par + \protect\param{SegmentSymbol}. \protect\ParamList{\param{SegmentSymbol}}] + {pstSegmentMark}{\OptArg{par}\Arg{$A$}\Arg{$B$}} + +Le symbole placé sur le segment est donné par le paramètre +\param{SegmentSymbol}. Il prend comme valeur une commande utilisable en +mode mathématique. Par défaut, sa valeur est \texttt{pstslashh}, +et produit deux barres sur le segment. Le segment est également tracé. + +Il existe plusieurs commandes prédéfinies dans ce paquetage pour marquer les +segments : + +\begin{multicols}{3} + \psset{PointSymbol=none, PointName=none, unit=.8} + \newcommand{\Seg}[1]{% + \com{#1} : \begin{pspicture}[.3](2,1) + \pstGeonode(0.3,.5){A}(1.7,.5){B}\pstSegmentMark[SegmentSymbol=#1]{A}{B} + \end{pspicture}}% + \begin{itemize} + \item \Seg{pstslash} ; + \item \Seg{pstslashh} ; + \item \Seg{pstslashhh} ; + \item \Seg{MarkHash} ; + \item \Seg{MarkHashh} ; + \item \Seg{MarkHashhh} ; + \item \Seg{MarkCros} ; + \item \Seg{MarkCross} ; + \end{itemize} +\end{multicols} + +Les trois commandes de la famille \texttt{MarkHash} produise une barre dont +l'inclinaison est contrôlée par le paramètre \param{MarkAngle} +\DefaultVal{45}. D'autre part, leur taille et leur couleur dépendent de l'épaisseur +et de la couleur du trait au moment du tracé, comme le montre l'exemple suivant. + +%% EXEMPLE +\tabex{segmentmark} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \subsection{Triangles} + +Figures étudiées par excellence, elles possèdent leur macro pour les tracer +rapidement : + +\defcom[Définit et trace un triangle. \protect\ParamList{\param{PointName}, + \param{PointNameSep}, \param{PointSymbol}, \param{PointNameA}, + \param{PosAngleA}, \param{PointSymbolA}, \param{PointNameB}, + \param{PosAngleB}, \param{PointSymbolB}, \param{PointNameC}, + \param{PosAngleC}, \param{PointSymbolC}}] + {pstTriangle}{\OptArg{par}$(x_A,y_A)$\Arg{$A$}$(x_B,y_B)$\Arg{$B$}$(x_C,y_C)$\Arg{$C$}} + +Afin de pouvoir placer avec précision les noms des points, il existe trois paramètres +\param{PosAngleA}, \param{PosAngleB} et \param{PosAngleC}, qui s'associent +respectivement aux n\oe uds \Argsans{$A$}, \Argsans{$B$} et \Argsans{$C$}. Ils ont le +même rôle que le paramètre \param{PosAngle} vu précédemment. +%Si un ou plusieurs de ces paramètres ne sont pas spécifiés la valeur de \param{PosAngle} est prise. +Toutefois, si pour un point donné, aucun angle n'est spécifié, son nom va se +positionner sur la bissectrice du sommet. + +Il existe également des paramètres pour contrôler le symbole utilisé +pour représenter les points : \param{PointSymbolA}, +\param{PointSymbolB} et \param{PointSymbolC}, et des paramètres pour +le nom de chacun des points : \param{PointNameA}, \param{PointNameB} +et \param{PointNameC}. Ces deux ensembles de paramètres sont liés à +\param{PointSymbol} et \param{PointName}. La gestion de la valeur par +défaut suit les mêmes règles que celles vues précédemment. + +\tabex{triangle} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \subsection{Angles} + +Chaque angle est déterminé par trois points. Le sommet de l'angle est +le second. L'ordre a de l'importance en sachant que le sens direct ou +trigonométrique est le sens inverse des aiguilles d'une +montre. Tout d'abord, il est possible de marquer un angle droit \cbdelete : + +\defcom[Marque l'angle droit \protect\Angle{ABC} spécifié dans le sens + trigonométrique. \protect\ParamList{\param{RightAngleType}, \param{RightAngleSize}, + \param{RightAngleSize}}]{pstRightAngle}% + {\OptArg{par}\Arg{$A$}\Arg{$B$}\Arg{$C$}} + +\cbstart Le symbole utilisé est contrôlé par le paramètre \param{RightAngleType} +\DefaultVal{default}. Ses valeurs possibles sont : + +\begin{itemize} +\item \verb$default$ : symbole standard ; +\item \verb$german$ : symbole allemand (proposé par U. \textsc{Dirr}) ; +\item \verb$suisseromand$ : symbole suisse romand (proposé par P. \textsc{Schnewlin}). +\end{itemize}\cbend + +L'autre paramètre auquel est sensible cette commande, hormis bien +entendu ceux de contrôle du trait, est \param{RightAngleSize} qui +permet de contrôler la longueur du carré utilisé \DefaultVal{0.28~unit}. +Le symbole est placé sur l'angle de sommet \Argsans{$B$}. + +Pour les autres angles, il y a la commande : + +\defcom[Marque l'angle \protect\Angle{ABC} spécifié dans le sens trigonométrique + \protect\ParamList{\param{MarkAngleRadius}, \param{LabelAngleOffset}, + \param{Mark}}] + {pstMarkAngle}% + {\OptArg{par}\Arg{$A$}\Arg{$B$}\Arg{$C$}\Arg{label}} + +L'étiquette définie par le paramètre \param{label} peut être tout texte \TeX. Elle +est placée à \param{LabelSep} \DefaultVal{1~unit} du point dans la direction +angulaire de la bissectrice intérieure modifiée par \param{LabelAngleOffset} +\DefaultVal{0} et positionnée par rapport à \param{LabelRefPt} \DefaultVal{c}. +D'autre part l'arc de cercle utilisé pour le marquage a pour rayon +\param{MarkAngleRadius} \DefaultVal{.4~unit} et il est possible d'y adjoindre une +flèche en début ou fin d'arc en utilisant le paramètre \param{arrows}. +Enfin, on peut marquer l'angle avec un marqueur produit par une commande \TeX{} +donnée en argument du paramètre \param{Mark}. + +\tabex% + [@{}m{.25\linewidth}@{\hspace{.013\linewidth}}>{\small}m{.727\linewidth}@{}]% + {angle} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \subsection{Droites, demi-droites et segments} + +Rien de plus utile qu'une droite ! + +\defcom[Trace la droite $(AB)$.] + {pstLineAB}{\OptArg{par}\Arg{$A$}\Arg{$B$}} + +Afin de contrôler sa longueur\footnote{Ce qui est le comble pour une + droite !}, les deux paramètres \param{nodesepA} et +\param{nodesepB} indiquent l'abscisse des extrémités de la droite. Une +abscisse négative spécifie un dépassement au-delà des points, tandis +qu'une abscisse positive indique le contraire. Si les deux valeurs +sont identiques, on peut utiliser alors le paramètre +\param{nodesep}. La valeur par défaut de ces paramètres est nulle. + +\tabex{droite} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \subsection{Cercles} + +Un cercle peut être défini soit par son centre et un point de sa +circonférence, soit par deux points diamétralement opposés. Il existe +donc deux fonctions : + +\renewcommand{\ComUnDescr}{Construit le cercle de centre $O$ passant par $A$. \protect\ParamList{\param{Radius}, + \param{Diameter}}.} +\renewcommand{\ComDeuxDescr}{Construit le cercle de diamètre $AB$. \protect\ParamList{\param{Radius}, + \param{Diameter}}.} +\defcomdeux{pstCircleOA}{\OptArg{par}\Arg{$O$}\Arg{$A$}}% + {pstCircleAB}{\OptArg{par}\Arg{$A$}\Arg{$B$}} + +Pour la première fonction, il est également possible d'omettre le +second point, et de spécifier un rayon ou un diamètre avec les +paramètres \param{Radius} et \param{Diameter} au moyen des deux fonctions +suivantes : + +\renewcommand{\ComUnDescr}{Permet de spécifier la distance $AB$ pour les + paramètres \protect\param{Radius} et \protect\param{Diameter}. \protect\ParamList{\param{DistCoef}}.} +\renewcommand{\ComDeuxDescr}{Permet d'utiliser une valeur numérique pour les + paramètres \protect\param{Radius} et \protect\param{Diameter}. \protect\ParamList{\param{DistCoef}}.} +\defcomdeux{pstDistAB}{\Arg{$A$}\Arg{$B$}}% + {pstDistVal}{\Arg{x}} + +La première fonction permet de spécifier une distance entre deux points et la seconde +directement une valeur numérique qui peut être un calcul en code \PostScript. Cette +dernière distance est spécifiée en multiple de l'unité \com{unit} et elle n'est pas +une distance. Ces distances peuvent être modifiées par un coefficient multiplicatif +spécifié préalablement par le paramètre \param{DistCoef}. Ce paramètre peut être un +calcul en code \PostScript. + +\vspace{1.1\baselineskip} +\begin{minipage}[m]{.4\linewidth} + Avec cette extension, il devient possible de tracer : + + \begin{itemize} + \item {\color{red} le cercle de centre $A$ passant par $B$ ;} + \item {\color{green} le cercle de centre $A$ de rayon les deux tiers de $AC$ ;} + \item {\color{blue} le cercle de centre $A$ de rayon $BC$ ;} + \item {\color{Sepia} le cercle de centre $B$ de rayon $AC$ ;} + \item {\color{Aquamarine} le cercle de centre $B$ de diamètre $AC$ ;} + \item {\color{RoyalBlue} le cercle de diamètre $BC$ ;} + \end{itemize} +\end{minipage} +\hfill% +\input{Exemples/cercle} + +\smallverbatiminput{Exemples/cercle_in} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \subsection{Arcs de cercles} + +\renewcommand{\ComUnDescr}{Trace l'arc de cercle de centre $O$, de rayon $OA$, + délimité par l'angle $\protect\Angle{AOB}$ dans le sens trigonométrique.} +\renewcommand{\ComDeuxDescr}{Trace l'arc de cercle de centre $O$, de rayon $OA$, + délimité par l'angle $\protect\Angle{AOB}$ dans le sens trigonométrique inverse.} +\defcomdeux{pstArcOAB}{\OptArg{par}\Arg{$O$}\Arg{$A$}\Arg{$B$}}% + {pstArcnOAB}{\OptArg{par}\Arg{$O$}\Arg{$A$}\Arg{$B$}} + +Ces deux fonctions tracent des arcs de cercle, le centre étant donné par $O$, le +rayon par $OA$, l'angle de départ par $A$ et celui d'arrivée par $B$. Enfin la +première trace l'arc dans le sens direct et la seconde dans le sens indirect. Il +n'est pas nécessaire que les deux points soient à égales distances de $O$. + +\tabex{arc} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \subsection{Abscisse curviligne} + +Un point peut être positionné sur un cercle au moyen d'une abscisse curviligne. + +\defcom[Place un point sur un cercle au moyen de son abscisse curviligne. + \protect\ParamList{\param{PointSymbol}, \param{PosAngle}, + \param{PointName}, \param{PointNameSep}, \param{PtNameMath}, \param{CurvAbsNeg}}] + {pstCurvAbsNode}{\OptArg{par}\Arg{$O$}\Arg{$A$}\Arg{$B$}\Arg{Abs}} + +Le point \Argsans{$B$} est placé sur le cercle de centre \Argsans{$O$} passant par +\Argsans{$A$}, avec l'abscisse curviligne \Argsans{Abs}. L'origine est en +\Argsans{$A$}, et le sens est par défaut le sens trigonométrique (inverse des +aiguilles d'une montre). Le paramètre \param{CurvAbsNeg} \DefaultVal{false} permet de +modifier le sens de parcours du cercle. + + Si le paramètre \param{PosAngle} n'est pas spécifié, l'étiquette associée au +point va se placer automatiquement de manière à être aligné avec le centre du cercle +et le point. + +\tabex{abscur} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \subsection{Courbe générique} + +Il est tout à fait possible de générer des points au moyen d'une boucle et de leur +donner à chacun un nom générique composé d'un radical et d'un nombre. La commande +suivante permet de relier ces points au moyen d'une courbe interpolée. + +\defcom[Trace une courbe interpolée au moyen d'une famille de points ayant une + convention de dénomination utilisant un radical et un numéro. + \protect\ParamList{\param{GenCurvFirst}, \param{GenCurvInc}, + \param{GenCurvLast}}] + {pstGenericCurve}{\OptArg{par}\Arg{Radical}\Arg{$n_1$}\Arg{$n_2$}} + +La courbe est tracée sur les points dont le nom comporte le radical +\Argsans{Radical}, et comme suffixe un nombre allant de \Argsans{$n_1$} à +\Argsans{$n_2$}. Pour gérer les effets de bords, les paramètres \param{GenCurvFirst} +et \param{GenCurvLast} permettent de désigner explicitement le premier et le dernier +point. Le paramètre \param{GenCurvInc} permet de spécifier l'incrément de boucle pour +passer d'un point à un autre \DefaultVal{1}. + +\tabex{gencur} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{Transformations} + +Les transformations du plan permettent de coder facilement des propriétés +géométriques. Il est donc possible de construire les images de points par toutes les +transformations classiques du plan. \cbstart Toutes ces commandes partagent le même +schéma syntaxique et deux paramètres. + +La syntaxe commune place en fin de description deux listes de points, dont la seconde +est optionnelle et de cardinal plus faible ou égal. Ces deux listes contiennent les +points antécédents et les points images. Dans le cas ou les images sont absentes dans +leur totalité ou pour une partie (liste moins longue), le nom de l'image sera +automatiquement calqué sur l'antécédent auquel sera adjoint un \verb$'$. + +Le premier paramètre commun est \param{CodeFig}. Il permet de faire apparaître les propriétés +caractéristiques liées à la transformation et à la construction de l'image. Par +défaut, ce paramètre a pour valeur \param{false}, il doit être mis à \param{true} +pour activer ce tracé optionnel. Ce tracé se fait en utilisant le style +\param{CodeFigStyle} \DefaultVal{dashed} et suivant la couleur \param{CodeFigColor} +\DefaultVal{cyan}. + +Le second paramètre est \param{CurveType} qui permet de faire apparaître une courbe +passant par les images, et donc de pouvoir rapidement tracer le transformé d'une +figure.\cbend + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \subsection{Symétrie centrale} + +\defcom[Construit le symétrique $M'_i$ de chacun des $M_i$ par rapport à $O$. + \protect\ParamList{\param{PointSymbol}, \param{PosAngle}, + \param{PointName}, \param{PointNameSep}, \param{PtNameMath}, + \param{CodeFig}, \param{CodeFigColor}, \param{CodeFigStyle}}]{pstSymO}% + {\OptArg{par}\Arg{$O$}\Arg{$M_1, M_2, \cdots, M_n$}\OptArg{$M'_1, M'_2, \cdots, M'_p$}} + +Construit le point symétrique par rapport au point $O$. Les +paramètres classiques de la création de point sont utilisables comme +dans toutes les fonctions suivantes. + +Elle peut servir à la construction d'un parallélogramme de centre +connu. + +\tabex{symcentrale} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \subsection{Symétrie orthogonale} + +\defcom[Construit le symétrique $M'_i$ de chacun des $M_i$ par rapport à la droite $(AB)$. + \protect\ParamList{\param{PointSymbol}, \param{PosAngle}, + \param{PointName}, \param{PointNameSep}, \param{PtNameMath}, + \param{CodeFig}, \param{CodeFigColor}, \param{CodeFigStyle}}]{pstOrtSym}% + {\OptArg{par}\Arg{$A$}\Arg{$B$}\Arg{$M_1, M_2, \cdots, M_n$}\OptArg{$M'_1, M'_2, \cdots, M'_p$}} + +Construit le point symétrique $M'_i$ de chacun des $M_i$ par rapport à la droite $(AB)$. + +\tabex{symorthogonale} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \subsection{Rotation} + +\defcom[Construit l'image $M'_i$ de chacun des $M_i$ par rotation d'angle \protect\param{RotAngle} + autour de $O$ dans le sens trigonométrique. + \protect\ParamList{\param{PointSymbol}, \param{PosAngle}, + \param{PointName}, \param{PointNameSep}, \param{PtNameMath}, \param{RotAngle}}]{pstRotation}% + {\OptArg{par}\Arg{$O$}\Arg{$M_1, M_2, \cdots, M_n$}\OptArg{$M'_1, M'_2, \cdots, M'_p$}} + +Construit l'image d'un point par rotation. L'angle de rotation est +donné par le paramètre \param{RotAng|e} \DefaultVal{60}. Celui-ci +peut-être un angle orienté défini par trois points. Il faut alors +utiliser la fonction : + +\defcom[Permet d'utiliser la mesure te \protect\Angle{AOB} (orienté) pour + le paramètre \protect\param{RotAngle}. \protect\ParamList{\param{AngleCoef}}] + {pstAngleAOB}{\Arg{$A$}\Arg{$O$}\Arg{$B$}} + +Pensez à l'utiliser pour construire un carré ou un triangle équilatéral.\cbstart Le +paramètre booléen \param{CodeFig} permet de placer un arc avec une flèche (en bout) +entre le point et son image, et si le paramètre \param{TransformLabel} \DefaultVal{none} +contient un texte il est placé sur l'angle correspondant en mode mathématique. + +\tabex{rotation}\cbend + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \subsection{Translation} + +\defcom[Construit l'image $M'_i$ de chacun des $M_i$ par la translation de vecteur \protect\Vecteur{AB}. + \protect\ParamList{\param{PointSymbol}, \param{PosAngle}, + \param{PointName}, \param{PointNameSep}, \param{PtNameMath}, \param{DistCoef}}] + {pstTranslation}% + {\OptArg{par}\Arg{$A$}\Arg{$B$}\Arg{$M_1, M_2, \cdots, M_n$}\OptArg{$M'_1, M'_2, \cdots, M'_p$}} + +Construit le translaté de vecteur \Vecteur{AB} du point +\Argsans{$M$}. À utiliser pour construire la parallèle passant +par un point. + +\tabex{translation} + +Il est également possible d'utiliser le paramètre \param{DistCoef} pour modifier le +vecteur de translation avec un coefficient multiplicatif. \cbstart Le paramètre +booléen \param{CodeFig} permet de placer le vecteur de translation entre le point et +son image avec au milieu un texte qui par défaut est les deux points ou le contenu du +paramètre \param{TransformLabel} \DefaultVal{none}.\cbend + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \subsection{Homothétie} + +\defcom[Construit l'image $M'_i$ de chacun des $M_i$ par l'homothétie de centre $O$ et de rapport + \protect\param{HomCoef}. + \protect\ParamList{\param{PointSymbol}, \param{PosAngle}, + \param{PointName}, \param{PointNameSep}, \param{PtNameMath}, \param{HomCoef}}] + {pstHomO}% + {\OptArg{par}\Arg{$O$}\Arg{$M_1, M_2, \cdots, M_n$}\OptArg{$M'_1, M'_2, \cdots, M'_p$}} + +Construit l'image d'un point par homothétie. Le coefficient se spécifie avec le +paramètre \param{HomCoef}. Incontournable pour les situations de \textsc{Thalès}. + +\tabex{homothetie} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \subsection{Projection orthogonale} + +\defcom[Construit l'image $M'_i$ de chacun des $M_i$ par projection orthogonale sur $(AB)$. + \protect\ParamList{\param{PointSymbol}, \param{PosAngle}, + \param{PointName}, \param{PointNameSep}, \param{PtNameMath}, + \param{CodeFig}, \param{CodeFigColor}, \param{CodeFigStyle}}]{pstProjection}% + {\OptArg{par}\Arg{$A$}\Arg{$B$}\Arg{$M_1, M_2, \cdots, M_n$}\OptArg{$M'_1, M'_2, \cdots, M'_p$}} + +Projette orthogonalement les point $M_i$ sur la droite $(AB)$. Très important pour +tracer les hauteurs d'un triangle. Le nom est aligné avec le +point et son projeté comme le montre l'exemple. + +\tabex{projection} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{Objets particuliers} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \subsection{Milieu} + +\defcom[Construit le milieu $I$ du segment \Segment{AB}. + \protect\ParamList{\param{PointSymbol}, \param{PosAngle}, + \param{PointName}, \param{PointNameSep}, \param{PtNameMath}, \param{SegmentSymbol}, + \param{CodeFig}, \param{CodeFigColor}, \param{CodeFigStyle}}]{pstMiddleAB}% + {\OptArg{par}\Arg{$A$}\Arg{$B$}\Arg{$I$}} + +Construit le milieu $I$ du segment $[AB]$. Par défaut, le nom du point est +positionné automatiquement sous (ou sur) le segment. + +\tabex{milieu} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +  \subsection{Centre de gravité d'un triangle} +\defcom[Construit le centre de gravité $G$ du triangle $ABC$. + \protect\ParamList{\param{PointName}, \param{PointNameSep}, \param{PosAngle}, + \param{PointSymbol}, \param{PtNameMath}}]{pstCGravABC}% + {\OptArg{par}\Arg{$A$}\Arg{$B$}\Arg{$C$}\Arg{$G$}} + +Construit le centre de gravité d'un triangle. + +\tabex{grav} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \subsection{Cercle circonscrit d'un triangle et son centre} + +\defcom[Construit le centre $O$ äu cercle ciconscrit du triangle $ABC$. + \protect\ParamList{\param{PointName}, \param{PointNameSep}, \param{PosAngle}, + \param{PointSymbol}, \param{PtNameMath}, \param{DrawCirABC}, \param{CodeFig}, + \param{CodeFigColor}, \param{CodeFigStyle}, \param{SegmentSymbolA}, + \param{SegmentSymbolB}, \param{SegmentSymbolC}}] + {pstCircleABC}{\OptArg{par}\Arg{$A$}\Arg{$B$}\Arg{$C$}\Arg{$O$}} + +Cette commande permet de tracer le cercle passant par trois points et de positionner +le centre. Le tracé du cercle est contrôlé par le paramètre booléen +\param{DrawCirABC} \DefaultVal{true}.\cbstart D'autre part, les traits de +constructions peuvent être apparent (médiatrices) avec le paramètre \param{CodeFig}. +Les milieux sont aussi marqué sur chacun des segments avec trois marques différentes +donnés par les paramètres \param{SegmentSymbolA}, \param{SegmentSymbolB} et +\param{SegmentSymbolC}.\cbend La création du point est sensible à tous les paramètres +classiques déjà vus. + +\tabex% + [@{}m{.35\linewidth}@{\hspace{.013\linewidth}}>{\small}m{.627\linewidth}@{}]% + {ccirc} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \subsection{Médiatrice d'un segment} + +\defcom[Construit la médiatrice du segment \Segment{AB}, son milieu $I$ et un point $M$ + de la médiatrice qui est l'image par quart de tour de $B$. + \protect\ParamList{\param{PointName}, \param{PointNameSep}, \param{PosAngle}, + \param{PointSymbol}, \param{PtNameMath}, \param{CodeFig}, + \param{CodeFigColor}, \param{CodeFigStyle}, \param{SegmentSymbol}}] + {pstMediatorAB}{\OptArg{par}\Arg{$A$}\Arg{$B$}\Arg{$I$}\Arg{$M$}} + +La médiatrice d'un segment est la droite perpendiculaire au milieu de +ce segment. Le segment est $[AB]$, le milieu est $I$, et $M$ est un +point de la médiatrice, construit par une rotation de $90$\degres\ du +point point $B$ par rapport à $I$. L'ordre des deux points est +important, il permet de contrôler la position de la médiatrice. La +commande crée les points $M$ et $I$. La construction est sensible aux +paramètres suivant : + +\begin{itemize} +\item \param{CodeFig}, \param{CodeFigColor} et \param{SegmentSymbol} + pour marquer l'angle droit et le milieu ; +\item \param{PointSymbol} et \param{PointName} pour contrôler + l'apparence des deux nouveaux points, chacun pouvant être spécifiés + séparément au moyen des paramètres \param{...A} et \param{...B} ; +\item les paramètres de tracés des droites. +\end{itemize} + +\tabex% + [@{}m{.35\linewidth}@{\hspace{.013\linewidth}}>{\small}m{.627\linewidth}@{}]% + {mediator} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \subsection{Bissectrices d'un angle} + +\defcom[Construit la bissectrice intérieure de l'angle \protect\Angle{BAC} ainsi qu'un + point $M$ de la bissectrice image de $B$ par rotation autour de $A$. + \protect\ParamList{\param{PointSymbol}, \param{PosAngle}, + \param{PointName}, \param{PointNameSep}, \param{PtNameMath}}] + {pstBissectBAC}{\OptArg{par}\Arg{$B$}\Arg{$A$}\Arg{$C$}\Arg{$M$}} + +\defcom[Construit la bissectrice extérieure d'un angle ainsi qu' un + point $M$ de la bissectrice image de $B$ par rotation autour de point $A$. + \protect\ParamList{\param{PointSymbol}, \param{PosAngle}, + \param{PointName}, \param{PointNameSep}, \param{PtNameMath}}] + {pstOutBissectBAC}{\OptArg{par}\Arg{$B$}\Arg{$A$}\Arg{$C$}\Arg{$M$}} + +Il existe deux bissectrices pour un angle géométrique donné : +l'intérieure et l'extérieure ; donc il y a deux commandes. L'angle est +spécifié dans le sens trigonométrique. Les résultats de ces deux +commandes sont la bissectrice et un point de celle-ci qui est +positionné par une rotation du point $B$. + +\tabex% + [@{}m{.35\linewidth}@{\hspace{.013\linewidth}}>{\small}m{.627\linewidth}@{}]% + {bissec} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{Intersections} + +Un autre moyen de définir un point est de spécifier une intersection. +Six types d'intersections sont gérées : + +\begin{itemize} +\item droite-droite ; +\item droite-cercle ; +\item cercle-cercle ; +\item fonction-fonction ; +\item fonction-droite ; +\item fonction-cercle. +\end{itemize} + +Une intersection peut ne pas exister : cas des droites parallèles par +exemple. Dans ce cas, le ou les points concernés se retrouvent placés +à l'origine. En fait, il est supposé que l'utilisation de ces +commandes implique l'existence de l'intersection. + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \subsection{Droite-droite} +\defcom[Place le point d'intersection entre les droites $(AB)$ et $(CD)$. + \protect\ParamList{\param{PointSymbol}, \param{PosAngle}, + \param{PointName}, \param{PointNameSep}, \param{PtNameMath}}] + {pstInterLL}% + {\OptArg{par}\Arg{$A$}\Arg{$B$}\Arg{$C$}\Arg{$D$}\Arg{$M$}} + +Construit le point d'intersection de la droite $(AB)$ avec la droite +$(CD)$. Option essentielle de la construction de figures du triangle, +elle permet de positionner les points remarquables. Les paragraphes +suivants proposent différents exemples : + +\begin{description} +\item[basique] + + \tabex{interDD} + +\item[orthocentre] + + \tabex% + [@{}m{.35\linewidth}@{\hspace{.013\linewidth}}>{\small}m{.627\linewidth}@{}] + {orthocentre} + +\end{description} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \subsection{Cercle--droite} + +\defcom[Place le(s) point(s) d'intersection entre la droite $(AB)$ et le cercle de + centre $O$ passant par $C$. + \protect\ParamList{\param{PointSymbol}, \param{PosAngle}, + \param{PointName}, \param{PointNameSep}, \param{PtNameMath}, + \param{PointSymbolA}, \param{PosAngleA}, \param{PointNameA}, + \param{PointSymbolB}, \param{PosAngleB}, \param{PointNameB}, + \param{Radius}, \param{Diameter}}] + {pstInterLC}% + {\OptArg{par}\Arg{$A$}\Arg{$B$}\Arg{$O$}\Arg{$C$}% + \Arg{$M_1$}\Arg{$M_2$}} + +Construit le ou les points d'intersection de la droite $(AB)$ avec +le cercle de centre $O$ passant par $OC$. L'intersection entre un +cercle et une droite donne en cas d'existence un ou deux points. En +fait le cas tangent représente un point double au sens des racines +d'un polynôme. + +Le cercle est spécifié avec son centre et soit un point de sa +circonférence, soit son rayon ou diamètre spécifié au moyen des +paramètres \param{Radius} et \param{Diameter} et modulé par le +paramètre coefficient multiplicatif \param{DistCoef}. + +La place des deux points est telle que les vecteurs \Vecteur{AB} et +\Vecteur{M_1M_2} soient colinéaires. Ainsi si on échange les points +qui définissent la droite, les deux points d'intersection seront aussi +échangés. Si l'intersection n'existe pas, les deux points sont placés +au centre du cercle. + +\tabex + [@{}m{.4\linewidth}@{\hspace{.013\linewidth}}>{\small}m{.5777\linewidth}@{}] + {interDC} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \subsection{Cercle--cercle} + +\defcom[Place le(s) point(s) d'intersection entre le cercle de centre $O_1$ passant + par $B$ et le cercle de centre $O_2$ passant par $C$ .] + {pstInterCC}% + {\OptArg{par}\Arg{$O_1$}\Arg{$B$}\Arg{$O_2$}\Arg{$C$}% + \Arg{$M_1$}\Arg{$M_2$}} + +Fonction au comportement identique à la précédente. Les paramètres +booléens \param{CodeFigA} et \param{CodeFigB} permettent de faire +apparaître les arcs au niveau des intersections. Par cohérence +\param{CodeFig} permet de faire apparaître les deux arcs. Afin de +contrôler dans quel sens vont-être ces arcs, les paramètres booléens +\param{CodeFigAarc} et \param{CodeFigBarc} permettent de choisir dans +le sens direct ou indirect. + +\tabex{interCC} + +Voici un deuxième exemple plus complet, intégrant les spécifications de cercle avec +des rayons et des diamètres. Il existe dans ce cas des paramètres \param{RadiusA}, +\param{RadiusB}, \param{DiameterA} et \param{DiameterB}. Toutefois, même dans le cas +où le diamètre est spécifié, il faut donner un centre. On ne peut pas spécifier un +cercle avec deux points diamétralement opposés. + +\begin{center} + \rule[-.5cm]{0pt}{8cm} + \begin{pspicture}(-3,-4)(7,3)\psgrid + \input{Exemples/interCC_bis_in} + \end{pspicture} +\end{center} + +\smallverbatiminput{Exemples/interCC_bis_in} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \subsection{Fonction--fonction} + +\defcom[Place \textit{un} point d'intersection entre les deux courbes représentatives des +fonctions $f$ et $g$. À priori l'abscisse du point +sera proche de $x_0$ (valeur initiale de l'algorithme de \textsc{Newton}).]% + {pstInterFF}{\OptArg{par}\Arg{$f$}\Arg{$g$}\Arg{$x_0$}\Arg{$M$}} + +Cette fonction permet de positionner un point à une intersection entre les deux +fonctions $f$ et $g$. La valeur $x_0$ est une valeur approchée de l'abscisse de cette +intersection. Il est donc tout à fait possible de l'utiliser plusieurs fois si plusieurs +intersections existent. Chacune des fonctions est décrite en \PostScript de manière +identique à la fonction \com{psplot} de \PStricks. Il est évidemment possible de +spécifier une fonction constante, et par exemple de chercher des racines. + +La recherche de l'intersection se fait en utilisant l'algorithme de \textsc{Newton}, +et évidemment il peut arriver que cela n'aboutisse pas. Dans ce cas, le point est +placé à l'origine. D'autre part, la recherche peut tomber dans un \textit{piège} +(minimum local proche de zéro), ou encore se mettre à osciller et donc ne jamais +finir, il faudra alors modifier $x_0$. + +\tabex{interFF} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \subsection{Fonction--droite} + +\defcom[Place \textit{un} point d'intersection entre la droite $(AB)$ et la courbe +représentative de la fonction $f$. À priori l'abscisse du point +sera proche de $x_0$ (valeur initiale de l'algorithme de \textsc{Newton}).]% +{pstInterFL}{\OptArg{par}\Arg{$f$}\Arg{$A$}\Arg{$B$}\Arg{$x_0$}\Arg{$M$}} + +Positionne un point à une intersection de la fonction $f$ et de la droite $(AB)$. + +\tabex{interFL} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \subsection{Fonction--cercle} + +\defcom[Place \textit{un} point d'intersection entre le cercle de centre $O$ passant +par $A$ et la courbe représentative de la fonction $f$. À priori l'abscisse du point +sera proche de $x_0$ (valeur initiale de l'algorithme de \textsc{Newton}).]% + {pstInterFC}{\OptArg{par}\Arg{$f$}\Arg{$O$}\Arg{$A$}\Arg{$x_0$}\Arg{$M$}} + +Positionne un point à une intersection de la fonction $f$ et du cercle +de centre $O$ passant par $A$. L'intersection est trouvée en utilisant l'algorithme +itératif de \textsc{Newton} avec comme valeur initale $x_0$. Le poit aura donc une +abscisse \textit{proche} de $x_0$. + +\tabex{interFC} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\chapter{Galerie d'exemples} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \section{Géométrie élémentaire} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \subsection{Tracé de la bissectrice} + +\tabex{gal_biss} + +\cbdelete%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% \subsection{Angle droit allemand} +%% +%% En Allemagne, on utilise une autre convention pour les angles +%% droits (remarque de U. \textsc{Dirr}). +%% \nopagebreak[4] +%% +%% \tabex{german_ra} +%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \cbstart\subsection{Transformation de polygones et courbes} + +Voici comment utiliser le paramètre \param{CurveType} avec des tranformations. +\nopagebreak[4] + +\begin{center} +\input{Exemples/curvetype} +\end{center}\nopagebreak[4] + +\smallverbatiminput{Exemples/curvetype_in}\cbend + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \subsection{Droites remarquables du triangle}\nopagebreak[4] + +\begin{center} +\psset{unit=2cm} +\input{Exemples/remarq} +\end{center}\nopagebreak[4] + +\smallverbatiminput{Exemples/remarq_in} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \subsection{Cercle d'\textsc{Euler}} + +\begin{center} +\psset{unit=2cm} +\input{Exemples/euler} +\end{center}\nopagebreak[4] + +\smallverbatiminput{Exemples/euler_in} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \subsection{Orthocentre et hyperbole} + +L'orthocentre d'un triangle dont les points sont situés sur les +branches de l'hyperbole ${\mathscr H} : y=a/x$ appartient à cette hyperbole. + +\begin{center} +\psset{unit=.5cm} +\input{Exemples/orthoethyper} +\end{center} + +\smallverbatiminput{Exemples/orthoethyper_in} + +\pagebreak[4] + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \subsection{Polygone régulier à 17 côtés} + +Remarquable construction due à K. F. \textsc{Gauss} qui a démontré par +ailleurs qu'il était possible de construire les polygones à +$2^{2^p}+1$ côtés avec en prime la méthode général de construction. Le +polygone régulier suivant de cette famille possède donc 257 côtés ! +\nopagebreak[4] + +\begin{center} +\psset{unit=1.5cm, CodeFig=true, RightAngleSize=.14, CodeFigColor=red, + CodeFigB=true, linestyle=dashed, dash=2mm 2mm} +\input{Exemples/gauss} +\end{center} + + +\pagebreak[4] + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \subsection{Tangentes de cercles} + +Construction des tangentes à un cercle passant par un point donné. +\nopagebreak[4] + +\begin{center} +\input{Exemples/tg1c} +\end{center} + +Construction des tangentes à deux cercles. +\nopagebreak[4] + +\begin{center} +\input{Exemples/tg2c} +\end{center} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \subsection{Point de \textsc{Fermat} d'un triangle} + +Figure de Manuel \textsc{Luque}.\nopagebreak[4] + +\begin{center} +\input{Exemples/ptfermat} +\end{center} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \subsection{Cercles ex-insrits et inscrit d'un triangle} + +Les centres de ces cercles sont les intersections des bissectrices +intérieures et extérieures. + +%% cercles inscrit et exinscrits d'un triangle +\begin{center} +\psset{unit=1cm, dash=5mm 4mm}%, PointSymbolA=none, PointSymbolB=none} +\input{Exemples/cinscex} +\end{center} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \section{Quelques lieux de points} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \subsection{Parabole} + +\begin{minipage}[m]{.33\linewidth} +La parabole est l'ensemble des points situés à égale distance d'un +point : le foyer, et d'une droite : la directrice. +\end{minipage} +\newcommand{\NbPt}{11} +\input{Exemples/parabole}\nopagebreak[4] + +\smallverbatiminput{Exemples/parabole_in} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \subsection{Hyperbole} + +\noindent +\begin{minipage}[b]{.55\linewidth} +L'hyperbole est composée des points dont la différence des distances +avec les foyers est constant. Pour se rafraîchir la mémoire, on peut +aller voir le «~Cours de mathématiques spéciales~», vol.~2, +\textsc{Ramis, Deschamps, Odoux}, pp{.} 226--227. +\begin{verbatim} +%% QQ RAPPELS : a=\Sommet, c=\PosFoyer, +%% b^2=c^2-a^2, e=c/a +%% pour une hyperbole -> e>1, donc c>a, +%% ici on choisi a=\sqrt{2}, c=2, e=\sqrt{2} +%% M est sur H <=> |MF-MF'|=2a +\end{verbatim} +\end{minipage} +\hfill +\input{Exemples/hyperbole}\nopagebreak[4] + +\smallverbatiminput{Exemples/hyperbole_in} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \subsection{Cycloïde} + +La roue roule de $M$ à $A$. Les points du cercle parcourent +des cycloïdes. L'intérêt de cet exemple est de faire coïncider les +points de rebroussement avec des points calculés. +\nopagebreak[4] + +\begin{center} +\input{Exemples/cyclo} +\end{center}\nopagebreak[4] + +\smallverbatiminput{Exemples/cyclo_in} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \subsection{Hypocycloïdes (astroïde et deltoïde)} + +Une roue roule à l'intérieure d'un cercle et selon le rapport +des rayons, on obtient une astroïde, une deltoïde et dans le cas +générale des hypocycloïdes.\nopagebreak[4] + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% ASTROÏDE +\input{Exemples/hypocyclo} +%%%%%%%%%%%%%%%%%%%% +\begin{center} +\input{Exemples/astro}\input{Exemples/delto} +\end{center} + +\smallverbatiminput{Exemples/hypocyclo} +\smallverbatiminput{Exemples/astro_in} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \section{Enveloppes de droites et de cercles} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \subsection{Coniques} + +On considère un cercle et un point $A$ extérieur à ce cercle. +L'ensemble des médiatrices des segments formés par $A$ et les points +du cercle forme les deux coniques selon la place de $A$ : s'il est à +l'intérieur du cercle l'ellipse, à l'extérieur l'hyperbole. $A$ et le +centre du cercle en sont les foyers (figure d'O. \textsc{Reboux}). + +\begin{center}\input{Exemples/envellipse}\end{center} + +\smallverbatiminput{Exemples/envellipse_in} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \subsection{Cardioïde} + +La cardioïde est l'enveloppe des cercles centrés sur un cercle et +passant par un point fixé de ce cercle. + +\tabex% + [@{}m{.5\linewidth}@{\hspace{.013\linewidth}}>{\small}m{.627\linewidth}@{}]% + {envcardi} + +\pagebreak[4] + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \section{Homothéties et fractales}\nopagebreak[4] + +\tabex{fracthom} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \section{Géométrie hyperbolique : triangle et ses hauteurs} + +Le comble pour de la géométrie euclidienne ! + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Tracé de géodésique en géométrie hyperbolique +%% Attention ne fonctionne que si les points ne sont pas alignés avec O +%% Ceci est un cas particulier, je ne crois pas que les hauteurs +%% soient concourantes pour tous les triangles hyperboliques. +\input{Exemples/geohyper} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\appendix +\chapter{Glossaire des commandes}%%\markboth{GLOSSAIRE DES COMMANDES}{\thepage}% +%%\addcontentsline{toc}{chapter}{\protect\numberline{}Glossaire des commandes}% + +Voici la liste des commandes définies par \texttt{pst-eucl}. Chacune est proposée +avec une courte description ainsi que la liste des paramètres \texttt{pst-eucl} qui +permettent de la contrôler. Il est tout à fait possible que d'autres +paramètres \PStricks puissent être utilisé, en particulier ceux contrôlant le trait +(épaisseur, couleur, style). + +\input{euclide_macros.ind} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\chapter{Les paramètres de \texttt{pst-eucl}} + +\begin{longtable}{|l|l|p{10cm}|} + \hline + \multicolumn{1}{|c|}{\textbf{Paramètre}}& + \multicolumn{1}{c|}{\textbf{Défaut}}& + \multicolumn{1}{c|}{\textbf{Signification}} \\\hline\hline + \endfirsthead + \hline + \multicolumn{1}{|c|}{\textbf{Paramètre}}& + \multicolumn{1}{c|}{\textbf{Défaut}}& + \multicolumn{1}{c|}{\textbf{Signification}} \\\hline\hline + \endhead + \hline + \multicolumn{3}{|c|}{$\ldots$ à suivre $\ldots$}\\ + \hline + \endfoot + \hline + \endlastfoot + \param{PointSymbol}&\verb$default$&Symbole utilisé pour marquer un point.\\\hline + \param{PointSymbolA}&\verb$default$&idem pour le premier point d'une commande en créant plusieurs.\\\hline + \param{PointSymbolB}&\verb$default$&pour le second...\\\hline + \param{PointSymbolC}&\verb$default$&pour le troisième...\\\hline + \param{PointName}&\verb$default$&Étiquette placé auprès du point.\\\hline + \param{PointNameA}&\verb$default$&idem pour le premier point d'une commande en créant plusieurs.\\\hline + \param{PointNameB}&\verb$default$&pour le second...\\\hline + \param{PointNameC}&\verb$default$&pour le troisième...\\\hline + \param{PtNameMath}&\verb$true$¶mètre booléen spécifiant si le style + mathématique doit être utilisé pour l'étiquette d'un point.\\\hline + \param{SegmentSymbol}&\verb$default$&Symbole utilisé pour marquer un segment\\\hline + \param{SegmentSymbolA}&\verb$default$&idem pour le premier segment d'une commande + en marquant plusieurs.\\\hline + \param{SegmentSymbolB}&\verb$default$&pour le second...\\\hline + \param{SegmentSymbolC}&\verb$default$&pour le troisième...\\\hline + \param{Mark}&\verb$default$&Symbole utilisé pour marquer un angle...\\\hline + \param{MarkAngle}&\verb$default$&Angle à utiliser pour le symbole précédent...\\\hline + \param{PointNameSep}&\verb$1em$&Distance séparant le symbole du point de son étiquette.\\\hline + \param{PosAngle}&\verb$undef$&Position de l'étiquette autour du point.\\\hline + \param{PosAngleA}&\verb$undef$&idem pour le premier point d'une commande en créant plusieurs.\\\hline + \param{PosAngleB}&\verb$undef$&pour le second...\\\hline + \param{PosAngleC}&\verb$undef$&pour le troisième...\\\hline + \param{RightAngleSize}&\verb$.4$&Taille du symbole de l'angle droit\\\hline + \param{RightAngleType}&\verb$default$&Type de la marque de l'angle droit, valeur + possible : \verb$german$ et \verb$suisseromand$\\\hline + \param{MarkAngleRadius}&\verb$.4$&Rayon de l'arc de cercle marquant un angle.\\\hline + \param{LabelAngleOffset}&\verb$0$&Offset angulaire permettant de décaler + l'étiquette d'un angle.\\\hline + \param{LabelSep}&\verb$1$&Distance entre le sommet de l'angle et l'étiquette.\\\hline + \param{LabelRefPt}&\verb$c$&Point de référence \TeX\ utilisé pour placer + l'étiquette d'un angle.\\\hline + \param{HomCoef}&\verb$.5$&Coefficient de l'homothétie.\\\hline + \param{RotAngle}&\verb$60$&Angle utilisé pour la rotation.\\\hline + \param{DrawCirABC}&\verb$true$&Paramètre booléen indiquant si le cercle circonscrit + doit être tracé.\\\hline + \param{CodeFig}&\verb$false$&Paramètre booléen indiquant si la construction doit + être codée.\\\hline + \param{CodeFigA}&\verb$false$&idem pour la première construction d'une commande en + générant plusieurs.\\\hline + \param{CodeFigB}&\verb$false$&La seconde.\\\hline + \param{CodeFigColor}&\verb$cyan$&Couleur du trait pour coder la construction.\\\hline + \param{CodeFigStyle}&\verb$dashed$&Style du trait pour coder la construction.\\\hline + \param{CodeFigAarc}&\verb$true$¶mètre booléen spécifiant le sens de l'arcau + niveau de la première intersection entre deux cercles.\\\hline + \param{CodeFigBarc}&\verb$true$&idem pour la seconde.\\\hline + \param{Radius}&\verb$none$&Spécification du rayon du cercle.\\\hline + \param{RadiusA}&\verb$undef$&Spécification du rayon du premier cercle.\\\hline + \param{RadiusB}&\verb$undef$&Spécification du rayon du second cercle.\\\hline + \param{Diameter}&\verb$none$&Spécification du diamètre du cercle.\\\hline + \param{DiameterA}&\verb$undef$&Spécification du rayon du premier cercle.\\\hline + \param{DiameterB}&\verb$undef$&Spécification du rayon du second cercle.\\\hline + \param{DistCoef}&\verb$none$&Coefficient multiplicatif permettant de modifier une distance/vecteur.\\\hline + \param{AngleCoef}&\verb$none$&Coefficient multiplicatif permettant de modifier la + mesure d'un angle.\\\hline + \param{CurvAbsNeg}&\verb$false$&Paramètre booléen indiquant que les abscisses + curvilignes sont dans le sens anti-trigonométrique\\\hline + \param{GenCurvFirst}&\verb$none$&Nom du premier point d'une courbe générique (effet + de bord).\\\hline + \param{GenCurvLast}&\verb$none$&Nom du dernier point d'une courbe générique (effet + de bord).\\\hline + \param{GenCurvInc}&\verb$none$&valeur à utiliser comme incrément dans une courbe générique.\\\hline + \cbstart% + \param{CurveType}&\verb$none$&Mode de tracé de courbe pour relier une liste de points.\\\hline + \param{TransformLabel}&\verb$none$&étiquette utilisée pour marquer la rotation ou la + translation.\\\hline +\end{longtable} + +\cbend + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\cbstart\chapter{Compatibilité ascendantes de \texttt{pst-eucl}} + +Nouveauté pour cette version, des commandes ont changé de syntaxe sans changer de +nom, la compatibilité ascendante n'est donc pas maintenue. Toutefois, pour éviter àà +certains utilisateurs pressés de mettre à jour leur fichier dans l'urgence, il est +possible de retrouver l'ancienne syntaxe en activant l'option \texttt{old} à l'inclusion de +l'extension \verb$\usepackage[old]{pst-eucl}$. Pour cette version cela concerne +toutes les commandes des transformations. Il faut donc se reporter à l'ancien manuel +pour avoir la syntaxe. + +\cbend +\end{document} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \section{Une figure fractale : le flocon de \textsc{von Koch}} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% TENTATIVE DE FLOCON DE VON KOCH +\newcounter{nbvk}% +%%%%%%%%%%%%% +%% PILE LIFO% +\newcounter{lifon}\setcounter{lifon}{1}%% +\newcommand{\Push}[1]{%% + \expandafter\edef\csname lifocmd\roman{lifon}\endcsname{#1}%% + \addtocounter{lifon}{1}%% + }% +\newcommand{\Pop}{\csname lifocmd\roman{lifon}\endcsname}% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newcounter{nombre}\setcounter{nombre}{0}% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newcommand{\vonkoch}[3]{%% + \setcounter{nbvk}{#1}%% + \edef\Pointi{#2}\edef\Pointii{#3}%% + \ifnum\value{nbvk}=1% + \ncline{\Pointi}{\Pointii}% + \else % ELSE% + \addtocounter{nombre}{1}% + %% position des nouveauX points% + \pstHomO[HomCoef=1 3 div]{\Pointi}{\Pointii}{P\arabic{nombre}1}% + \pstHomO[HomCoef=2 3 div]{\Pointi}{\Pointii}{P\arabic{nombre}2}% + \pstRotation[RotAngle=60]{P\arabic{nombre}1}{P\arabic{nombre}2}{P\arabic{nombre}3}% + \addtocounter{nbvk}{-1}%% + \Push{\Pointi}\Push{\Pointii}\Push{\arabic{nombre}}\Push{\arabic{nbvk}}% + \vonkoch{\value{nbvk}}{\Pointi}{P\arabic{nombre}1}% + \addtocounter{lifon}{-1}\edef\nbvklocal{\Pop}% + \addtocounter{lifon}{-1}\edef\nombrelocal{\Pop}% + \addtocounter{lifon}{-1}\edef\Pointii{\Pop}% + \addtocounter{lifon}{-1}\edef\Pointi{\Pop}% + \addtocounter{lifon}{4}% + \vonkoch{\nbvklocal}{P\nombrelocal1}{P\nombrelocal3}% + \addtocounter{lifon}{-1}\edef\nbvklocal{\Pop}% + \addtocounter{lifon}{-1}\edef\nombrelocal{\Pop}% + \addtocounter{lifon}{-1}\edef\Pointii{\Pop}% + \addtocounter{lifon}{-1}\edef\Pointi{\Pop}% + \addtocounter{lifon}{4}% + \vonkoch{\nbvklocal}{P\nombrelocal3}{P\nombrelocal2}% + \addtocounter{lifon}{-1}\edef\nbvklocal{\Pop}% + \addtocounter{lifon}{-1}\edef\nombrelocal{\Pop}% + \addtocounter{lifon}{-1}\edef\Pointii{\Pop}% + \addtocounter{lifon}{-1}\edef\Pointi{\Pop}% + \addtocounter{lifon}{4}% + \vonkoch{\nbvklocal}{P\nombrelocal2}{\Pointii}% + \addtocounter{lifon}{-4}% + \fi% +}% +\psset{unit=2.5cm}% +\begin{pspicture}(-2,-2)(2,2)% + \psset{PointSymbol=none} + \pstGeonode(-2,-2){A}\pstGeonode(2,2){B}% + \pstRotation[RotAngle=60]{B}{A}{C}% + \vonkoch{5}{A}{B}\setcounter{nombre}{0}%%% + \vonkoch{4}{B}{C}\setcounter{nombre}{0}%%% + \vonkoch{4}{C}{A}%% +\end{pspicture}% +% +\end{document}% + +\begin{pspicture*}(-4,-5)(4,5)%\psgrid + %% \pstGeonode[PosAngle=-135](0,0){O} + %% \pstGeonode[PosAngle=-90](1,0.5){I} + %% \pstGeonode[PosAngle=-180](0.5,2){J} + \pstGeonode[PosAngle={-135,-90,-180}]{O}(1,0.5){I}(0.5,2){J} + \pstLineAB[nodesep=100]{O}{I} + \pstLineAB[nodesep=100]{O}{J} + \multips(-5,-2.5)(1,0.5){11}{\psline(0,-.15)(0,.15)}% + \multips(-5,-2.5)(1,0.5){11}{\psline[linestyle=dotted](-10,-40)(10,40)}% + \multips(-2,-8)(0.5,2){9}{\psline(-.15,0)(.15,0)}% + \multips(-2,-8)(0.5,2){9}{\psline[linestyle=dotted](-10,-5)(10,5)}% + %% huit points + \psset{PointSymbol=x} + \pstOIJGeonode(1,2){A}{O}{I}{J} + \pstOIJGeonode(-2,1){B}{O}{I}{J} + \pstOIJGeonode(-1,-1.5){C}{O}{I}{J} + \pstOIJGeonode(2,-1){D}{O}{I}{J} +\end{pspicture*} +% diff --git a/Master/texmf-dist/doc/generic/pst-eucl/euclide_english.pdf b/Master/texmf-dist/doc/generic/pst-eucl/euclide_english.pdf new file mode 100644 index 00000000000..b0577632f94 Binary files /dev/null and b/Master/texmf-dist/doc/generic/pst-eucl/euclide_english.pdf differ diff --git a/Master/texmf-dist/doc/generic/pst-eucl/euclide_english.tex b/Master/texmf-dist/doc/generic/pst-eucl/euclide_english.tex new file mode 100644 index 00000000000..69c0f0fda8a --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/euclide_english.tex @@ -0,0 +1,1176 @@ +\documentclass[12pt, draft]{report} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\usepackage{euclide} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\title{The \texttt{pst-euclide} Package} +\author{\Version\\\\Dominique Rodriguez\thanks{domino.rodriguez@laposte.net}} +\date{\Date} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\begin{document} +\maketitle +\begin{abstract} + The \texttt{pst-eucl} package allow the drawing of Euclidean + geometric figures using \LaTeX\ macros for specifying mathematical + constraints. It is thus possible to build point using common + transformations or intersections. The use of coordinates is limited + to points which controlled the figure. + + \vfill + + \begin{center}\bfseries + Acknowledgements + \end{center} + + I would like to thanks the following persons for the help they gave + me for development of this package: + + \begin{itemize} + \item Denis Girou pour ses critiques pertinentes et ses + encouragement lors de la découverte de l'embryon initial et pour + sa relecture du présent manuel ; + \item Michael Vulis for his fast testing of the documentation using + V\TeX\ which leads to the correction of a bug in the \PostScript\ code; + \item Manuel Luque and Olivier Reboux for their remarks and their examples. + \item Alain Delplanque for its modification propositions on automatic + placing of points name and the ability of giving a list of points in + \com{pstGeonode}. + \end{itemize} +\end{abstract} +%%%%%%%%%%%%%%%%%%%% +\renewcommand{\abstractname}{WARNING} +\begin{abstract} + This is the first release put on \texttt{CTAN} archives. + + \vfill + + \begin{center}\bfseries + LICENSE + \end{center} + + This program and its documentation can be redistributed and/or modified under the + terms of the ``\LaTeX{} Project Public License'' Distributed from \texttt{CTAN} + archives in directory \texttt{macros/latex/base/lppl.txt}. However, you may send me + an Email with a small commentary. Then you should consider making a + donation\footnote{especially if you use a purchased operating system!. Furthermore, + do not forget that \LaTeX{} is freely usable and that many users buy several + hundreds of euros (dollars, pounds) softwares of lower quality}: + +\begin{enumerate} +\item directly to the \LaTeX3 team; +\item and/or to me for the support of this package\footnote{1~\MonEuro, £1 ou \$1 is + OK, but I accept more.}. +\end{enumerate} + + A donation of time depending of competences is possible : correction of the + documentation (especially this one), test of functionnalities, propositions of + extensions, \ldots +\end{abstract} +\twocoltoc{} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\chapter{User's manual} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{Special specifications} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \subsection{\PStricks\ Options} + +The package activates the \com{SpecialCoor} mode. This mode extend the +coordinates specification. Furthermore the plotting type is set to +\texttt{dimen=middle}, which indicates that the position of the +drawing is done according to the middle of the line. Please look at +the user manual for more information about these setting. + +At last, the working axes are supposed to be (ortho)normed. + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \subsection{Conventions} + +For this manual, I used the geometric French conventions for naming +the points: + +\begin{itemize} +\item $O$ is a centre (circle, axes, symmetry, homothety, rotation); +\item $I$ defined the unity of the abscissa axe, or a midpoint; +\item $J$ defined the unity of the ordinate axe; +\item $A$, $B$, $C$, $D$ are points ; +\item $M'$ is the image of $M$ by a transformation ; +\end{itemize} + +At last, although these are nodes in \PStricks, I treat them +intentionally as points. + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{Basic Objects} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \subsection{Points} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \subsubsection{default axes} + +\defcom[Creates a list of points using the common axis. \protect\ParamList{\param{PointName}, + \param{PointNameSep}, \param{PosAngle}, \param{PointSymbol}, \param{PtNameMath}}] + {pstGeonode}{\OptArg{par}$(x_1,y_1)$\Arg{$A_1$}$(x_2,y_2)$\Arg{$A_2$}\ldots$(x_n,y_n)$\Arg{$A_n$}} + +This command defines one or more geometrical points associated with a node. Each +point has a node name \Argsans{$A_i$} which defines the default label put on the +picture. This label is managed by default in mathematical mode, the boolean parameter +\param{PtNameMath} \DefaultVal{true} can modify this behavior and let manage the +label in normal mode. It is placed at a distance of \cbstart\param{PointNameSep} +\DefaultVal{1em}\cbend{} of the center of the node with a angle of +\param{PosAngle}\DefaultVal{0}. It is possible to specify another label using the +parameter \param{PointName} \DefaultVal{default}, and an empty label can be specified +by selecting the value \texttt{none}, in that case the point will have no name on the +picture. + +The point symbol is given by the parameter \param{PointSymbol} \DefaultVal{*}. The +symbol is the same as used by the macro \com{pstdot}. This parameter can be set to +\texttt{none}, which means that the point will not be drawn on the picture. + +Here are the possible values for this parameter: + +\begin{multicols}{3} + \begin{itemize}\psset{dotscale=2} + \item \param{*}: \psdots(.5ex,.5ex) + \item \param{o}: \psdots[dotstyle=o](.5ex,.5ex) + \item \param{+}: \psdots[dotstyle=+](.5ex,.5ex) + \item \param{x}: \psdots[dotstyle=x](.5ex,.5ex) + \item \param{asterisk} : \psdots[dotstyle=asterisk](.5ex,.5ex) + \item \param{oplus}: \psdots[dotstyle=oplus](.5ex,.5ex) + \item \param{otimes}: \psdots[dotstyle=otimes](.5ex,.5ex) + \item \param{triangle}: \psdots[dotstyle=triangle](.5ex,.5ex) + \item \param{triangle*}: \psdots[dotstyle=triangle*](.5ex,.5ex) + \item \param{square}: \psdots[dotstyle=square](.5ex,.5ex) + \item \param{square*}: \psdots[dotstyle=square*](.5ex,.5ex) + \item \param{diamond}: \psdots[dotstyle=diamond](.5ex,.5ex) + \item \param{diamond*}: \psdots[dotstyle=diamond*](.5ex,.5ex) + \item \param{pentagon}: \psdots[dotstyle=pentagon](.5ex,.5ex) + \item \param{pentagon*}: \psdots[dotstyle=pentagon*](.5ex,.5ex) + \item \param{|}: \psdots[dotstyle=|](.5ex,.5ex) + \end{itemize} +\end{multicols} + +\cbstart Furthermore, these symbols can be controlled with some others \PStricks, +several of these are : + +\begin{itemize} +\item their scale with \param{dotscale}, the value of whom is either two numbers + defining the horizontal and vertical scale factor, or one single value being the + same for both, +\item their angle with parameter \param{dotangle}. +\end{itemize} + +Please consult the \PStricks documentation for further details.\cbend + +The parameters are specified explicitly in the \Argsans{par} part. The +parameters \param{PosAngle}, \param{PointSymbol}, \param{PointName} and +\param{PointNameSep} can be set to : + +\begin{itemize} +\item either a single value, the same for all points ; +\item or a list of values delimited by accolads \texttt{\{ ... \}} and + separated with comma \textit{without any blanks}, allowing to differenciate the + value for each point. +\end{itemize} + +In the later case, the list can have less values than point which means that the +last value is used for all the remaining points. + +\cbstart At least, the parameter \param{CurveType} \DefaultVal{none} can be used to +draw a line between the points: + +\begin{itemize} +\item opened \verb$polyline$ ; +\item closed \verb$polygon$ ; +\item open and curved \verb$curve$. +\end{itemize}\cbend + +% EXEMPLE GEONODE +\tabex{geonode} + +Obviously, the nodes appearing in the picture can be used as normal +\PStricks nodes. Thus, it is possible to reference a point from +\rnode{ici}{here}. +\nccurve[arrowscale=2]{->}{ici}{B_1} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \subsubsection{User defined axes} + + +\defcom[Creates a list of points in the landmark $(O;I;J)$. + \protect\ParamList{\param{PointName}, \param{PointNameSep}, \param{PosAngle}, + \param{PointSymbol}, \param{PtNameMath}}] + {pstOIJGeonode} + {\OptArg{par}$(x_1,y_1)$\Arg{$A_1$}\Arg{$O$}\Arg{$I$}\Arg{$J$}$(x_2,y_2)$\Arg{$A_2$}\ldots$(x_n,y_n)$\Arg{$A_n$}} + +This command allows the placement of points in any landmark(?) defined +by the three points $(O;I;J)$. + +%% EXAMPLE +\tabex{oij} + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \subsection{Segment mark} + +A segment can be drawn using the \com{ncline} command. However, +for marking a segment there is the following command: + +\defcom[Marks segment \Segment{AB} in its middle with the mark given by + \protect\param{SegmentSymbol}. \protect\ParamList{\param{SegmentSymbol}}] + {pstMarkSegment}{\OptArg{par}\Arg{$A$}\Arg{$B$}} + +The symbol drawn on the segment is given by the parameter +\param{SegmentSymbol}. Its value can be any valid command which can be +used in math mode. Its default value is \texttt{pstslashh}, +which produced two slashes on the segment. The segment is drawn. + +Several commands are predefined for marking the segment: + +\begin{multicols}{3} + \psset{PointSymbol=none, PointName=none, unit=.8} + \newcommand{\Seg}[1]{% + \com{#1} : \begin{pspicture}[.3](2,1) + \pstGeonode(0.3,.5){A}(1.7,.5){B}\pstSegmentMark[SegmentSymbol=#1]{A}{B} + \end{pspicture}}% + \begin{itemize} + \item \Seg{pstslash} ; + \item \Seg{pstslashh} ; + \item \Seg{pstslashhh} ; + \item \Seg{MarkHash} ; + \item \Seg{MarkHashh} ; + \item \Seg{MarkHashhh} ; + \item \Seg{MarkCros} ; + \item \Seg{MarkCross} ; + \end{itemize} +\end{multicols} + +The three commands of the family \texttt{MarkHash} draw a line whose inclination is +controled by the parameter \param{MarkAngle} \DefaultVal{45}. Their width and colour +depends of the width and color of the line when the drawing is done, ass shown is the +next example. + +%% EXAMPLE +\tabex{segmentmark} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \subsection{Triangles} + +The more classical figure, it has its own macro for a quick definition: + +\defcom[Draws a triangle. \protect\ParamList{\param{PointName}, + \param{PointNameSep}, \param{PointSymbol}, \param{PointNameA}, + \param{PosAngleA}, \param{PointSymbolA}, \param{PointNameB}, + \param{PosAngleB}, \param{PointSymbolB}, \param{PointNameC}, + \param{PosAngleC}, \param{PointSymbolC}}] + {pstTriangle}{% + \OptArg{par} + $(x_A;y_A)$\Arg{$A$}$(x_B;y_B)$\Arg{$B$}$(x_C;y_C)$\Arg{$C$}} + +In order to accurately put the name of the points, there are three parameters +\param{PosAngleA}, \param{PosAngleB} and \param{PosAngleC}, which are associated +respectively to the nodes \Argsans{$A$}, \Argsans{$B$} et \Argsans{$C$}. Obviously +they have the same meaning as the parameter \param{PosAngle}. If no angle +is specified for a given point, its name is put on the bissector line. + +In the same way there are parameters for controlling the symbol used +for each points: \param{PointSymbolA}, \param{PointSymbolB} and +\param{PointSymbolC}. They are equivalent to the parameter +\param{PointSymbol}. The management of the default value followed the +same rule. + +\tabex{triangle} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \subsection{Angles} + +Each angle is defined with three points. The vertex is the second +point. Their order is important because it is assumed that the angle is +specified in the direct order. The first command is the marking of a +right angle: + +\defcom[Marks the rigth angle \protect\Angle{ABC} given in direct + order. \protect\ParamList{\param{RightAngleType}, \param{RightAngleSize}, + \param{RightAngleSize}}] + {pstRightAngle}% + {\OptArg{par}\Arg{$A$}\Arg{$B$}\Arg{$C$}} + +\cbstart The symbol used is controlled by the parameter \param{RightAngleType} +\DefaultVal{default}. Its possible values are : + +\begin{itemize} +\item \verb$default$ : standard symbol ; +\item \verb$german$ : german symbol (given by U. Dirr) ; +\item \verb$suisseromand$ : swiss romand symbol (given P. Schnewlin). +\end{itemize}\cbend + +The only parameter controlling this command, excepting the ones which +controlled the line, is \param{RightAngleSize} which defines the size +of the symbol\DefaultVal{0.28 unit}. + +For other angles, there is the command: + +\defcom[Marks the angle \protect\Angle{ABC} given in direct order. + \protect\ParamList{\param{MarkAngleRadius}, \param{LabelAngleOffset}, + \param{Mark}}] + {pstMarkAngle}% + {\OptArg{par}\Arg{$A$}\Arg{$B$}\Arg{$C$}} + + +The \param{label} can be any valid \TeX\ box, it is put at \param{LabelSep} +\DefaultVal{1 unit} of the node in the direction of the bisector of the angle +modified by \param{LabelAngleOffset}\DefaultVal{0} and positioned using +\param{LabelRefPt} \DefaultVal{c}. Furthermore the arc used for marking has a radius +of \param{MarkAngleRadius} \DefaultVal{.4~unit}. At least, it is possible to place +an arrow using the parameter \param{arrows}.Finally, it is possible to mark +the angle by specifying a \TeX{} command as argument of parameter \param{Mark}. + +\tabex{angle} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \subsection{Lines, half-lines and segments} + +The classical line! + +\defcom[Draws line $(AB)$.] + {pstLineAB}{\OptArg{par}\Arg{$A$}\Arg{$B$}} + +In order to control its length\footnote{which is the comble for a +line!}, the two parameters \param{nodesepA} et \param{nodesepB} +specify the abscissa of the extremity of the drawing part of the line. +A negative abscissa specify an outside point, while a positive +abscissa specify an internal point. If these parameters have to be +equal, \param{nodesep} can be used instead. The default value of these +parameters is equal to 0. + +\tabex{droite} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \subsection{Circles} + +A circle can be defined either with its center and a point of its +circumference, or with two diameterly opposed points. There is two +commands : + +\renewcommand{\ComUnDescr}{Draws the circle of center $O$ crossing $A$. \protect\ParamList{\param{Radius}, + \param{Diameter}}.} +\renewcommand{\ComDeuxDescr}{Draws the circle of diameter $AB$. \protect\ParamList{\param{Radius}, + \param{Diameter}}.} +\defcomdeux{pstCircleOA}{\OptArg{par}\Arg{$O$}\Arg{$A$}}% + {pstCircleAB}{\OptArg{par}\Arg{$A$}\Arg{$B$}} + +For the first macro, it is possible to omit the second point and then +to specify a radius or a diameter using the parameters \param{Radius} +and \param{Diameter}. The values of these parameters must be specified +with one of the two following macros : + +\renewcommand{\ComUnDescr}{Specifies distance $AB$ for the parameters + \protect\param{Radius} and \protect\param{Diameter}. \protect\ParamList{\param{DistCoef}}.} +\renewcommand{\ComDeuxDescr}{Specifies a numerical value for the parameters + \protect\param{Radius} and \protect\param{Diameter}. \protect\ParamList{\param{DistCoef}}.} +\defcomdeux{pstDistAB}{\OptArg{par}\Arg{$A$}\Arg{$B$}}% + {pstDistVal}{\OptArg{par}\Arg{x}} + +The first specifies a distance between two points. The parameter +\param{DistCoef} can be used to specify a coefficient to reduce or +enlarge this distance. To be taken into account this last parameter +must be specified before the distance. The second macro can be used to +specify an explicit numeric value. + +We will see later how to draw the circle crossing three points. + +\vspace{1.1\baselineskip} +\begin{minipage}[m]{.45\linewidth} + With this package, it becomes possible to draw: + + \begin{itemize} + \item {\color{red} the circle of center $A$ crossing $B$;} + \item {\color{green} the circle of center $A$ whose radius is $AC$;} + \item {\color{blue} the circle of center $A$ whose radius is $BC$;} + \item {\color{Sepia} the circle of center $B$ whose radius is $AC$;} + \item {\color{Aquamarine} the circle of center $B$ of diameter $AC$;} + \item {\color{RoyalBlue} the circle whose diameter is $BC$.} + \end{itemize} +\end{minipage} +% +\input{Exemples/cercle} + +\smallverbatiminput{Exemples/cercle_in} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \subsection{Circle arcs} + +\renewcommand{\ComUnDescr}{Draws the circle arc of center $O$ and radius $OA$, + delimited by the angle $\protect\Angle{AOB}$ in direct order.} +\renewcommand{\ComDeuxDescr}{Draws the circle arc of center $O$ and radius $OA$, + delimited by the angle $\protect\Angle{AOB}$ in indirect order.} +\defcomdeux{pstArcOAB}{\OptArg{par}\Arg{$O$}\Arg{$A$}\Arg{$B$}}% + {pstArcnOAB}{\OptArg{par}\Arg{$O$}\Arg{$A$}\Arg{$B$}} + +These two macros draw circle arcs, $O$ is the center, the radius +defined by $OA$, the beginning angle given by $A$ and the final angle +by $B$. Finally, the first macro draws the arc in the direct way, +whereas the second in the indirect way. It is not necessary that the +two points are at the same distance of $O$. + +\tabex{arc} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \subsection{Curved abscissa} + +A point can be positioned on a circle using its curved abscissa. + +\defcom[Puts a point on a circle using an curves abscissa. + \protect\ParamList{\param{PointSymbol}, \param{PosAngle}, + \param{PointName}, \param{PointNameSep}, \param{PtNameMath}, \param{CurvAbsNeg}}] + {pstCurvAbsNode}{\OptArg{par}\Arg{$O$}\Arg{$A$}\Arg{$B$}\Arg{Abs}} + +The point \Argsans{$B$} is positioned on the circle of center +\Argsans{$O$} crossing \Argsans{$A$}, with the curved abscissa +\Argsans{Abs}. The origin is \Argsans{$A$} and the direction is +anti-clockwise by default. The parameter \param{CurvAbsNeg} +\DefaultVal{false} can change this behavior. + +If the parameter \param{PosAngle} is not specified, the point label is put +automatically in oirder to be alined with the circle center and the point. + +\tabex{abscur} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \subsection{Généric curve} + +It is possible to generate a set of points using a loop, and to give +them a generic name defined by a radical and a number. The following +command can draw a interpolated curve crossing all such kind of +points. + +\defcom[Draws an interpolate curve using a points family whose name has a + naming convention using a prefix and a number. + \protect\ParamList{\param{GenCurvFirst}, \param{GenCurvInc}, + \param{GenCurvLast}}] + {pstGenericCurve}{\OptArg{par}\Arg{Radical}\Arg{$n_1$}\Arg{$n_2$}} + +The curve is drawn on the points whose name is defined using the +radical \Argsans{Radical} followed by a number from \Argsans{$n_1$} to +\Argsans{$n_2$}. In order to manage side effect, the parameters +\param{GenCurvFirst} et \param{GenCurvLast} can be used to specified +special first or last point. The parameter \param{GenCurvInc} can be +used to modify the increment from a point to the next one +\DefaultVal{1}. + +\tabex{gencur} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{Geometric Transformations} + +The geometric transformations are the ideal tools to construct geometric figures. All +the classical transformations are available with the following macros \cbstart which +share the same syntaxic scheme end two parameters. + +The common syntax put at the end two point lists whose second is optional or with a +cardinal at least equal. These two lists contain the antecedent points and their +respective images. In the case no image is given for some points the a default name +is build appending a \verb$'$ to the antecedent name. + +The first shared parameter is \param{CodeFig} which draws the specific +constructions lines. Its default value is \param{false}, and a +\param{true} value activates this optional drawing. +The drawing is done using the line style \param{CodeFigStyle} +\DefaultVal{dashed}, with the color \param{CodeFigColor} +\DefaultVal{cyan}. + +Their second shared parameter is \param{CurveType} which controls the drawing of a +line crossing all images, and thus allow a quick description of a transformed figure.\cbend + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \subsection{Central symmetry} + +\defcom[Builds the symetric point $M'_i$ of $M_i$ in relation to point $O$. + \protect\ParamList{\param{PointSymbol}, \param{PosAngle}, + \param{PointName}, \param{PointNameSep}, \param{PtNameMath}, + \param{CodeFig}, \param{CodeFigColor}, \param{CodeFigStyle}}]{pstSymO}% + {\OptArg{par}\Arg{$O$}\Arg{$M_1, M_2, \cdots, M_n$}\OptArg{$M'_1, M'_2, \cdots, M'_p$}} + +Draw the symmetric point in relation to point $O$. The classical +parameter of point creation are usable here, and also for all the +following functions. + +\tabex{symcentrale} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \subsection{Orthogonal (or axial) symmetry} + +\defcom[Builds the symetric point $M'_i$ of $M_i$ in relation to line $(AB)$. + \protect\ParamList{\param{PointSymbol}, \param{PosAngle}, + \param{PointName}, \param{PointNameSep}, \param{PtNameMath}, + \param{CodeFig}, \param{CodeFigColor}, \param{CodeFigStyle}}]{pstOrtSym}% + {\OptArg{par}\Arg{$A$}\Arg{$B$}\Arg{$M_1, M_2, \cdots, M_n$}\OptArg{$M'_1, M'_2, \cdots, M'_p$}} + +Draws the symmetric point in relation to line $(AB)$. + +\tabex{symorthogonale} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \subsection{Rotation} + +\defcom[Builds the image $M'_i$ of $M_i$ using a rotation around $O$ of \protect\param{RotAngle} + degrees (direct). + \protect\ParamList{\param{PointSymbol}, \param{PosAngle}, + \param{PointName}, \param{PointNameSep}, \param{PtNameMath}, \param{RotAngle}}]{pstRotation}% + {\OptArg{par}\Arg{$O$}\Arg{$M_1, M_2, \cdots, M_n$}\OptArg{$M'_1, M'_2, \cdots, M'_p$}} + +Draw the image of $M_i$ by the rotation of center $O$ and angle given by +the parameter \param{RotAngle}. This later can be an angle specified +by three points. In such a case, the following function must be used: + +\defcom[Specifies the measure of \protect\Angle{AOB} (direct) for the parameter + \protect\param{RotAngle}. \protect\ParamList{\param{AngleCoef}}] + {pstAngleABC}{\Arg{$A$}\Arg{$B$}\Arg{$C$}} + +Never forget to use the rotation for drawing a square or an equilateral +triangle.\cbstart The parameter \param{CodeFig} puts a bow with an arrow between the +point and its image, and if \param{TransformLabel} \DefaultVal{none} +contain some text, it is put on the corresponding angle in mathematical mode. + +\tabex{rotation}\cbend + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \subsection{Translation} + +\defcom[Builds the translated $M'_i$ of $M_i$ using the vector \protect\Vecteur{AB}. + \protect\ParamList{\param{PointSymbol}, \param{PosAngle}, + \param{PointName}, \param{PointNameSep}, \param{PtNameMath}, \param{DistCoef}}] + {pstTranslation}% + {\OptArg{par}\Arg{$A$}\Arg{$B$}\Arg{$M_1, M_2, \cdots, M_n$}\OptArg{$M'_1, M'_2, \cdots, M'_p$}} + +Draws the translated $M'_i$ of $M_i$ using the vector \Vecteur{AB}. Useful for drawing a +parallel line. + +\tabex{translation} + +The parameter \param{DistCoef} can be used as a multiplicand +coefficient to modify the translation vector.\cbstart The parameter \param{CodeFig} +draws the translation vector le vecteur de translation between the +point and its image, labeled in its middle defaultly with the vector name or by the +text specified with \param{TransformLabel} \DefaultVal{none}.\cbend + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \subsection{Homothetie} + +\defcom[Builds the image $M'_i$ de $M_i$ using the homothetie of centre $O$ and coefficient + \protect\param{HomCoef}. + \protect\ParamList{\param{PointSymbol}, \param{PosAngle}, + \param{PointName}, \param{PointNameSep}, \param{PtNameMath}, \param{HomCoef}}] + {pstHomO}% + {\OptArg{par}\Arg{$O$}\Arg{$M_1, M_2, \cdots, M_n$}\OptArg{$M'_1, M'_2, \cdots, M'_p$}} + +Draws $M'_i$ the image of $M_i$ by the homotethy of center $O$ and +coefficient specified with the parameter \param{HomCoef}. + +\tabex{homothetie} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \subsection{Orthogonal projection} + +\defcom[Build the projected point $M'_i$ of $M_i$ on line $(AB)$. + \protect\ParamList{\param{PointSymbol}, \param{PosAngle}, + \param{PointName}, \param{PointNameSep}, \param{PtNameMath}, + \param{CodeFig}, \param{CodeFigColor}, \param{CodeFigStyle}}] + {pstProjection}% + {\OptArg{par}\Arg{$A$}\Arg{$B$}\Arg{$M_1, M_2, \cdots, M_n$}\OptArg{$M'_1, M'_2, \cdots, M'_p$}} + +Projects orthogonally the point $M_i$ on the line $(AB)$. Useful for the altitude of a +triangle. The name is aligned with the point and the projected point as +shown in the exemple. + +\tabex{projection} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{Special object} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \subsection{Midpoint} + +\defcom[Build the middle $I$ of \Segment{AB}. + \protect\ParamList{\param{PointSymbol}, \param{PosAngle}, + \param{PointName}, \param{PointNameSep}, \param{PtNameMath}, \param{SegmentSymbol}, + \param{CodeFig}, \param{CodeFigColor}, \param{CodeFigStyle}}] + {pstMiddleAB}% + {\OptArg{par}\Arg{$A$}\Arg{$B$}\Arg{$I$}} + +Draw the midpoint $I$ of segment $[AB]$. By default, the point name is +automatically put below the segment. + +\tabex{milieu} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \subsection{Triangle center of gravity} + +\defcom[Builds the centre of gravity $G$ of triangle $ABC$. + \protect\ParamList{\param{PointName}, \param{PointNameSep}, \param{PosAngle}, + \param{PointSymbol}, \param{PtNameMath}}] + {pstCGravABC}% + {\OptArg{par}\Arg{$A$}\Arg{$B$}\Arg{$C$}\Arg{$G$}} + +Draw the $ABC$ triangle centre of gravity $G$. + +\tabex{grav} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \subsection{Centre of the circumcircle of a triangle} + +\defcom[Buids the center $O$ of the circumcircle of triangle $ABC$. + \protect\ParamList{\param{PointName}, \param{PointNameSep}, \param{PosAngle}, + \param{PointSymbol}, \param{PtNameMath}, \param{DrawCirABC}, \param{CodeFig}, + \param{CodeFigColor}, \param{CodeFigStyle}, \param{SegmentSymbolA}, + \param{SegmentSymbolB}, \param{SegmentSymbolC}}] + {pstCircleABC}{\OptArg{par}\Arg{$A$}\Arg{$B$}\Arg{$C$}\Arg{$O$}} + +Draws the circle crossing three points (the circum circle) and put its center $O$. +The effective drawing is controlled by the boolean parameter \param{DrawCirABC} +\DefaultVal{true}.\cbstart Moreover the intermediate constructs (mediator lines) can +be drawn by setting the boolean parameter \param{CodeFig}. In that case the middle +points are marked on the segemnts using three different marks given by the parameters +\param{SegmentSymbolA}, \param{SegmentSymbolB} et \param{SegmentSymbolC}.\cbend + +\tabex% + [@{}m{.35\linewidth}@{\hspace{.013\linewidth}}>{\small}m{.627\linewidth}@{}]% + {ccirc} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \subsection{Perpendicular bisector of a segment} + +\defcom[Builds the perpendicular bisector of the segment \Segment{AB}, its middle $I$ + and a point $M$ of the bisector wich is the image of $B$ using rotation. + \protect\ParamList{\param{PointName}, \param{PointNameSep}, \param{PosAngle}, + \param{PointSymbol}, \param{PtNameMath}, \param{CodeFig}, + \param{CodeFigColor}, \param{CodeFigStyle}, \param{SegmentSymbol}}] + {pstMediatorAB}{\OptArg{par}\Arg{$A$}\Arg{$B$}\Arg{$I$}\Arg{$M$}} + +The perpendicular bisector of a segment is a line perpendicular to +this segment in its midpoint. The segment is $[AB]$, the midpoint $I$, +and $M$ is a point belonging to the perpendicular bisector line. It is +build by a rotation of $B$ of 90 degrees around $I$. This mean +that the order of $A$ and $B$ is important, it controls the position +of $M$. The command creates the two points $M$ end $I$. The +construction is controlled by the following parameters: + +\begin{itemize} +\item \param{CodeFig}, \param{CodeFigColor} et \param{SegmentSymbol} + for marking the right angle ; +\item \param{PointSymbol} et \param{PointName} for controlling the + drawing of the two points, each of them can be specified + separately with the parameters \param{...A} et \param{...B} ; +\item parameters controlling the line drawing. +\end{itemize} + +\tabex% + [@{}m{.35\linewidth}@{\hspace{.013\linewidth}}>{\small}m{.627\linewidth}@{}]% + {mediator} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \subsection{Bisectors of angles} + +\defcom[Builds the internal bisector of angle \protect\Angle{BAC} and one of its point + $M$, image of $B$ by rotation around $A$. + \protect\ParamList{\param{PointSymbol}, \param{PosAngle}, + \param{PointName}, \param{PointNameSep}, \param{PtNameMath}}] + {pstBissectBAC}{\OptArg{par}\Arg{$B$}\Arg{$A$}\Arg{$C$}\Arg{$N$}} + +\defcom[Builds the external bisector of angle \protect\Angle{BAC} and one of its point + $M$, image of $B$ by rotation around $A$. + \protect\ParamList{\param{PointSymbol}, \param{PosAngle}, + \param{PointName}, \param{PointNameSep}, \param{PtNameMath}}] + {pstOutBissectBAC}{\OptArg{par}\Arg{$B$}\Arg{$A$}\Arg{$C$}\Arg{$N$}} + +there are two bisectors for a given geometric angle: the inside one and +the outside one; this is why there is two commands. The angle is +specified by three points specified in the trigonometric direction +(anti-clockwise). The result of the commands is the specific line and +a point belonging to this line. This point is built by a rotation of +point $B$. + +\tabex% + [@{}m{.35\linewidth}@{\hspace{.013\linewidth}}>{\small}m{.627\linewidth}@{}]% + {bissec} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{Intersections} + +Points can be defined by intersections. Six intersection types are +managed: + +\begin{itemize} +\item line-line; +\item line-circle; +\item circle-circle; +\item function-function; +\item function-line; +\item function-circle. +\end{itemize} + +An intersection can not exist: case of parallel lines. In such a case, +the point(s) are positioned at the origin. In fact, the user has to +manage the existence of these points. + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \subsection{Line-Line} + +\defcom[Puts a point at the intersection of the two lines $(AB)$ et $(CD)$. + \protect\ParamList{\param{PointSymbol}, \param{PosAngle}, + \param{PointName}, \param{PointNameSep}, \param{PtNameMath}}] + {pstInterLL}% + {\OptArg{par}\Arg{$A$}\Arg{$B$}\Arg{$C$}\Arg{$D$}\Arg{$M$}} + +Draw the intersection point between lines $(AB)$ and $(CD)$. + +\begin{description} +\item[basique] + + \tabex{interDD} + +\item[Horthocentre] + + \tabex% + [@{}m{.35\linewidth}@{\hspace{.013\linewidth}}>{\small}m{.627\linewidth}@{}] + {orthocentre} + +\end{description} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \subsection{Circle--Line} + +\defcom[Puts the intersection point(s) between $(AB)$ and the circle of + centre $O$ crossing $C$. + \protect\ParamList{\param{PointSymbol}, \param{PosAngle}, + \param{PointName}, \param{PointNameSep}, \param{PtNameMath}, + \param{PointSymbolA}, \param{PosAngleA}, \param{PointNameA}, + \param{PointSymbolB}, \param{PosAngleB}, \param{PointNameB}, + \param{Radius}, \param{Diameter}}] + {pstInterLC}% + {\OptArg{par}\Arg{$A$}\Arg{$B$}\Arg{$O$}\Arg{$C$}% + \Arg{$M_1$}\Arg{$M_2$}} + +Draw the one or two intersection point(s) between the line $(AB)$ and +the circle of centre $O$ and with radius $OC$. + +The circle is specified with its center and either a point of its +circumference or with a radius specified with parameter \param{radius} +or its diameter specified with parameter \param{Diameter}. These two +parameters can be modify by coefficient \param{DistCoef}. + + +The position of the wo points is such that the vectors \Vecteur{AB} abd +\Vecteur{M_1M_2} are in the same direction. Thus, if the points +definig the line are switch, then the resulting points will be also +switched. If the intersection is void, then the points are positionned +at the center of the circle. + + +\tabex + [@{}m{.4\linewidth}@{\hspace{.013\linewidth}}>{\small}m{.5777\linewidth}@{}] + {interDC} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \subsection{Circle--Circle} + +\defcom[Put the intersection point(s) between the circle of centre $O_1$ passant + par $B$ et le cercle de centre $O_2$ passant par $C$.] + {pstInterCC}% + {\OptArg{par}\Arg{$O_1$}\Arg{$B$}\Arg{$O_2$}\Arg{$C$}% + \Arg{$M_1$}\Arg{$M_2$}} + +This function is similar to the last one. The boolean parameters +\param{CodeFigA} et \param{CodeFigB} allow the drawing of the arcs +at the intersection. In order to get a coherence \param{CodeFig} allow +the drawing of both arcs. The boolean parameters \param{CodeFigAarc} and +\param{CodeFigBarc} specified the direction of these optional arcs: +trigonometric (by default) or clockwise. Here is a first example. + +\tabex{interCC} + +And a more complete one, which includes the special circle +specification using radius and diameter. For such specifications it +exists the parameters \param{RadiusA}, \param{RadiusB}, +\param{DiameterA} and \param{DiameterB}. + +\begin{center} + \rule[-.5cm]{0pt}{8cm} + \begin{pspicture}(-3,-4)(7,3)\psgrid + \input{Exemples/interCC_bis_in} + \end{pspicture} +\end{center} + +\smallverbatiminput{Exemples/interCC_bis_in} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \subsection{Function--function} + +\defcom[Puts an intersection point between two function curves.] + {pstInterFF}{\OptArg{par}\Arg{$f$}\Arg{$g$}\Arg{$x_0$}\Arg{$M$}} + +This function put a point at the intersection between two curves +defined by a function. $x_0$ is an intersection approximated value of +the abscissa. It is obviously possible to ise this function several +time if more than one intersection is present. Each function is +describerd in \PostScript in the same way as the description used by +the \com{psplot} macro of \PStricks. A constant function can be +specified, and then seaching function root is possible. + +The Newton algorithm is used for the research, and the intersection +may not to be found. In such a case the point is positionned at the +origin. On the other hand, the research can be trapped (in a local +extremum near zero). + +\tabex{interFF} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \subsection{Function--line} + +\defcom[Puts an intersection point between one function curve and the line $(AB)$.] + {pstInterFL}{\OptArg{par}\Arg{$f$}\Arg{$A$}\Arg{$B$}\Arg{$x_0$}\Arg{$M$}} + +Puts a point at the intersection between the function $f$ and the line +$(AB)$. + +\tabex{interFL} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \subsection{Function--circle} + +\defcom[Puts an intersection point between one function curve and a circle.] + {pstInterFC}{\OptArg{par}\Arg{$f$}\Arg{$O$}\Arg{$A$}\Arg{$x_0$}\Arg{$M$}} + +Puts a point at the intersection between the function $f$ and the circle +of centre $O$ and radius $OA$. + +\tabex{interFC} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\chapter{Examples gallery} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \section{Basic geometry} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \subsection{Drawing of the bissector} + \nopagebreak[4] + +\tabex{gal_biss} + + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \cbstart\subsection{Transformation de polygones et courbes} + +Here is an example of the use of \param{CurveType} with transformation. +\nopagebreak[4] + +\begin{center} +\input{Exemples/curvetype} +\end{center}\nopagebreak[4] + +\smallverbatiminput{Exemples/curvetype_in}\cbend + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \subsection{Triangle lines} + +\begin{center} +\psset{unit=2cm} +\input{Exemples/remarq} +\end{center}\nopagebreak[4] + +\smallverbatiminput{Exemples/remarq_in} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \subsection{Euler circle} + +\begin{center} +\psset{unit=2cm} +\input{Exemples/euler} +\end{center}\nopagebreak[4] + +\smallverbatiminput{Exemples/euler_in} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \subsection{Orthocenter and hyperbola} + +The orthocenter of a triangle whose points are on the branches of the +hyperbola ${\mathscr H} : y=a/x$ belong to this hyperbola. +\nopagebreak[4] + +\begin{center} +\psset{unit=.5cm} +\input{Exemples/orthoethyper} +\end{center}\nopagebreak[4] + +\smallverbatiminput{Exemples/orthoethyper_in} + +\pagebreak[4] + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \subsection{17 sides regular polygon} + +Striking picture created by K. F. Gauss. +he also prooved that it is possible to build the regular polygons which +have $2^{2^p}+1$ sides, the following one has 257 sides! +\nopagebreak[4] + +\begin{center} +\psset{unit=1.5cm, CodeFig=true, RightAngleSize=.14, CodeFigColor=red, + CodeFigB=true, linestyle=dashed, dash=2mm 2mm} +\input{Exemples/gauss} +\end{center} + +\pagebreak[4] + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \subsection{Circles \& tangents} + +The drawing of the circle tangents which crosses a given point. +\nopagebreak[4] + +\begin{center} +\input{Exemples/tg1c} +\end{center} + +The drawing of the common tangent of two circles. +\nopagebreak[4] + +\begin{center} +\input{Exemples/tg2c} +\end{center} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \subsection{Fermat's point} + +Drawing of Manuel Luque.\nopagebreak[4] + +\begin{center} +\input{Exemples/ptfermat} +\end{center} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \subsection{Escribed and inscribed circles of a triangle} + +%% cercles inscrit et exinscrits d'un triangle +\begin{center} +\psset{unit=1cm, dash=5mm 4mm}%, PointSymbolA=none, PointSymbolB=none} +\input{Exemples/cinscex} +\end{center} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \section{Some locus points} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \subsection{Parabola} + +\begin{minipage}[m]{.33\linewidth} +The parabola is the set of points which are at the same distance +between a point and a line. +\end{minipage} +\newcommand{\NbPt}{11} +\input{Exemples/parabole}\nopagebreak[4] + +\smallverbatiminput{Exemples/parabole_in} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \subsection{Hyperbola} + +\begin{minipage}[b]{.55\linewidth} +The hyperbola is the set of points whose difference between their +distance of two points (the focus) is constant. +\begin{verbatim} +%% QQ RAPPELS : a=\Sommet, c=\PosFoyer, +%% b^2=c^2-a^2, e=c/a +%% pour une hyperbole -> e>1, donc c>a, +%% ici on choisi a=\sqrt{2}, c=2, e=\sqrt{2} +%% M est sur H <=> |MF-MF'|=2a +\end{verbatim} +\end{minipage} +%% QQ DEFINITIONS +\input{Exemples/hyperbole}\nopagebreak[4] + +\smallverbatiminput{Exemples/hyperbole_in} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \subsection{Cycloid} + +The wheel rolls from $M$ to $A$. The circle points are on a +cycloid.\nopagebreak[4] + +\begin{center} +\input{Exemples/cyclo} +\end{center}\nopagebreak[4] + +\smallverbatiminput{Exemples/cyclo_in} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \subsection{Hypocycloids (Astroid and Deltoid)} + +A wheel rolls inside a circle, and depending of the radius ratio, it +is an astroid, a deltoid and in the general case hypo-cycloids. +\nopagebreak[4] + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% ASTROIDE +\input{Exemples/hypocyclo} +%%%%%%%%%%%%%%%%%%%% +\begin{center} +\input{Exemples/astro}\input{Exemples/delto} +\end{center} + +\smallverbatiminput{Exemples/hypocyclo} +\smallverbatiminput{Exemples/astro_in} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \section{Lines and circles envelope} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \subsection{Conics} + +Let's consider a circle and a point $A$ not on the circle. The +set of all the mediator lines of segments defined by $A$ and the +circle points, create two conics depending of the position of $A$: + +\begin{itemize} +\item inside the circle: an hyperbola; +\item outside the circle: an ellipse. +\end{itemize} + +(figure of O. Reboux). + +\begin{center}\input{Exemples/envellipse}\end{center} + +\smallverbatiminput{Exemples/envellipse_in} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \subsection{Cardioid} + +The cardioid is defined by the circles centered on a circle and +crossing a given point. + +%\begin{center}\input{Exemples/envcardi}\end{center} + +\tabex% + [@{}m{.5\linewidth}@{\hspace{.013\linewidth}}>{\small}m{.627\linewidth}@{}]% + {envcardi} + +%\smallverbatiminput{Exemples/envcardi_in} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \section{Homotethy and fractals} + +\tabex{fracthom} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \section{hyperbolic geometry: a triangle and its altitudes} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Tracé de géodésique en géométrie hyperbolique +%% Attention ne fonctionne que si les points ne sont pas alignés avec O +%% Ceci est un cas particulier, je ne crois pas que les hauteurs +%% soient concourantes pour tous les triangles hyperboliques. +\input{Exemples/geohyper} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\appendix +\chapter{Glossaire des commandes}%%\markboth{GLOSSAIRE DES COMMANDES}{\thepage}% +%%\addcontentsline{toc}{chapter}{\protect\numberline{}Glossaire des commandes}% + +Here is the complete macros list defined by \texttt{pst-eucl}. Each is shown with a +short description and its parameters which control it. It is obvious that some over +\PStricks parameters can be used, especially the ones which control the drawing of +the line (width, style, color). + +\input{euclide_english_macros.ind} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\chapter{The parameters of \texttt{pst-eucl}} + +\begin{longtable}{|l|l|p{10cm}|} + \hline + \multicolumn{1}{|c|}{\textbf{Paramètre}} & + \multicolumn{1}{c|}{\textbf{Défaut}} & + \multicolumn{1}{c|}{\textbf{Signification}} \\\hline\hline + \endfirsthead + \hline + \multicolumn{1}{|c|}{\textbf{Paramètre}} & + \multicolumn{1}{c|}{\textbf{Défaut}} & + \multicolumn{1}{c|}{\textbf{Signification}} \\\hline\hline + \endhead + \hline + \multicolumn{3}{|c|}{$\ldots$ à suivre $\ldots$}\\ + \hline + \endfoot + \hline + \endlastfoot + \param{PointSymbol}&\verb$default$&Symbol used for drawing a point.\\\hline + \param{PointSymbolA}&\verb$default$&idem for the first point of several.\\\hline + \param{PointSymbolB}&\verb$default$&for the second\ldots\\\hline + \param{PointSymbolC}&\verb$default$&for the third\ldots\\\hline + \param{PointName}&\verb$default$&Point's label.\\\hline + \param{PointNameA}&\verb$default$&idem for the first point of several.\\\hline + \param{PointNameB}&\verb$default$&for the second\ldots\\\hline + \param{PointNameC}&\verb$default$&for the third\ldots\\\hline + \param{PtNameMath}&\verb$true$&boolean parameter for (de)-activate the math style + for the point name..\\\hline + \param{SegmentSymbol}&\verb$default$&Symbol used for marking a segment\\\hline + \param{SegmentSymbolA}&\verb$default$&idem for the first segment of a macro which + marks several.\\\hline + \param{SegmentSymbolB}&\verb$default$&for the second\ldots\\\hline + \param{SegmentSymbolC}&\verb$default$&for the third\ldots\\\hline + \param{Mark}&\verb$default$&the mark symbol for an angle.\\\hline + \param{MarkAngle}&\verb$default$&angle for the precedent symbol.\\\hline + \param{PointNameSep}&\verb$1em$&Distance from the label and a point.\\\hline + \param{PosAngle}&\verb$undef$&Label position around the point.\\\hline + \param{PosAngleA}&\verb$undef$&idem for the first point.\\\hline + \param{PosAngleB}&\verb$undef$&for the second\ldots\\\hline + \param{PosAngleC}&\verb$undef$&for the third\ldots\\\hline + \param{RightAngleSize}&\verb$.4$&size for the right angle symbol\\\hline + \param{RightAngleType}&\verb$default$&Right angle type, possible value: + \verb$german$ et \verb$suisseromand$\\\hline + \param{MarkAngleRadius}&\verb$.4$&Radius of the angle mark.\\\hline + \param{LabelAngleOffset}&\verb$0$&Angular offset for the angle label.\\\hline + \param{LabelSep}&\verb$1$&Distance from the label and the angle top and its label.\\\hline + \param{LabelRefPt}&\verb$c$&Reference point \TeX\ used for the angle label.\\\hline + \param{HomCoef}&\verb$.5$&Homothetie angle.\\\hline + \param{RotAngle}&\verb$60$&Rotation angle.\\\hline + \param{DrawCirABC}&\verb$true$&Boolean parameter driving the drawing of the circumcircle.\\\hline + \param{CodeFig}&\verb$false$&Boolean parameter driving the coding of the construct.\\\hline + \param{CodeFigA}&\verb$false$&idem for the first\ldots\\\hline + \param{CodeFigB}&\verb$false$&idem for the second\ldots\\\hline + \param{CodeFigColor}&\verb$cyan$&Line color for the coding.\\\hline + \param{CodeFigStyle}&\verb$dashed$&Line style for the coding.\\\hline + \param{CodeFigAarc}&\verb$true$&Boolean parameter driving the drawing of the bows + around the first intersection.\\\hline + \param{CodeFigBarc}&\verb$true$&idem for the second\ldots\\\hline + \param{Radius}&\verb$none$&Circle radius.\\\hline + \param{RadiusA}&\verb$undef$&For the first circle.\\\hline + \param{RadiusB}&\verb$undef$&For the second circle.\\\hline + \param{Diameter}&\verb$none$&Circle diameter.\\\hline + \param{DiameterA}&\verb$undef$&For the first circle.\\\hline + \param{DiameterB}&\verb$undef$&For the second circle.\\\hline + \param{DistCoef}&\verb$none$&Coefficient for modifying a distance/vector.\\\hline + \param{AngleCoef}&\verb$none$&Coefficient for modifying an angle.\\\hline + \param{CurvAbsNeg}&\verb$false$&Boolean parameter driving the direction of curved abscissa.\\\hline + \param{GenCurvFirst}&\verb$none$&Name of the first point of a generic curve (side effect).\\\hline + \param{GenCurvLast}&\verb$none$&Name of the last point of a generic curve (side effect).\\\hline + \param{GenCurvInc}&\verb$none$&Increment value for a generic curve.\\\hline + \cbstart% + \param{CurveType}&\verb$none$&Drawing mode for a list of points.\\\hline + \param{TransformLabel}&\verb$none$&Label to be used for the rotation or the translation.\\\hline +\end{longtable} + +\cbend + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\cbstart\chapter{Compatibilité ascendantes de \texttt{pst-eucl}} + +Especially for this release, some macros have their syntax changed without changing +their name, this mean that upward compatibility is not maintained. However, in order +to help users it is possible to reactivate the old syntax by setting the option +\texttt{old} when using the package \verb$\usepackage[old]{pst-eucl}$. For this +release this concern the macros for geometric transformations. You must refer to the +latter manual for the syntax. + +\cbend +\end{document} diff --git a/Master/texmf-dist/doc/generic/pst-eucl/euclide_macros.ist b/Master/texmf-dist/doc/generic/pst-eucl/euclide_macros.ist new file mode 100644 index 00000000000..d5fb92a41c7 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-eucl/euclide_macros.ist @@ -0,0 +1,33 @@ +% makeindex style file for the glossary +%% aide dans man makeindex + +keyword "\\glossaryentry" + +%% changement de l'environnement de l'index +%%preamble "\\begin{theglossary}\n" +%%postamble "\n\n\\end{theglossary}\n" + +preamble "%% GLOSSAIRE\n\n\\newcounter{Npage}\\setcounter{Npage}{0}" +postamble "\n\n%% FIN DU GLOSSAIRE\n\n" + +group_skip "\n\n" + +line_max 2048 + +%%delim_0 " %% delim 0--" +delim_0 " %% delim 0--\n \\setcounter{Npage}{" +%%delim_1 "\\nopagebreak[4]\\vspace{.5\\baselineskip}\n %% delim_1" +delim_1 "\\dotfill\\arabic{Npage}\n\\nopagebreak[4]\\vspace{.5\\baselineskip}\n\n \\hfill\\begin{minipage}{.8\\linewidth}%% delim_1--p" +%%delim_2 "\\end{minipage}\\hspace*{\\fill}\n\n\\hfill\\rule{.85\\linewidth}{.5pt}\\hspace*{\\fill}%% delim_2--p" +delim_2 "\\end{minipage}\\hspace*{\\fill}\n\n%% delim_2--p" + +%%item_0 "\n\n\\vspace{\\baselineskip}\\hspace{3em}\n \\indexcom{" +%%item_0 "\n\n\\vspace{\\baselineskip}\\hspace{3em}\n %%% item_0 " +item_0 "\n\n\\vspace{\\baselineskip}\\hspace{-.5em}\n %%% item_0 " +item_1 "\n\n\\vspace{\\baselineskip}\\hspace{3em}\n " +item_2 "\n %% item_2" +%%item_01 "\n %% item_01 " +item_01 "}%\n %% item_01\n " +item_x1 "\n " +item_12 "\n\n " +item_x2 "\n %% item_x2" \ No newline at end of file -- cgit v1.2.3