\qbezier

Aus goLaTeX

\qbezier und \bezier sind LaTeX-Kern-Anweisungen zum Zeichnen von quadratischen Bézierkurven in der LaTeX-picture-Umgebung.

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.

Links