diff options
Diffstat (limited to 'Master/texmf-dist/doc/generic/pst-eucl/euclide_english.tex')
-rw-r--r-- | Master/texmf-dist/doc/generic/pst-eucl/euclide_english.tex | 1176 |
1 files changed, 1176 insertions, 0 deletions
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} |