summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/generic
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2016-08-21 21:40:48 +0000
committerKarl Berry <karl@freefriends.org>2016-08-21 21:40:48 +0000
commit61f034941d65cf39d29d8b935d96af5bd35d72b5 (patch)
tree624754fa8e4b462f03d7502ee4cca44c0e1c889f /Master/texmf-dist/doc/generic
parent9c9dda62402e3156b09391a12663a213ae391ff1 (diff)
pst-bezier (21aug16)
git-svn-id: svn://tug.org/texlive/trunk@41899 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/generic')
-rw-r--r--Master/texmf-dist/doc/generic/pst-bezier/Changes5
-rw-r--r--Master/texmf-dist/doc/generic/pst-bezier/README.md (renamed from Master/texmf-dist/doc/generic/pst-bezier/README)9
-rw-r--r--Master/texmf-dist/doc/generic/pst-bezier/pst-bezier-doc.bib214
-rw-r--r--Master/texmf-dist/doc/generic/pst-bezier/pst-bezier-doc.pdfbin102996 -> 1163955 bytes
-rw-r--r--Master/texmf-dist/doc/generic/pst-bezier/pst-bezier-doc.tex457
5 files changed, 553 insertions, 132 deletions
diff --git a/Master/texmf-dist/doc/generic/pst-bezier/Changes b/Master/texmf-dist/doc/generic/pst-bezier/Changes
index 66485d07ff9..149148692d8 100644
--- a/Master/texmf-dist/doc/generic/pst-bezier/Changes
+++ b/Master/texmf-dist/doc/generic/pst-bezier/Changes
@@ -1,10 +1,15 @@
-- pst-bezier.tex ---
+0.02 2016-08-19 added macro \psRQBCmasse for a Bezier curve,
+ definied by three weighted points
0.01 2009-01-29 first CTAN version
-- pst-bezier.sty ---
+0.02 2016-08-19 - load expl3 for floating point operations
+ - define \pscalculation
0.01 2009-01-29 first CTAN version
-- pst-bezier.pro ---
+0.02 2016-08-19 added function tx@RQBCmasse for a Bezier curve
0.01 2009-01-29 first CTAN version
diff --git a/Master/texmf-dist/doc/generic/pst-bezier/README b/Master/texmf-dist/doc/generic/pst-bezier/README.md
index c8f371e9078..23a4246c098 100644
--- a/Master/texmf-dist/doc/generic/pst-bezier/README
+++ b/Master/texmf-dist/doc/generic/pst-bezier/README.md
@@ -1,9 +1,9 @@
Save the files pst-bezier.sty|tex in a directory, which is part of your
local TeX tree. pst-bezier.pro should be saved in ../texmf/dvips/pstricks/
Then do not forget to run texhash to update this tree.
-pst-bezier needs pst-plot and pst-tricks, which should be part of your
-local TeX installation, otherwise get it from a CTAN server, f.ex.
-http://www.CTAN.org
+pst-bezier needs pst-plot and pstricks, which should be part of your
+local TeX installation, otherwise get it from a CTAN server
+http://mirror.CTAN.org
Save the files
@@ -37,6 +37,3 @@ latex on the documentation file.
The intermediate DVI file works only with viewers which can
interprete the embedded PostScript code.
-
-For another PDF output read the Introduction from
-the documentation.
diff --git a/Master/texmf-dist/doc/generic/pst-bezier/pst-bezier-doc.bib b/Master/texmf-dist/doc/generic/pst-bezier/pst-bezier-doc.bib
index d4c75592e2a..4493f87ffce 100644
--- a/Master/texmf-dist/doc/generic/pst-bezier/pst-bezier-doc.bib
+++ b/Master/texmf-dist/doc/generic/pst-bezier/pst-bezier-doc.bib
@@ -1,110 +1,148 @@
-@STRING{dtk = {{D}ie {\TeX}nische {K}om{\"o}die} }
+@STRING{tugboat = {TUGboat} }
+@STRING{beiprogramm = {{\TeX}-Beiprogramm} }
+@STRING{bretter = {Bretter, die die Welt bedeuten} }
+@STRING{dtk = {{D}ie {\TeX}nische {K}om{\"o}die} }
+@STRING{editorial = {Editorial} }
+@STRING{fremdebuehne = {Von fremden B{\"u}hnen} }
+@STRING{fundus = {Aus dem Fundus} }
+@STRING{hinterbuehne = {Hinter der B{\"u}hne} }
+@STRING{leserbrief = {Leserbrief(e)} }
+@STRING{magazin = {Magazin} }
+@STRING{rezension = {Rezensionen} }
+@STRING{schonimmer = {Was Sie schon immer {\"u}ber {\TeX} wissen wollten \dots} }
+@STRING{theaterkasse = {Von der Theaterkasse} }
+@STRING{theatertage = {{\TeX}-Theatertage} }
-@Book{PostScript,
- Author = {Kollock, Nikolai G.},
- Title = {PostScript richtig eingesetzt: vom Konzept zum
- praktischen Einsatz},
- Publisher = {IWT},
- Address = {Vaterstetten},
- year = 1989,
+@Book{PSTricks2,
+ author = {Herbert Vo\ss},
+ title = {{\PST} {G}rafik f\"ur \TeX{} und \LaTeX},
+ edition = {7},
+ publisher = {DANTE -- Lehmanns},
+ year = {2016},
+ address = {Heidelberg/Berlin}
}
-@Manual{pstricks,
- Title = {PSTricks - {\PS} macros for Generic TeX},
- Author = {Timothy Van Zandt},
- Organization = {},
- Address = {\url{http://www.tug.org/application/PSTricks}},
- Note = {},
- year = 1993,
+@Book{PSTricks-E,
+ author = {Herbert Vo\ss},
+ title = {{\PST} {G}raphics for \LaTeX},
+ edition = {1},
+ publisher = {UIT},
+ year = {2011},
+ address = {Cambridge}
}
+@Book{companion04,
+ author = {Frank Mittelbach and Michel Goosens et al},
+ title = {The {\LaTeX} {C}ompanion},
+ edition = {second},
+ publisher = {Addison-Wesley Publishing Company},
+ year = {2004},
+ address = {Boston}
+}
-@Manual{pdftricks,
- Title = {PSTricks Support for pdf},
- Author = {Herbert Voss},
- Organization = {},
- Address = {\url{http://PSTricks.de/pdf/pdfoutput.phtml}},
- Note = {},
- year = 2002,
+@Book{unbound,
+ author = {Alan Hoenig},
+ title = {\TeX{} {U}nbound: \LaTeX{} \& \TeX{} {S}trategies, {F}onts, {G}raphics, and {M}ore},
+ publisher = {Oxford University Press},
+ year = {1998},
+ address = {London}
}
-@Manual{miwi,
- Title = {References for \TeX{} and Friends},
- Author = {Michael Wiedmann and Peter Karp},
- Organization = {},
- Address = {\url{http://www.miwie.org/tex-refs/}},
- Note = {},
- year = 2003,
+@Book{tlgc2,
+ author = {Michel Goosens and Frank Mittelbach and Sebastian Rahtz and Denis Roegel and Herbert Vo{\ss}},
+ title = {The {\LaTeX} {G}raphics {C}ompanion},
+ publisher = {{Addison-Wesley Publishing Company}},
+ edition = 2,
+ year = {2007},
+ address = {Reading, Mass.}
}
+@Article{girou:01:,
+ author = {Denis Girou},
+ title = {Pr\'esentation de {PST}ricks},
+ journal = {Cahier {GUT}enberg},
+ year = 1994,
+ volume = {16},
+ month = apr,
+ pages = {21--70}
+}
-@Article{dtk02.2:jackson.voss:plot-funktionen,
- author = {Laura E. Jackson and Herbert Vo{\ss}},
- title = {Die {P}lot-{F}unktionen von {\texttt{pst-plot}}},
- journal = dtk,
- year = 2002,
- volume = {2/02},
- altvolume = 2,
- altnumber = 14,
- month = jun,
- pages = {27--34},
- annote = bretter,
- keywords = {},
- abstract = { Im letzten Heft wurden die mathematischen Funktionen von
- \PS~im Zusammenhang mit dem {\LaTeX}-Paket
- \texttt{pst-plot} zum Zeichnen von Funktionen beschrieben
- und durch Beispiele erl{\"a}utert. In diesem Teil werden
- die bislang nur erw{\"a}hnten Plot-Funktionen f{\"u}r
- externe Daten behandelt. }
+@Article{girou:02:,
+ author = {{Timothy Van} Zandt and Denis Girou},
+ title = {Inside {PST}ricks},
+ journal = TUGboat,
+ year = 1994,
+ volume = {15},
+ month = sep,
+ pages = {239--246}
}
-@Article{dtk02.1:voss:mathematischen,
- author = {Herbert Vo{\ss}},
- title = {Die mathematischen {F}unktionen von {P}ostscript},
- journal = dtk,
- year = 2002,
- volume = {1/02},
- altvolume = 1,
- altnumber = 14,
- month = mar,
- pages = {40-47},
- annote = bretter,
- keywords = {},
- abstract = { \PS, faktisch genauso alt wie {\TeX}, ist im
- Verh{\"a}ltnis dazu allgemein noch weniger bekannt, wenn es
- darum geht zu beurteilen, was es denn nun im eigentlichen
- Sinne ist. Au{\ss}erdem wird h{\"a}ufig vergessen, dass
- sich mit den \PS-Funktionen viele Dinge erledigen lassen,
- bei denen sonst auf externe Programme zur{\"u}ckgegriffen
- wird. Dies wird im Folgenden f{\"u}r die mathematischen
- Funktionen im Zusammenhang mit dem Paket \texttt{pst-plot}
- gezeigt. }
+@Book{PostScript,
+ Author = {Kollock, Nikolai G.},
+ Title = {PostScript richtig eingesetzt: vom {K}onzept zum
+ praktischen {E}insatz},
+ Publisher = {IWT},
+ Address = {Vaterstetten},
+ year = 1989,
}
+@online{pstricks,
+ Title = {PSTricks - {\PS} macros for generic {\TeX}},
+ Author = {{Timothy Van} Zandt},
+ Organization = {\TeX\ Users Group},
+ url = {http://www.tug.org/application/PSTricks},
+ urldate={2016-08-21},
+ year = 1993
+}
-@Book{companion,
- author = {Michel Goosens and Frank Mittelbach and Serbastian Rahtz and Denis Roegel and Herbert Vo\ss},
- title = {The {\LaTeX} {G}raphics {C}ompanion},
- publisher = {{Addison-Wesley Publishing Company}},
- year = {2007},
- edition = {2nd},
- address = {Reading, Mass.}
+@ctan{pst-plot,
+ Title = {\texttt{pst-plot}: Plotting two dimensional functions and data},
+ Author = {{Timothy Van} Zandt and Herbert Voß},
+ Organization = {CTAN},
+ url = {graphics/pstricks/generic/pst-plot.tex},
+ year = 2016
}
-@Book{PSTricks2,
- author = {Herbert Vo\ss},
- title = {\texttt{PSTricks} -- {G}rafik f\"ur \TeX{} und \LaTeX},
- edition = {5.},
- publisher = {DANTE/Lehmanns Media},
- year = {2008},
- address = {Heidelberg/Berlin}
+@ctan{multido,
+ Title = {\texttt{multido.tex} - a loop macro, that supports fixed-point addition},
+ Author = {{Timothy Van} Zandt},
+ Organization = {CTAN},
+ url = {/graphics/pstricks/generic/multido.tex},
+ year = 1997
}
-@Book{voss:math,
- author = {Herbert Vo\ss},
- title = {Mathematik mit \LaTeX},
- publisher = {{DANTE/Lehmanns Media}},
- year = {2009},
- address = {Heidelberg/Berlin}
+@inproceedings{GB16,
+ TITLE = {Mass points, {B}\'ezier curves and conics: a survey},
+ AUTHOR = {Lionel Garnier and Jean-Paul Bécar},
+ url = {http://ufrsciencestech.u-bourgogne.fr/$\sim$garnier/publications/adg2016/},
+ BOOKTITLE = {Eleventh International Workshop on Automated Deduction in Geometry},
+ ADDRESS = {Strasbourg, France},
+ SERIES = {Proceedings of ADG 2016},
+ PAGES = {97--116},
+ date = {2016-06},
+ urldate={2016-08-20},
+}
+
+@online{gb16a,
+ author={Lionel Garnier},
+ title={Courbes de Bézier et coniques},
+ url={http://ufrsciencestech.u-bourgogne.fr/~garnier/Migs/03_CourbesBezierPointsMassiquesEleve.pdf},
+ urldate={2016-08-20},
+}
+@online{gb16b,
+ author={Lionel Garnier and Jean-Paul Bécar and Lucie Drouton},
+ title={Surfaces canal et courbes de Bézier rationnelles quadratiques},
+ journal={Journées du Groupe de Travail en Modélisation Géométrique 2016},
+ address={Dijon},
+ url={http://ufrsciencestech.u-bourgogne.fr/~garnier/publications/hippocampe/64_GTMG2016_courbesBezierSurfacesCanal.pdf},
+ urldate={2016-08-20},
+}
+
+@PhdThesis{Bec97,
+author = {Jean-Paul Bécar},
+title = {Forme ({B}{R}) des coniques et de leurs faisceaux},
+school = {Universit\'e de Valenciennes et de Hainaut-Cambr\'esis, LIMAV},
+date = {1997-12-12},
+address= {Valenciennes, France},
}
diff --git a/Master/texmf-dist/doc/generic/pst-bezier/pst-bezier-doc.pdf b/Master/texmf-dist/doc/generic/pst-bezier/pst-bezier-doc.pdf
index 79ca40cd86b..2bfbd642d15 100644
--- a/Master/texmf-dist/doc/generic/pst-bezier/pst-bezier-doc.pdf
+++ b/Master/texmf-dist/doc/generic/pst-bezier/pst-bezier-doc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/pst-bezier/pst-bezier-doc.tex b/Master/texmf-dist/doc/generic/pst-bezier/pst-bezier-doc.tex
index 3be402bebd2..95fa8782722 100644
--- a/Master/texmf-dist/doc/generic/pst-bezier/pst-bezier-doc.tex
+++ b/Master/texmf-dist/doc/generic/pst-bezier/pst-bezier-doc.tex
@@ -1,20 +1,34 @@
-%% $Id: pst-bezier-doc.tex 86 2009-01-29 10:34:00Z herbert $
-\documentclass[11pt,english,BCOR10mm,DIV12,bibliography=totoc,parskip=false,smallheadings
- headexclude,footexclude,oneside]{pst-doc}
+%% $Id: pst-bezier-doc.tex 134 2009-09-27 12:28:50Z herbert $
+\documentclass[11pt,english,bibliography=totoc,parskip=false,smallheadings,
+ oneside]{pst-doc}
\usepackage[utf8]{inputenc}
-\usepackage{pst-bezier}
\usepackage{esvect}
\let\vec\vv
+\usepackage{animate}
+\usepackage{pst-bezier}
+\usepackage{bbold}
+\addbibresource{pst-bezier-doc.bib}
\let\pstBezierFV\fileversion
\lstset{pos=l,wide=false,language=PSTricks,
morekeywords={multidipole,parallel},basicstyle=\footnotesize\ttfamily}
+\definecolor{navy}{rgb}{0 0 0.5}
%
+\def\bgImage{\pspicture[showgrid](0,1)(5,6)
+\psset{showpoints}
+\psbcurve[linecolor=blue,linewidth=0.01](1,1)%
+ (2,2)(3,1)(4,2)(4,4)(3,5)%
+ (2,4)(1,5)
+\psbcurve(1,1)(2,2)(3,1)(4,2)%
+ T{0.5}(4,4)(3,5)(2,4)(1,5)
+\endpspicture}
+\newtheorem{definition}{Definition}
+\def\dy{\displaystyle}
\begin{document}
\title{\texttt{pst-bezier}}
\subtitle{A PSTricks package for drawing Bezier curves; v.\pstBezierFV}
-\author{Tobias Nähring \\Herbert Vo\ss}
+\author{Jean-Paul Bécar\\Lionel Garnier\\Tobias Nähring \\Manuel Luque\\Herbert Voß}
\docauthor{}
\date{\today}
\maketitle
@@ -37,7 +51,7 @@ control points without simultaneously changing the interpolated
points. Note that some control is possible via the
\Lkeyword{curvature} option.
-The \Lcs{psbezier} macro gives full control over the
+The \Lcs{psbcurve} macro gives full control over the
interpolation points and the control points of one Bezier polynominal
of degree three (two interpolated points and two control
points).
@@ -47,7 +61,7 @@ Thanks to: \\
Jean-C\^ome Charpentier.
\end{abstract}
-%% Author: Tobias N"ahring
+\clearpage
\section{Introduction}
@@ -95,7 +109,7 @@ correctly installed the package:
\usepackage{pstricks}
\usepackage{pst-bezier}
\begin{document}
- \begin{pspicture}(6,4)
+ \begin{pspicture}(0,-0.4)(6,2)
\psbcurve(1,2)(5,2) % Draw just one straight line.
\end{pspicture}
\end{document}
@@ -107,8 +121,8 @@ In the most simple form you can specify any number of interpolation
points as the argument of \Lcs{psbcurve}.
\begin{LTXexample}
-\begin{pspicture}[showgrid=true](5,3)
- \psbcurve(1,1)(2,2)(3,1)(4,2)
+\begin{pspicture}[showgrid](0,-0.4)(5,3)
+ \psbcurve[showpoints](1,1)(2,2)(3,1)(4,2)
\end{pspicture}
\end{LTXexample}
@@ -116,8 +130,8 @@ As usual, options can be specified within brackets.
\begin{LTXexample}
-\begin{pspicture}[showgrid=true](5,3)
- \psbcurve[showpoints=true](1,1)(2,2)(3,1)(4,2)
+\begin{pspicture}[showgrid](0,-0.4)(5,3)
+ \psbcurve[showpoints](1,1)(2,2)(3,1)(4,2)
\end{pspicture}
\end{LTXexample}
@@ -129,8 +143,8 @@ time labels are added to the points (this is just for the following
description, it is not a feature of \Lcs{psbcurve}).
\begin{LTXexample}
-\begin{pspicture}[showgrid=true](5,3)
- \psbcurve[showpoints=true](1,1)(2,2)(3,1)(4,2)
+\begin{pspicture}[showgrid](0,-0.4)(5,3)
+ \psbcurve[showpoints](1,1)(2,2)(3,1)(4,2)
\uput[-90](1,1){$\vec{p}_{0}=\vec{l}_{1}$}
\uput[90](1.5,2){$\vec{r}_{1}$}
\uput[90](2,2){$\vec{p}_{1}$}
@@ -181,8 +195,8 @@ background in {\color{blue}blue} color.
\begin{LTXexample}
-\pspicture[showgrid=true](5,3)
-\psset{showpoints=true}
+\pspicture[showgrid](0,-0.4)(5,3)
+\psset{showpoints}
\psbcurve[linecolor=blue,linewidth=0.01](1,1)%
(2,2)(3,1)(4,2)
\psbcurve(1,1)l(2,1)(2,2)(3,1)r(4,1)(4,2)
@@ -192,8 +206,8 @@ background in {\color{blue}blue} color.
\end{LTXexample}
\begin{LTXexample}
-\pspicture[showgrid=true](5,3)
-\psset{showpoints=true}
+\pspicture[showgrid](0,-0.4)(5,3)
+\psset{showpoints}
\psbcurve[linecolor=blue,linewidth=0.01](1,1)%
(2,2)(3,1)(4,2)
\psbcurve(1,1)(2,2)l(2,1)(3,1)(4,2)
@@ -208,7 +222,7 @@ interpolation point.
\begin{LTXexample}
-\pspicture(5,3)
+\pspicture(0,-0.4)(5,3)
\psbcurve(1,1)(2,2)l(2,1)(3,1)(4,2)
\endpspicture
\end{LTXexample}
@@ -220,10 +234,10 @@ interpolation point $\vec{p}_{k-1}$. In that way you get a smooth joint as
demonstrated in the next example.
\begin{LTXexample}
-\pspicture[showgrid=true](5,3)
+\pspicture[showgrid](0,-0.4)(5,3)
\psbcurve[linecolor=blue,linewidth=0.01](1,1)%
(2,2)(3,1)(4,2)
-\psset{showpoints=true}
+\psset{showpoints}
\psbcurve(1,1)(2,2)L(2,1)(3,1)(4,2)
\uput[-90](2,1){$\vec{l}_{2}$}
\uput[0](2,2){$\vec{p}_{1}$}
@@ -236,8 +250,8 @@ automatically computed control points of the current Bezier spline.
\begin{LTXexample}
-\pspicture[showgrid=true](5,3)
-\psset{showpoints=true}
+\pspicture[showgrid](0,-0.4)(5,3)
+\psset{showpoints}
\psbcurve[linecolor=blue,linewidth=0.01](1,1)%
(2,2)(3,1)(4,2)
\psbcurve(1,1)(2,2)t{0.5}(3,1)(4,2)
@@ -252,8 +266,8 @@ point you can use the \Lnotation{tl}\Largb{t} or \Lnotation{tr}\Largb{t} modifie
respectively, as demonstrated in the following two examples.
\begin{LTXexample}
-\pspicture[showgrid=true](5,3)
-\psset{showpoints=true}
+\pspicture[showgrid](0,-0.4)(5,3)
+\psset{showpoints}
\psbcurve[linecolor=blue,linewidth=0.01](1,1)%
(2,2)(3,1)(4,2)
\psbcurve(1,1)%
@@ -263,8 +277,8 @@ respectively, as demonstrated in the following two examples.
\begin{LTXexample}
-\pspicture[showgrid=true](5,3)
-\psset{showpoints=true}
+\pspicture[showgrid](0,-0.4)(5,3)
+\psset{showpoints}
\psbcurve[linecolor=blue,linewidth=0.01](1,1)%
(2,2)(3,1)(4,2)
\psbcurve(1,1)(2,2)tr{0.5}(3,1)(4,2)
@@ -278,8 +292,8 @@ of the modifier. In the next example a negative tension value leads to
a rather surprising effect.
\begin{LTXexample}
-\pspicture[showgrid=true](5,3)
-\psset{showpoints=true}
+\pspicture[showgrid](0,-0.4)(5,3)
+\psset{showpoints}
\psbcurve[linecolor=blue,linewidth=0.01](1,1)%
(2,2)(3,1)(4,2)
\psbcurve(1,1)(2,2)ts{-0.5}(3,1)(4,2)
@@ -291,8 +305,8 @@ The default value of the tension can be set with the option
\begin{LTXexample}
-\pspicture[showgrid=true](5,3)
-\psset{showpoints=true}
+\pspicture[showgrid](0,-0.4)(5,3)
+\psset{showpoints}
\psbcurve[linecolor=blue,linewidth=0.01](1,1)%
(2,2)(3,1)(4,2)
\psbcurve[bcurveTension=0.5](1,1)%
@@ -307,8 +321,8 @@ middle of a \Lcs{psbcurve}. Just use the modifier \Lnotation{T}\Largb{t} for
that purpose as shown in the following example.
\begin{LTXexample}
-\pspicture[showgrid=true](5,6)
-\psset{showpoints=true}
+\pspicture[showgrid](0,0.6)(5,6)
+\psset{showpoints}
\psbcurve[linecolor=blue,linewidth=0.01](1,1)%
(2,2)(3,1)(4,2)(4,4)(3,5)%
(2,4)(1,5)
@@ -324,7 +338,7 @@ The \texttt{linestyle} and \texttt{fillstyle} options (and several
more) are respected by \Lcs{psbcurve} as the following example shows.
\begin{LTXexample}
-\pspicture[showgrid=true](5,3)
+\pspicture[showgrid](0,-0.4)(5,3)
\psbcurve[linestyle=dashed,
linewidth=3pt,
dash=0.5 0.2,
@@ -333,7 +347,7 @@ more) are respected by \Lcs{psbcurve} as the following example shows.
\endpspicture
\end{LTXexample}
-\section{Things that do not work (`known bugs')}
+\subsection{Things that do not work (`known bugs')}
As already mentioned this project is something like an experiment. So,
there are many things that do not work.
@@ -342,10 +356,375 @@ there are many things that do not work.
\item The control points are computed in a rather crude way (see
above). The \Lkeyword{curvature} option is not recognised.
\item If \Lkeyword{fillstyle} is set to \Lkeyword{solid} and
- \Lkeyset{showpoints=true} then the fill color covers the interpolation and control points.
+ \Lkeyword{showpoints} then the fill color covers the interpolation and control points.
\item arrow heads do not work.
\end{itemize}
+\clearpage
+
+\section{Bezier curve with weighted points}
+
+\subsection{Mathemathical background}
+
+A mass point is a weighted point $\left(P;\omega\right)$ with $\omega \neq 0$ or a vector $\left(\overrightarrow{P};0\right)$ with a weight equal to $0$. A generic mass point is noted $\left(P;\omega\right)$.
+
+Using the quadratic Bernstein polynomials, a rational quadratic B\'ezier curve having three control
+mass points $\left(P_{0};\omega_{0}\right)$, $\left(P_{1};\omega_{1}\right)$
+and $\left(P_{2};\omega_{2}\right)$, is defined as follow:
+
+\begin{definition}\label{fdef::DefRQBC_Fiorot}: Rational quadratic B\'ezier curve (BR curve)
+
+Let $\omega_{0}$, $\omega_{1}$ and $\omega_{2}$ be three real numbers.
+Let $\left(P_{0};\omega_{0}\right)$, $\left(P_{1};\omega_{1}\right)$
+and $\left(P_{2};\omega_{2}\right)$ be three mass points, these points are not collinear.
+
+Define two sets $I = \left \{ i | \omega_i \neq 0 \right \}$ and
+$J = \left \{ i | \omega_i = 0 \right \}$
+
+
+Define the function $\omega_{f}$ from $\left[0;1\right] $ to $\mathbb{R} $ as follows
+
+\begin{equation}
+%\begin{array}{cccc}
+%\omega_{f}: & \left[0;1\right] & \longrightarrow & \mathbb{R} \\
+%& t & \longmapsto &\omega_{f}\left(t\right)=\dy\sum_{i\in I}\omega_{i}\times B_{i}\left(t\right)
+%\end{array}
+\omega_{f}\left(t\right)=\dy\sum_{i\in I}\omega_{i}\times B_{i}\left(t\right)
+\label{eq:DenominateurCbreBezier}
+\end{equation}
+
+A mass point $\left(M;\omega\right)$ or $\left(\overrightarrow{u};0\right)$
+belongs to the quadratic B\'ezier curve defined by the three control
+mass points $\left(P_{0};\omega_{0}\right)$, $\left(P_{1};\omega_{1}\right)$
+and $\left(P_{2};\omega_{2}\right)$,
+if there is a real $t_{0}$ in $\left[0;1\right]$ such that:
+
+\begin{itemize}
+\item [$\bullet$] if $\omega_{f}\left(t_{0}\right)\neq0$ then we have
+
+\hspace*{-0.75cm}\begin{minipage}{1.0\textwidth}
+\begin{equation}
+\overrightarrow{OM} = \dy \frac{1}{\omega_{f}\left(t_{0}\right)}\left(\dy \sum_{i\in I} \dy \omega_{i} B_{i}\left(t_{0}\right)
+ \overrightarrow{OP_{i}} \right)
++\vspace{0.2cm}\dy \frac{1}{\omega_{f}\left(t_{0}\right)}\left( \sum_{i\in J} B_{i}\left(t_{0}\right) \overrightarrow{P_{i}}\right)
+\label{eq:DefRQBC_FiorotPoint}
+\end{equation}
+\end{minipage}
+
+\item [$\bullet$] if $\omega_{f}\left(t_{0}\right)=0$ then we have
+\begin{equation}
+\overrightarrow{u}=\sum_{i\in I}\omega_{i}B_{i}\left(t_{0}\right)\overrightarrow{OP_{i}}+\sum_{i\in J}B_{i}\left(t_{0}\right)\overrightarrow{P_{i}}\label{eq:DefRQBC_FiorotVecteur}
+\end{equation}
+
+\end{itemize}
+\hrulefill{}\end{definition}
+
+The reduced discriminant of the denominator $\omega_{f}\left(t_{0}\right)$ is
+\begin{equation}
+\Delta'=\omega_{1}^{2}-\omega_{2} \omega_{0}\label{eq:DiscrimantReduitCBRQnonStandard}
+\end{equation}
+and we can state the following fundamental result:
+\begin{itemize}
+\item[$\star$]
+if $\omega_{1}^{2}-\omega_{2} \omega_{0}=0$ then the
+ denominator has one and only one root, the curve is a parabolic arc;
+\item[$\star$]
+ if $\omega_{1}^{2}-\omega_{2} \omega_{0}>0$ then the
+ denominator has two distinct roots, the curve is a hyperbolic arc;
+\item[$\star$]
+ if $\omega_{1}^{2}-\omega_{2} \omega_{0}<0$ then the
+ denominator does not vanish, the curve is an elliptical arc.
+\end{itemize}
+
+We can note w.l.o.g.\footnote{We can permute the role of $P_0$ and $P_2$} that one of the weights can be equal to~$1$. If $\omega_0$ is not equal to $0$, we choose $\omega_0=1$, else, we choose $\omega_1=1$, and we can characterise the type of the conic from the mass points of the BR curve, see Table~\ref{tab::TypeConicEtcbeBr}.
+
+\begin{table}[!h]
+\begin{center}
+\begin{tabular}{|c||c|c|c|}\hline
+Conic & Three weighted points & Points and vectors \\ \hline \hline
+Parabola & $\left(P_{0};1\right)$, $\left(P_{1};\omega\right)$
+ $\left(P_{2};\omega^{2}\right)$ & $\left(P_{0};1\right)$, $\left(\overrightarrow{P_{1}};0\right)^{\mathstrut^{\mathstrut}}_{\mathstrut_{\mathstrut}}$ $\left(\overrightarrow{P_{2}};0\right)$\\ \hline \hline
+ Ellipse & $\left(P_{0};1\right)$, $\left(P_{1};\omega_{1}\right)$, $\left(P_{2};\omega_{2}\right)$, $ \omega_{2}>\omega_{1}^{2} $ & $\left(P_{0};1\right)$, $\left(\overrightarrow{P_{1}};0\right)^{\mathstrut^{\mathstrut}}_{\mathstrut_{\mathstrut}}$ $\left(P_{2};1\right)$ \\ \hline \hline
+ Hyperbola & $\left(P_{0};1\right)$, $\left(P_{1};\omega_{1}\right)$ $\left(P_{2};\omega_{2}\right)$, $\omega_{2}<\omega_{1}^{2}$ & $\left(P_{0};1\right)$, $\left(\overrightarrow{P_{1}};0\right)^{\mathstrut^{\mathstrut}}_{\mathstrut_{\mathstrut}}$ $\left(P_{2};-1\right)$ \\ \cline{3-3}
+& & $\left(\overrightarrow{P_{0}};0\right)$, $\left(P_{1};1\right)$ and $\left(\overrightarrow{P_{2}};0\right)^{\mathstrut^{\mathstrut}}_{\mathstrut_{\mathstrut}}$ \\ \hline \hline
+\end{tabular}
+\end{center}
+\caption{Types of conics defined by B\'ezier curves with control mass points.
+\hrulefill{}
+\label{tab::TypeConicEtcbeBr}}
+\end{table}
+
+From the access rights used by Unix and Linux, we define a bijection $f$ between $\mathbb{F_2}^3-\left\lbrace\left(0,0,0\right)\right\rbrace$ and the set $\left\lbrace 1 ,2 , 3, 4, 5, 6, 7\right\rbrace$. From $\left(\omega_2,\omega_1,\omega_0\right)$, we define a triplet $\left(b_2,b_1,b_0\right)$ as follow: if $w_i\neq0$ then $b_i=1$ else $b_i=0$. Then
+$$f\left(\omega_2,\omega_1,\omega_0\right)= b_2 \times 4+ b_1 \times 2+b_0$$
+
+If $f\left(\omega_2,\omega_1,\omega_0\right)=7$, the control points are weighted points: the curve is an elliptical arc, a parabolic arc or a hyperbolic arc. If $\left(\omega_2,\omega_1,\omega_0\right)=\left(1,-1,1\right)$, the parabolic arc is not bounded and for $t=\frac{1}{2}$, the mass point is a direction vector of the parabola axis. If $\left(\omega_2,\omega_1,\omega_0\right)=\left(1,-2,1\right)$, the hyperbolic arc is not bounded and there exists $t$ in $\left]0,1\right[$ such as the mass point is a direction vector of one of the asymptotes of the hyperbola. \\
+If $f\left(\omega_2,\omega_1,\omega_0\right)=1$, the first control point is a weighted point, the others are vectors: the curve is a parabolic arc. The B\'ezier curve is defined by
+ \begin{equation}
+\begin{cases}
+ \dy \frac{1}{\omega_0\, B_0\left(t_{0}\right)}\left( \omega_{0}\, B_{0}\left(t_{0}\right)
+ \overrightarrow{OP_{0}} + B_{1}\left(t_{0}\right) \overrightarrow{P_{1}}+ B_{2}\left(t_{0}\right)
+ \overrightarrow{P_{2}}\right) & \text{ if }t_0\in\left[0,1\right[ \\[1ex]
+\overrightarrow{P_2} & \text{ if }t_0=1\\
+ \end{cases}
+\label{eq:parabola}
+\end{equation}
+If $f\left(\omega_2,\omega_1,\omega_0\right)=4$, the B\'ezier curve can be defined in the same way.\\
+If $f\left(\omega_2,\omega_1,\omega_0\right)=2$, the intermediate control point is a weighted point, the others are vectors: the curve is a branch of a hyperbola. The B\'ezier curve is defined by
+ \begin{equation}
+\begin{cases}
+ \dy \frac{1}{\omega_1\, B_1\left(t_{0}\right)}\left( \omega_{1}\, B_{1}\left(t_{0}\right) \overrightarrow{OP_{1}}+ B_{0}\left(t_{0}\right) \overrightarrow{P_{0}}+ B_{2}\left(t_{0}\right) \overrightarrow{P_{2}}\right) & \text{ if }t_0\in\left]0,1\right[
+\\[1ex]
+\overrightarrow{P_0} & \text{ if }t_0=0\\[1ex]
+\overrightarrow{P_2} & \text{ if }t_0=1
+ \end{cases}
+\label{eq:branchHyperbola}
+\end{equation}
+and the centre of the hyperbola is $P_1$. The vector $\overrightarrow{P_0}$ is a direction vector of an asymptote of the hyperbola whereas the vector $\overrightarrow{P_2}$ is a direction vector of the other asymptote.\\
+If $f\left(\omega_2,\omega_1,\omega_0\right)=5$, the intermediate control point is a vector, the others are weighted points: the curve is an elliptical arc. The B\'ezier curve is defined by
+ \begin{equation}
+ \dy \frac{1}{\omega_0\, B_0\left(t_{0}\right)+\omega_2\, B_2\left(t_{0}\right)}\left( \omega_{0}\, B_{0}\left(t_{0}\right) \overrightarrow{OP_{0}} + B_{1}\left(t_{0}\right) \overrightarrow{P_{1}}+ \omega_2\, B_{2}\left(t_{0}\right) \overrightarrow{OP_{2}}\right),\;\; t_0\in\left[0,1\right]
+\label{eq:ellipse}
+\end{equation}
+and the tangent vector to the curve at $P_0$ or $P_2$ is parallel to $\overrightarrow{P_1}$.
+
+\subsection{Syntax}
+
+\begin{BDef}
+\Lcs{psRQBCmasse}\OptArgs\Largr{$x_0,y_0$}\Largr{$x_1,y_1$}\Largr{$x_2,y_2$}\Largb{$w_0,w_1,w_2$}
+\end{BDef}
+
+For the coordinates of the points all possible kinds of coordinates are possible, like polar, PostScript, nodes, \ldots
+
+\subsection{Three weighted orthogonal points}
+\begin{LTXexample}[pos=t]
+\begin{pspicture}[showgrid](-6,-6.4)(3,3)
+\psclip{\psframe(-6,-6)(3,3)}
+ \psRQBCmasse[linecolor=blue](2,0)(2,2)(0,2){1,-1,1}
+ \psRQBCmasse[linecolor=navy,autoTrace](2,0)(2,2)(0,2){1,1,1}
+ \rput(P0){$P_0$}\uput[r](P1){$P_1$}\uput[r](P2){$P_2$}
+\endpsclip%
+\end{pspicture}
+\end{LTXexample}
+
+
+
+\subsection{Half-ellipse}
+\begin{LTXexample}[pos=t]
+\begin{pspicture}[showgrid](-3,-2.4)(3,2)
+\psframe(-3,-2)(3,2)
+\psRQBCmasse[linecolor=red,autoTrace](2,0)(0,1)(-2,0){1,0,1}
+\uput[r](P0P1){$\overrightarrow{P_1}$} \uput[r](P2){$P_2$}
+\rput(P1P2){$\overrightarrow{P_{1}}$} \uput[r](P0){$P_0$}
+\psRQBCmasse[linecolor=orange,autoTrace=false](2,0)(0,-1)(-2,0){1,0,1}
+\end{pspicture}
+\end{LTXexample}
+
+
+\clearpage
+
+\subsection{Half-parabola}
+\subsubsection{Point $P_2$ and two vectors}
+
+\begin{LTXexample}[pos=t]
+\begin{pspicture}[showgrid](-3,-3.4)(3,3)
+\psclip{\psframe(-3,-3)(3,3)}
+ \psRQBCmasse[linecolor=red,autoTrace](2,0)(0,1)(-1,0){0,0,1}
+ \uput[r](P1P2){$\overrightarrow{P_1}$} \uput[r](P2){$P_2$}
+ \uput[r](P0P2){$\overrightarrow{P_0}$}
+ \psRQBCmasse[linecolor=orange,autoTrace=false](2,0)(0,-1)(-1,0){0,0,1}
+ \uput[r](P1P2){$\overrightarrow{P_1}$} \uput[r](P2){$P_2$}
+ \uput[r](P0P2){$\overrightarrow{P_0}$}
+\endpsclip
+\end{pspicture}
+\end{LTXexample}
+
+\subsubsection{Point $P_0$ and two vectors}
+
+\begin{LTXexample}[pos=t]
+\begin{pspicture}[showgrid](-3,-3.4)(3,3)
+\psclip{\psframe(-3,-3)(3,3)}
+ \psRQBCmasse[linecolor=red,autoTrace](2,0)(0,1)(-1,0){1,0,0}
+ \uput[r](P0P1){$\overrightarrow{P_1}$} \uput[r](P0){$P_0$}
+ \uput[r](P0P2){$\overrightarrow{P_2}$}
+ \psRQBCmasse[linecolor=orange,autoTrace=false](2,0)(0,-1)(-1,0){1,0,0}
+\endpsclip%
+\end{pspicture}
+\end{LTXexample}
+
+\clearpage
+
+\subsection{Branch of a hyperbola}
+\begin{LTXexample}[pos=t]
+\begin{pspicture}[showgrid](-3,-3.4)(3,3)
+\psclip{\psframe(-3,-3)(3,3)}
+ \psRQBCmasse[linecolor=red,autoTrace](1,1)(0,0)(-1,1){0,1,0}
+ \uput[r](P0){$\overrightarrow{P_0}$} \uput[r](0,-0.5){$P_1$}
+ \uput[r](P2){$\overrightarrow{P_2}$}
+ \psRQBCmasse[linecolor=orange,autoTrace=false](1,1)(0,0)(-1,1){0,-1,0}
+\endpsclip%
+\end{pspicture}
+\end{LTXexample}
+
+\subsection{Parabola}
+\begin{LTXexample}[pos=t]
+\psset{unit=0.5}
+\begin{pspicture}(-14,-3.4)(15,10)
+\psclip{\psframe(-14,-3)(15,10)}
+ \psRQBCmasse[linecolor=red,autoTrace](0,6)(-13,0)(-1,-1){1,1,1}
+ \psRQBCmasse[linecolor=orange](0,6)(-13,0)(-1,-1){1,-1,1}
+ \uput[u](P0){$P_0$}\uput[l](P1){$P_1$}\uput[d](P2){$P_2$}
+\endpsclip
+\end{pspicture}
+\end{LTXexample}
+
+
+\clearpage
+
+\subsection{Ellipse}
+\begin{LTXexample}[pos=t]
+\psset{unit=0.5}
+\begin{pspicture}(-14,-3.4)(15,10)
+\psgrid[subgriddiv=0,gridcolor=lightgray,griddots=5,gridlabels=0pt]
+%\psplotImp[linewidth=0.5pt,linecolor=blue,algebraic](-6,-3)(15,10)%
+ %{ -0.044*x^2-0.161*y^2 + 0.075*x*y + 0.074*x + 0.797*y + 1}
+\psRQBCmasse[nPoints=20,autoTrace,showpoints](0,6)(-13,0)(-1,-1){1,0.5,1}
+\psRQBCmasse[nPoints=40,linecolor=red,showpoints](0,6)(-13,0)(-1,-1){1,-0.5,1}
+\psaxes[labelFontSize=\scriptscriptstyle]{->}(0,0)(-14,-3)(15,10)
+\end{pspicture}
+\end{LTXexample}
+
+
+\subsection{Complete circle}
+\begin{LTXexample}[pos=t]
+\psset{unit=1}
+\begin{pspicture}(-4,-4.4)(4,4)
+\psgrid[subgriddiv=0,gridcolor=lightgray,griddots=5,gridlabels=0pt]
+\psRQBCmasse[autoTrace](0,3)(3,3)(3,0){1,1,2}
+\psRQBCmasse[linecolor=red](0,3)(3,3)(3,0){1,-1,2}
+\psaxes[labelFontSize=\scriptscriptstyle]{->}(0,0)(-4,-4)(4,4)
+\end{pspicture}
+\end{LTXexample}
+
+
+\begin{LTXexample}[pos=t]
+\psset{unit=1.5}
+\begin{pspicture}(-4,-4.4)(4,4)
+\psgrid[subgriddiv=0,gridcolor=lightgray,griddots=5,gridlabels=0pt]
+\psRQBCmasse[autoTrace](0,3)(3,0)(0,-3){1,0,1}
+\uput[u](-0.25,3){$P_0$}
+\uput[u](-0.25,-3.5){$P_2$}
+\uput[u](3,3){$\overrightarrow{P_1}$}
+\uput[u](3,-3.5){$\overrightarrow{P_1}$}
+\uput[u](2.5,0){$\overrightarrow{P_1}$}
+\psRQBCmasse[linecolor=red](0,3)(-3,0)(0,-3){1,0,1}
+\psaxes[labelFontSize=\scriptscriptstyle,linewidth=0.01]{->}(0,0)(-4,-4)(4,4)
+\end{pspicture}
+\end{LTXexample}
+We get a circle because we have
+
+\begin{equation}
+\left\lbrace
+\begin{array}{rcl}
+\omega_0\times\omega_2\times P_0 P_2^2 &= &4\times\overrightarrow{P_1}^2 \\[0.2cm]
+\overrightarrow{P_0 P_2} &\perp & \overrightarrow{P_1}
+\end{array}
+\right.
+\end{equation}
+
+\clearpage
+
+
+\subsection{Animations}
+
+\subsubsection{$w_0=1$, $w_2=1$ and a variable $w_1$}
+
+With the beginning of $w_1=0$
+the curves are swapped. In the case of Bezier curves $w_1 = 0$ gives only
+the $[P_0 P_2]$ segment. Using the mass points, the point $P_1$ no longer exists but we get the vector $\overrightarrow{P_1}$.
+
+
+\bigskip
+\begin{center}
+\begin{animateinline}[controls,loop,palindrome,
+ begin={\begin{pspicture}(-4,-4)(10,4)},
+ end={\end{pspicture}}]{3}% 3 images/s
+\multiframe{40}{rA=2.0+-0.1,rB=-2.0+0.1}{%
+ \psgrid[subgriddiv=0,gridcolor=lightgray,griddots=5,gridlabels=0pt]
+ \psclip{\psframe(-4,-4)(10,4)}
+ \psRQBCmasse[autoTrace,linewidth=1.5pt](0,-1)(1,0)(0,1){1,\rA,1}
+ \uput[u](P2){$P_2$}\uput[l](P1){$P_1$}\uput[d](P0){$P_0$}
+ \psRQBCmasse[linecolor=red,linewidth=1.5pt](0,-1)(1,0)(0,1){1,\rB,1}
+ \psaxes[labelFontSize=\scriptscriptstyle,linewidth=0.01]{->}(0,0)(-4,-4)(10,4)
+ \rput(8,3){$w_1=\rA$}%
+ \endpsclip
+}
+\end{animateinline}
+\end{center}
+
+\begin{lstlisting}
+\begin{animateinline}[controls,loop,palindrome,
+ begin={\begin{pspicture}(-4,-4)(10,4)},
+ end={\end{pspicture}}]{3}% 3 images/s
+\multiframe{40}{rA=2.0+-0.1,rB=-2.0+0.1}{%
+ \psgrid[subgriddiv=0,gridcolor=lightgray,griddots=5,gridlabels=0pt]
+ \psclip{\psframe(-4,-4)(10,4)}
+ \psRQBCmasse[autoTrace,linewidth=1.5pt](0,-1)(1,0)(0,1){1,\rA,1}
+ \uput[u](P2){$P_2$}\uput[l](P1){$P_1$}\uput[d](P0){$P_0$}
+ \psRQBCmasse[linecolor=red,linewidth=1.5pt](0,-1)(1,0)(0,1){1,\rB,1}
+ \psaxes[labelFontSize=\scriptscriptstyle,linewidth=0.01]{->}(0,0)(-4,-4)(10,4)
+ \rput(8,3){$w_1=\rA$}%
+ \endpsclip
+}
+\end{animateinline}
+\end{lstlisting}
+
+
+
+\clearpage
+
+\subsubsection{$w_0=1$, $\left |w_1\right|=1$ and a variable $w_2$}
+
+%L'utilisation de $\left |w_1\right|$ permet d'obtenir les deux arcs et donc toute la conique.
+The use of $\left |w_1\right|$ provides both arcs and the whole cone.
+
+\bigskip
+\begin{center}
+\begin{animateinline}[controls,loop,palindrome,
+ begin={\begin{pspicture}(-8,-4)(4,4)},
+ end={\end{pspicture}}]{3}% 3 images/s
+\multiframe{80}{rA=4.0+-0.1}{%
+ \psgrid[subgriddiv=0,gridcolor=lightgray,griddots=5,gridlabels=0pt]
+ \psclip{\psframe(-8,-4)(4,4)}
+ \psRQBCmasse[autoTrace,linewidth=1.5pt](0,-1)(1,0)(0,1){1,1,\rA}
+ \uput[u](P2){$P_2$}\uput[l](P1){$P_1$}\uput[d](P0){$P_0$}
+ \psRQBCmasse[linecolor=red,linewidth=1.5pt](0,-1)(1,0)(0,1){1,-1,\rA}
+ \psaxes[labelFontSize=\scriptscriptstyle,linewidth=0.01]{->}(0,0)(-8,-4)(4,4)
+ \rput[rb](3.5,3){$w_2=\rA$}%
+ \endpsclip
+}
+\end{animateinline}
+\end{center}
+
+\begin{lstlisting}
+\begin{animateinline}[controls,loop,palindrome,
+ begin={\begin{pspicture}(-8,-4)(4,4)},
+ end={\end{pspicture}}]{3}% 3 images/s
+\multiframe{80}{rA=4.0+-0.1}{%
+ \psgrid[subgriddiv=0,gridcolor=lightgray,griddots=5,gridlabels=0pt]
+ \psclip{\psframe(-8,-4)(4,4)}
+ \psRQBCmasse[autoTrace,linewidth=1.5pt](0,-1)(1,0)(0,1){1,1,\rA}
+ \uput[u](P2){$P_2$}\uput[l](P1){$P_1$}\uput[d](P0){$P_0$}
+ \psRQBCmasse[linecolor=red,linewidth=1.5pt](0,-1)(1,0)(0,1){1,-1,\rA}
+ \psaxes[labelFontSize=\scriptscriptstyle,linewidth=0.01]{->}(0,0)(-8,-4)(4,4)
+ \rput[rb](3.5,3){$w_2=\rA$}%
+ \endpsclip
+}
+\end{animateinline}
+\end{lstlisting}
+
+
+\clearpage
+
\section{List of all optional arguments for \texttt{pst-bezier}}
@@ -355,11 +734,13 @@ there are many things that do not work.
\bgroup
\raggedright
\nocite{*}
-\bibliographystyle{plain}
-\bibliography{pst-bezier-doc}
+\printbibliography
\egroup
\printindex
\end{document}
+
+
+Moreover, we can choose a non Euclidean metric. The use of mass points, Bézier curves, conics and the space of spheres in the Minkowski-Lorentz space permits to realise G1-continous blend between Dupin cyclides : to blend surfaces in R3, we blend Bézier curves in R5. For example, we can build a seahorse (see 09_LorentzHippocampeComplet.png), the article (in French) is here: