Wikipedia · einfach zusammengefasst · Stand
Asymptote (Vektorgrafik-Sprache)
Asymptote ist eine Vektorgrafik-Sprache, die von Andy Hammerlindl, John C. Bowman (University of Alberta) und Tom Prince entwickelt wurde.
Inhalt4 Abschnitte
Was ist Asymptote?
Asymptote ist eine Vektorgrafik-Sprache zur Erstellung technischer Zeichnungen auf Basis eines koordinatenbasierten Grundgerüsts. Sie wurde 2004 von Andy Hammerlindl, John C. Bowman (University of Alberta) und Tom Prince entwickelt. Neben der Sprache bezeichnet Asymptote auch die Software, die diesen Code interpretiert. Sie ist für alle verbreiteten Plattformen (Unix, MacOS, Windows) verfügbar, in C++ geschrieben, quelloffen und unter der GNU Lesser General Public License (LGPL, Version 3.0 oder später) lizenziert. Die aktuelle Version ist 3.15 vom 14. September 2026.
Syntax und wesentliche Merkmale
Asymptote nutzt LaTeX für Beschriftungen und Gleichungen und gibt Grafiken als PostScript, PDF, SVG oder 3D Product Representation Compact aus, einem Format, mit dem 3D-Daten in PDF-Dokumente eingebettet werden können. Die Sprache hat MetaPost als Vorbild, weist aber eine an C++ angelehnte Syntax auf. Wie TeX/LaTeX eine Sprache für den Schriftsatz mathematischer Gleichungen ist, ist Asymptote eine Sprache für die Darstellung der zugehörigen Funktionsgraphen und geometrischen Figuren.
Die Sprache ist auf mathematische Anwendungen zugeschnitten: Vektoren können z. B. durch komplexe Multiplikation gedreht werden. Konflikte zwischen maßstabsabhängigen und maßstabsunabhängigen Elementen (wie Beschriftungen und Pfeilspitzen) löst ein Simplex-Algorithmus. Die Funktionsgraphen-Möglichkeiten von MetaPost werden auf dreidimensionale Darstellungen erweitert. Grafikbeschreibungen werden zu Code kompiliert, der auf einer virtuellen Maschine läuft, was einfache Portierbarkeit gewährleistet. Komplexe Grafik-Befehle sind direkt in der Sprache implementiert, sodass Anwendungen mit geringem Aufwand erstellt werden können. Asymptote gilt als erstes Software-Paket, das 3D-Grafiken in TeX zugänglich macht; Asymptote-Quelltext eignet sich daher auch als Dateiformat für 3D-Grafiken.
Verbreitung und Anwendung
In Verbindung mit LaTeX ist Asymptote in der wissenschaftlichen Gemeinschaft weniger verbreitet als beispielsweise PGF/TikZ. Es ist dennoch in den Paketquellen aktueller Linux-Betriebssysteme (z. B. Fedora und Ubuntu) enthalten und für Microsoft Windows als Download erhältlich.
Asymptote wird zusammen mit Xasy geliefert, einer in Python (mit dem Tk-Toolkit) geschriebenen GUI-Anwendung. Mit Xasy lassen sich rudimentäre Asymptote-Grafiken erstellen, die als .asy-Quelltext exportiert und anschließend von Hand modifiziert oder erweitert werden können.
Beispielcode
Ein typisches Beispiel zeigt die grundlegende Syntax:
import graph; size(6cm); draw((-1,0) -- (-0.5,1) -- (0.5,1) -- (1,0) -- cycle); dot((-1,0),green); dot((+1,0),green); dot((-0.5,1),blue); dot((+0.5,1),blue);
real f(real x) {return 0.1cos(2pi10x)cos(2pi1x) +3/8;} path g = graph(f,-3/4,3/4,n=1000, join=operator --); draw(g, gray);
label("Hello world!", (0,0.1));
Der Code erzeugt ein Trapez mit einem „Hello World“-Label und farbig hervorgehobenen Eckpunkten. Außerdem wird die Bibliothek „graph“ genutzt, mit der Funktionen geplottet werden können: Die Funktion f wird im Bereich von -3/4 bis 3/4 mit 1000 Stützpunkten als graue Kurve gezeichnet. Das Ausgabe-PDF lässt sich mit dem Befehl asy -f pdf helloWorld.asy erzeugen.