Asymptote: The Vector Graphics Language logo

Asymptote: The Vector Graphics Language

Generates high-quality vector graphics with embedded mathematical typesetting.

Made by Unknown Author

  • Vector Graphic

  • Programming Language

What is Asymptote: The Vector Graphics Language?

Asymptote is a descriptive vector graphics language that provides a natural coordinate-based framework for technical drawing. Labels and equations are typeset with LaTeX, enabling high-quality PostScript output. As a programming language, Asymptote offers advantages over traditional graphics programs, providing a portable standard for typesetting mathematical figures, similar to how TeX/LaTeX has become the standard for typesetting equations. The language generates high-quality vector graphics in various formats, including PostScript, PDF, SVG, and 3D PRC, and can embed 3D vector PRC graphics within PDF files. Inspired by MetaPost, Asymptote features a clean, powerful C++-like programming syntax and IEEE floating-point numerics, making it suitable for mathematical-oriented tasks such as rotation of vectors by complex multiplication. The language's LaTeX typesetting of labels ensures document consistency, and its use of the simplex method and deferred drawing helps solve overall size constraint issues between fixed-sized objects (labels and arrowheads) and objects that should scale with figure size. Asymptote fully generalizes MetaPost path construction algorithms to three dimensions and compiles commands into virtual machine code for speed without sacrificing portability. Furthermore, the high-level graphics commands are implemented in the Asymptote language itself, allowing for easy tailoring to specific applications

Highlights

  • Provides a natural coordinate-based framework for technical drawing
  • Supports LaTeX typesetting of labels and equations for high-quality output
  • Generates vector graphics in various formats, including PostScript, PDF, SVG, and 3D PRC
  • Embeds 3D vector PRC graphics within PDF files
  • Offers a C++-like programming syntax with IEEE floating-point numerics
  • Supports mathematical-oriented tasks, such as rotation of vectors by complex multiplication
  • Uses the simplex method and deferred drawing to solve size constraint issues
  • Generalizes MetaPost path construction algorithms to three dimensions
  • Compiles commands into virtual machine code for speed without sacrificing portability
  • Allows for easy tailoring of high-level graphics commands to specific applications

Platforms

  • Mac
  • Linux
  • Windows

Languages

  • English