Asymptote (Vektorgrafik-Sprache)
# Asymptote (Vektorgrafik-Sprache)

Asymptote ist eine Vektorgrafik-Sprache, die von Andy Hammerlindl, John C. Bowman (University of Alberta) und Tom Prince entwickelt wurde. Sie bildet ein koordinatenbasiertes Grundgerüst für die Erstellung technischer Zeichnungen. Es ist ferner der Name einer Software, um diese Sprache zu interpretieren. Diese gibt es in Versionen für alle verbreiteten Plattformen wie Unix, MacOS und Windows. Die Software ist quelloffen und unter der GNU Lesser General Public License (LGPL) veröffentlicht.

## Syntax und wesentliche Merkmale

Für die Darstellung von Beschriftungen und Gleichungen nutzt Asymptote LaTeX. Die Ausgabe erfolgt in PostScript, PDF, SVG oder 3D Product Representation Compact, einem Format, das es erlaubt, 3D-Daten in ein PDF-Dokument einzubetten. Asymptote hat MetaPost als Vorbild, aber eine Syntax, die Ähnlichkeit mit C++ aufweist. So wie TeX/LaTeX eine Sprache für den Schriftsatz von mathematischen Gleichungen ist, ist Asymptote eine Sprache für die Darstellung der daraus resultierenden Funktionsgraphen und anderer geometrischer Figuren.

Asymptote ist in jeder Hinsicht auf mathematische Anwendungen zugeschnitten. So können z. B. Vektoren mit Hilfe komplexer Multiplikation gedreht werden. Um Konflikte zwischen Elementen, die vom Maßstab abhängen, und Elementen, die vom Maßstab unabhängig sind, aufzulösen (z. B. Beschriftungen und Pfeilspitzen von Vektoren), wird ein Simplex-Algorithmus genutzt. Die Möglichkeiten von MetaPost, Funktionsverläufe darzustellen, werden von Asymptote auf 3-dimensionale Darstellungen erweitert. Die Grafikbeschreibungen werden von Asymptote zu einem Code kompiliert, der auf einer virtuellen Maschine lauffähig ist, so dass eine einfache Portierbarkeit gewährleistet ist.

In Asymptote sind komplexe Grafik-Befehle direkt in der Sprache implementiert, so dass Anwendungen mit geringem Aufwand erstellt werden können. Es kann daher als das erste Software-Paket angesehen werden, das die Domäne der dreidimensionalen Grafiken in TeX zugänglich macht. Asymptote Quelltext eignet sich damit als Dateiformat für 3D-Grafiken.

## Verbreitung und Anwendung

In Verbindung mit LaTeX ist Asymptote in der wissenschaftlichen Gemeinschaft weniger weit verbreitet als beispielsweise PGF/TikZ. Dennoch ist es in den Paketquellen aktueller Linux-Betriebssysteme (z. B. Fedora und Ubuntu) enthalten und als Download für Microsoft Windows erhältlich.

Asymptote wird zusammen mit Xasy geliefert. Mit dieser in Python (einschließlich Tk-Toolkit) geschriebenen GUI-Anwendung lassen sich rudimentäre Asymptote-Grafiken erstellen. Diese können als .asy-Sourcecode exportiert werden. Dieser kann anschließend von Hand modifiziert oder erweitert werden.

## Beispielcode

Durch den Asymptote-Code wird ein Trapez mit „Hello World“-Label und hervorgehobenen Eckpunkten erzeugt. Zudem ist die Nutzung der Bibliothek „graph“, mit der Funktionen geplottet werden können, gezeigt.

Das folgende Ausgabe PDF-Dokument kann durch den Aufruf von asy -f pdf helloWorld.asy erzeugt werden.

