summaryrefslogtreecommitdiff
path: root/graphics/pstricks/contrib/pst-eucl/doc/pst-eucl-doc.tex
diff options
context:
space:
mode:
Diffstat (limited to 'graphics/pstricks/contrib/pst-eucl/doc/pst-eucl-doc.tex')
-rw-r--r--graphics/pstricks/contrib/pst-eucl/doc/pst-eucl-doc.tex107
1 files changed, 82 insertions, 25 deletions
diff --git a/graphics/pstricks/contrib/pst-eucl/doc/pst-eucl-doc.tex b/graphics/pstricks/contrib/pst-eucl/doc/pst-eucl-doc.tex
index c3b6bed35c..164e8a6ad3 100644
--- a/graphics/pstricks/contrib/pst-eucl/doc/pst-eucl-doc.tex
+++ b/graphics/pstricks/contrib/pst-eucl/doc/pst-eucl-doc.tex
@@ -9,7 +9,6 @@
\usepackage[mathscr]{eucal}
\def\eV{e.\kern-1pt{}V\kern-1pt}
-
\lstset{pos=l,wide=false,basicstyle=\footnotesize\ttfamily,explpreset={language=[PSTricks]{TeX}}}
%
\def\Argsans#1{$\langle$#1$\rangle$}
@@ -488,16 +487,22 @@ For example:
\pstTriangleOC[PosAngle=90,PointSymbol=*,PointName=X]{A}{B}{C}[X]
\end{lstlisting}
-The macros \Lcs{pstTriangleGC}, \Lcs{pstTriangleHC} and \Lcs{pstTriangleEC} are used to draw the barycenter $G$, the orthocentre $H$ and the escenter $E$ of the triangle $ABC$.
+The macros \Lcs{pstTriangleGC}, \Lcs{pstTriangleHC}, \Lcs{pstTriangleEC}, \Lcs{pstTriangleNC}, \Lcs{pstTriangleLC}
+are used to draw the barycenter $G$, the orthocentre $H$, the escenter $E$, the nine points circle center
+and the Lemonie point (or symmedian point) of the triangle $ABC$.
\begin{BDef}
\Lcs{pstTriangleGC}\OptArgs\Largb{A}\Largb{B}\Largb{C}\Largb{G}\OptArg{$M_1$}\OptArg{$M_2$}\\
\Lcs{pstTriangleHC}\OptArgs\Largb{A}\Largb{B}\Largb{C}\Largb{H}\OptArg{$H_1$}\OptArg{$H_2$}\\
-\Lcs{pstTriangleEC}\OptArgs\Largb{A}\Largb{B}\Largb{C}\Largb{E}\OptArg{$T_1$}
+\Lcs{pstTriangleEC}\OptArgs\Largb{A}\Largb{B}\Largb{C}\Largb{E}\OptArg{$T_1$}\\
+\Lcs{pstTriangleNC}\OptArgs\Largb{A}\Largb{B}\Largb{C}\Largb{N}\OptArg{$M_1$}\OptArg{$M_2$}\OptArg{$M_3$}\\
+\Lcs{pstTriangleLC}\OptArgs\Largb{A}\Largb{B}\Largb{C}\Largb{L}\OptArg{$S_1$}\OptArg{$S_2$}\OptArg{$S_3$}
\end{BDef}
-You can use the options of node like as \verb|PointName=...|, \verb|PosAngle=...|, \verb|PointSymbol=...| to control the output nodes $G,H,E$. But if you give the optional output parameters $M_1,M_2$, or $H_1,H_2$ or $T_1$, then you should pass the option value in list like as \verb|PointName={...}|, \verb|PosAngle={...}|, \verb|PointSymbol={...}|.
-For example,
+You can use the options of node like as \verb|PointName=...|, \verb|PosAngle=...|, \verb|PointSymbol=...|
+to control the output nodes $G,H,E$. But if you give the optional output parameters $M_1,M_2$, or $H_1,H_2$
+or $T_1$, then you should pass the option value in list like as \verb|PointName={...}|,
+\verb|PosAngle={...}|, \verb|PointSymbol={...}|. For example,
\begin{LTXexample}[width=6cm,pos=l]
\begin{pspicture}[showgrid=true](-3,-3)(3,2)
@@ -505,11 +510,13 @@ For example,
\pstGeonode[PosAngle=90](0,1){A}
\pstGeonode[PosAngle=-90](-1,-0.6){B}
\pstGeonode[PosAngle=-90](1.5,-0.6){C}
-\pstTriangleGC[PointSymbol={*,none,*},PosAngle={150,-80,30}]{A}{B}{C}{G}[M_1][M_2]
-\pstTriangleHC[PointSymbol={*,*,none},PosAngle={-30,-100,30}]{A}{B}{C}{H}[H_1][H_2]
-\pstTriangleEC[PointSymbol={*,none},PosAngle={90,30}]{A}{B}{C}{E_1}[T_1]
+\pstTriangleGC[PointSymbol={*,none,*},PosAngle={-30,-80,30},PointNameSep=0.22cm]{A}{B}{C}{G}[M_1][M_2]
+\pstTriangleHC[PointSymbol={*,*,none},PosAngle={160,-120,30},PointNameSep=0.22cm]{A}{B}{C}{H}[H_1][H_2]
+\pstTriangleEC[PointSymbol={*,*},PosAngle={90,-40}]{A}{B}{C}{E_1}[T_1]
\pstTriangleEC[PointSymbol=*,PosAngle=0]{B}{C}{A}{E_2}
\pstTriangleEC[PointSymbol=*,PosAngle=180]{C}{A}{B}{E_3}
+\pstTriangleNC[PointSymbol=*,PosAngle=40,linestyle=dashed,linecolor=cyan!60]{A}{B}{C}{N}
+\pstTriangleLC[PointSymbol=*,PosAngle=200,linecolor=green!80,PointNameSep=0.22cm]{A}{B}{C}{L}
\pstLineAB{A}{B}\pstLineAB{B}{C}\pstLineAB{C}{A}
\pstCircleOA[linestyle=dashed,linecolor=gray!40]{E_1}{T_1}[30][150]
\pstLineAB[linestyle=dashed,linecolor=blue!40]{A}{M_1}
@@ -533,8 +540,9 @@ right angle:
\begin{sloppypar}
-Valid optional arguments are \Lkeyword{RightAngleType}, \Lkeyword{RightAngleSize},
- \Lkeyword{RightAngleSize}, and \Lkeyword{RightAngleDotDistance}
+The valid optional arguments controlling this command, excepting the ones which
+controlled the line, are \Lkeyword{RightAngleType}, \Lkeyword{RightAngleSize},
+\Lkeyword{RightAngleSize}, and \Lkeyword{RightAngleDotDistance}.
\end{sloppypar}
The symbol is controlled by the parameter \Lkeyword{RightAngleType}
@@ -546,18 +554,12 @@ The symbol is controlled by the parameter \Lkeyword{RightAngleType}
\item \Lkeyval{suisseromand} : swiss romand symbol (given P. Schnewlin).
\end{compactitem}
-\begin{sloppypar}
-The only parameters controlling this command, excepting the ones which
-controlled the line, is \Lkeyword{RightAngleSize} which defines the size
-of the symbol \DefaultVal{0.28 unit} and \Lkeyword{RightAngleDotDistance}. For a
-right angle style \Lkeyval{german} or \Lkeyval{swissromand} the distance of the dot
+The optional argument \Lkeyword{RightAngleSize} defines the size of the symbol \DefaultVal{0.28 unit}.
+
+For a right angle style \Lkeyval{german} or \Lkeyval{swissromand} the distance of the dot
is preset to 0.5 (\Lkeyval{german}) or 0.45 (\Lkeyval{swissromand}), relative to the radius.
-It can be controlled by the optional argument \Lkeyword{RightAngleDotDistance} which is
+However, it can be controlled by the optional argument \Lkeyword{RightAngleDotDistance} which is
preset to 1. A greater value moves the dot away from the reference point.
-\end{sloppypar}
-
-
-
For other angles, there is the command:
@@ -568,8 +570,7 @@ For other angles, there is the command:
\begin{sloppypar}
Valid optional arguments are \Lkeyword{MarkAngleRadius}, \Lkeyword{LabelAngleOffset},
- \Lkeyword{MarkAngleType} and
- \Lkeyword{Mark}
+\Lkeyword{MarkAngleType} and \Lkeyword{Mark}.
%
The \Lkeyword{label} can be any valid \TeX\ box, it is put at \Lkeyword{LabelSep}
\DefaultVal{1 unit} of the node in the direction of the bisector of the angle
@@ -1172,13 +1173,13 @@ Another example is for \Lcs{pstDistMul}, the old code like as
\begin{lstlisting}
\pstCircleOA[DistCoef=1 3 div,Radius=\pstDistAB{A}{B}]{O}{}
\pstCircleOA[DistCoef=1 3 div,Radius=\pstDistAB{A}{B}]{A}{B}{O}{}{I}{J}
-\pstInterCC[DistCoef=1 3 div,RadiusA=\pstDistAB{A}{B},DistCoef=none,RadiusA=\pstDistAB{C}{D}]{O1}{}{O2}{}{I}{J}
+\pstInterCC[DistCoef=1 3 div,RadiusA=\pstDistAB{A}{B},DistCoef=none,RadiusB=\pstDistAB{C}{D}]{O1}{}{O2}{}{I}{J}
\end{lstlisting}
could be simplified to
\begin{lstlisting}
\pstCircleOA[Radius=\pstDistMul{A}{B}{1 3 div}]{O}{}
\pstInterLC[Radius=\pstDistMul{A}{B}{1 3 div}]{A}{B}{O}{}{I}{J}
-\pstInterCC[RadiusA=\pstDistMul{A}{B}{1 3 div},RadiusA=\pstDistAB{C}{D}]{O1}{}{O2}{}{I}{J}
+\pstInterCC[RadiusA=\pstDistMul{A}{B}{1 3 div},RadiusB=\pstDistAB{C}{D}]{O1}{}{O2}{}{I}{J}
\end{lstlisting}
\vspace{10pt}\noindent{}{\Large{\textbf{Important}}}!
@@ -1366,7 +1367,7 @@ so you can't omit the parameter $A$.
The direction to find node $X$ is anti-clockwise by default.
The parameter \Lkeyword{CurvAbsNeg}\DefaultVal{false} can change this behavior.
-At last, the chord length $L$ chouldn't large than the diameter of the circle,
+At last, the chord length $L$ shouldn't large than the diameter of the circle,
else we will put the node $X$ at origin.
\begin{LTXexample}[width=6cm,pos=l]
@@ -2003,6 +2004,34 @@ when you pass it to \Lcs{pstGeneralEllipse}, PostScript will lookup the value of
\vspace{10pt}
+The Macro \Lcs{pstGeneralEllipseFFN} is used to define a General Ellipse by the given focus nodes $F_1$, $F_2$, and one node $N$ on it.
+It just calculate the center $O$, major radius $a$, minor radius $b$ and the rotation angle $\theta$ of the major axis,
+then you can pass them into macro \Lcs{pstGeneralEllipse} to draw this ellipse.
+
+\begin{BDef}
+\Lcs{pstGeneralEllipseFFN}\OptArgs\Largb{$F_1$}\Largb{$F_2$}\Largb{O}\Largb{Rab}\Largb{$\theta$}
+\end{BDef}
+
+The output parameter \texttt{O}, the output parameter \texttt{Rab} and the output parameter \texttt{$\theta$}
+are same with \Lcs{pstGeneralEllipseFle}.
+
+\begin{LTXexample}[width=6cm,pos=l]
+\begin{pspicture}[showgrid=true](0,0)(4,4)
+\psset{dotscale=0.5}\psset{PointSymbol=*}\footnotesize
+\pstGeonode[PosAngle=-90](1,1){F_1}
+\pstGeonode[PosAngle=-90](3,3){F_2}
+\pstGeonode[PosAngle=-90](1,3){F_3}
+\pstGeonode[PosAngle=-90](3,1){F_4}
+\pstGeonode[PosAngle=90](2,3){N}
+\pstGeneralEllipseFFN[linecolor=red!30,CodeFig=true]{F_1}{F_2}{N}{O}{R1}{angle1}
+\pstGeneralEllipse[linecolor=red!30](O)(R1)[angle1]
+\pstGeneralEllipseFFN[linecolor=blue!30,CodeFig=true]{F_3}{F_4}{N}{O}{R2}{angle2}
+\pstGeneralEllipse[linecolor=blue!30](O)(R2)[angle2]
+\end{pspicture}
+\end{LTXexample}
+
+\vspace{10pt}
+
The Macro \Lcs{pstGeneralEllipseCoef} is used to define a General Ellipse by the quadratic curve equation $ax^2+bxy+cy^2+dx+ey+f=0$,
it just calculate the center $O$, major radius $a$, minor radius $b$ and the rotation angle $\theta$ of the major axis,
then you can pass them into macro \Lcs{pstGeneralEllipse} to draw this ellipse.
@@ -3443,6 +3472,34 @@ when you pass it to \Lcs{pstGeneralHyperbola}, PostScript will lookup the value
\vspace{10pt}
+The Macro \Lcs{pstGeneralHyperbolaFFN} is used to define a General Hyperbola by the given focus nodes $F_1$, $F_2$, and one node $N$ on it.
+It just calculate the center $O$, major radius $a$, minor radius $b$ and the rotation angle $\theta$ of the major axis,
+then you can pass them into macro \Lcs{pstGeneralHyperbola} to draw this hyperbola.
+
+\begin{BDef}
+\Lcs{pstGeneralHyperbolaFFN}\OptArgs\Largb{$F_1$}\Largb{$F_2$}\Largb{O}\Largb{Rab}\Largb{$\theta$}
+\end{BDef}
+
+The output parameter \texttt{O}, the output parameter \texttt{Rab} and the output parameter \texttt{$\theta$}
+are same with \Lcs{pstGeneralHyperbolaFle}.
+
+\begin{LTXexample}[width=6cm,pos=l]
+\begin{pspicture}[showgrid=true](0,0)(4,4)
+\psset{dotscale=0.5}\psset{PointSymbol=*}\footnotesize
+\pstGeonode[PosAngle=-90](1,1){F_1}
+\pstGeonode[PosAngle=-90](3,3){F_2}
+\pstGeonode[PosAngle=-90](1,3){F_3}
+\pstGeonode[PosAngle=-90](3,1){F_4}
+\pstGeonode[PosAngle=90](2,3){N}
+\pstGeneralHyperbolaFFN[linecolor=red!30,CodeFig=true]{F_1}{F_2}{N}{O}{R1}{angle1}
+\pstGeneralHyperbola[linecolor=red!30](O)(R1)[angle1][65]
+\pstGeneralHyperbolaFFN[linecolor=blue!30,CodeFig=true]{F_3}{F_4}{N}{O}{R2}{angle2}
+\pstGeneralHyperbola[linecolor=blue!30](O)(R2)[angle2][65]
+\end{pspicture}
+\end{LTXexample}
+
+\vspace{10pt}
+
The Macro \Lcs{pstGeneralHyperbolaCoef} is used to define a General Hyperbola by the quadratic curve equation $ax^2+bxy+cy^2+dx+ey+f=0$,
it just calculate the center $O$, real radius $a$ and imaginary radius $b$ and the rotation angle $\theta$ of the real axis,
then you can pass them into macro \Lcs{pstGeneralHyperbola} to draw this hyperbola.