\qbezier
\qbezier
und \bezier
sind LaTeX-Kern-Anweisungen zum Zeichnen von quadratischen Bézierkurven in der LaTeX-picture
-Umgebung.
Inhaltsverzeichnis
Verwendung
Syntax
\qbezier[N](AX,AY)(KX,KY)(EX,EY')
\bezier{N}(AX,AY)(KX,KY)(EX,EY')
Parameter
[N]
-
- Die Anzahl Punkte, aus der die Kurve bestehen soll.
(AX,AY}
-
- Koordinaten des Startpunkts der Kurve.
(EX,EY}
-
- Koordinaten des Endpunkts der Kurve.
(KX,KY}
-
- Koordinaten des Kontrollpunkts für die Kurve.
Bei \bezier
gibt es {N}
statt [N]
, die Anzahl der Punkte auf der Kurve ist also nicht optional.
Beschreibung
Mit \qbezier
kann eine sogenannte quadratische Bézierkurve gezeichnet werden. Eine quadratische Bézierkurve hat im Unterschied zu einer allgemeinen Bézierkurve nur einen Kontrollpunkt. Letztlich wird dadurch eine Parabel beschrieben. Die Anweisung ist zur Verwendung in einer picture
-Umgebung vorgesehen, funktioniert wie alle Anweisungen für diese Umgebung normalerweise aber auch außerhalb. Die Koordinaten sind, wie bei allen Anweisungen für die picture
-Umgebung üblich, in Vielfachen von \unitlength
anzugeben.
Über N
wird die Anzahl der Punkte bestimmt, aus der die Kurve gezeichnet werden soll. Die Punkte werden nicht miteinander verbunden. Ist N
0, was auch der Voreinstellung entspricht, so wird die benötigte Anzahl für einen geschlossenen Kurvenzug automatisch bestimmt. Es werden allerdings maximal \qbeziermax
Punkte gezeichnet. Reichen die Punkte für einen geschlossenen Kurvenzug nicht aus, so erscheint die Linie punktiert.
\qbeziermax
ist in der Voreinstellung 500. Das Makro kann mit \renewcommand
umdefiniert werden.
Die Punkte auf der Linie sind in Wirklichkeit Striche, der Länge und Dicke der aktuell mit \thinlines
, \thicklines
oder \linethickness
eingestellten Liniendicke. Im Endeffekt sind es also gefüllte Quadrate.
Die Anweisung \bezier
dient lediglich der Kompatibilität mit LaTeX 2.09. Es wird empfohlen, diese nicht mehr zu verwenden.
Beispiele
\documentclass{article}
\usepackage{xcolor}
\begin{document}
\begin{picture}(100,100)
\thinlines
\color{red}
\put(0,0){\line(1,1){100}}
\put(0,0){\line(0,1){100}}
\put(0,100){\line(1,0){100}}
\thicklines
\color{black}
\qbezier(0,0)(0,100)(100,100)
\color{blue}
\put(0,0){\makebox(0,0)[c]{\textbullet}}
\put(100,100){\makebox(0,0)[c]{\textbullet}}
\put(0,100){\makebox(0,0)[c]{\textbullet}}
\end{picture}
\end{document}
Die schwarze Linie ist die quadratische Bézierkurve. Die blauen Punkte sind Startpunkt, Endpunkt und Kontrollpunkt. Die roten Linien die Konstruktionslinien bzw. Kurventangenten zwischen Startpunkt und Kontrollpunkt bzw. Endpunkt und Kontrollpunkt sowie die Verbindungslinie zwischen Startpunkt und Endpunkt.
Verändert man nun die Anzahl der Punkte drastisch, so ergibt sich eine (eher dünn) gepunktete Bézierkurve:
\documentclass{article}
\usepackage{xcolor}
\begin{document}
\begin{picture}(100,100)
\thinlines
\color{red}
\put(0,0){\line(1,1){100}}
\put(0,0){\line(0,1){100}}
\put(0,100){\line(1,0){100}}
\thicklines
\color{black}
\qbezier(0,0)(0,100)(100,100)
\color{blue}
\put(0,0){\makebox(0,0)[c]{\textbullet}}
\put(100,100){\makebox(0,0)[c]{\textbullet}}
\put(0,100){\makebox(0,0)[c]{\textbullet}}
\end{picture}
\end{document}
Den quadratischen Charakter der Punkte erkennt man, wenn man sie sehr viel dicker macht:
\documentclass{article}
\usepackage{xcolor}
\begin{document}
\begin{picture}(100,100)
\thinlines
\color{red}
\put(0,0){\line(1,1){100}}
\put(0,0){\line(0,1){100}}
\put(0,100){\line(1,0){100}}
\color{black}
\linethickness{2mm}
\qbezier[20](0,0)(0,100)(100,100)
\thinlines
\color{blue}
\put(0,0){\makebox(0,0)[c]{\textbullet}}
\put(100,100){\makebox(0,0)[c]{\textbullet}}
\put(0,100){\makebox(0,0)[c]{\textbullet}}
\end{picture}
\end{document}
Erweiterungen
Es wird darauf hingewiesen, dass TikZ wesentlich leistungsfähigere Kurvenzüge einschließlich Bézierkurven mit mehr als einem Kontrollpunkt beherrscht. Dasselbe gilt mit pst-bezier auch für PSTricks.
Verwandte Befehle
\line, \vector, \circle, \oval, picture (Umgebung)
Verweise
Die Anweisung ist in den LaTeX-Quellen in Datei ltpictur.dtx definiert und außer in source2e.pdf in »LaTeX2ε for authors« dokumentiert.