Asymptote | ||
---|---|---|
![]() | ||
![]() | ||
? | ||
Información general | ||
Paradigma | Programación imperativa, Tipografía | |
Apareció en | 2004 | |
Diseñado por | Andy Hammerlindl, John C. Bowman, Tom Prince | |
Influido por | MetaPost | |
Sistema operativo | Multiplataforma | |
Licencia | LGPL | |
Asymptote es un lenguaje descriptivo de gráficos vectoriales – desarrollado por Andy Hammerlindl, John C. Bowman (Universidad de Alberta), y Tom Prince – que proporciona un entorno natural basado en coordenadas para el dibujo técnico. Asymptote se ejecuta en todas las plataformas principales (UNIX, Mac OS, Microsoft Windows). Es software libre, disponible bajo los términos de la GNU Lesser General Public License (LGPL).
Asymptote compone tipográficamente etiquetas y ecuaciones con LaTeX, produciendo salida de alta calidad en PostScript, PDF, SVG, o PRC 3D.[1] Está inspirado en MetaPost, pero tiene una sintaxis similar a C. Proporciona un lenguaje para la tipografía de figuras matemáticas, así como TeX/LaTeX proporciona un lenguaje para la tipografía de ecuaciones. Está orientado matemáticamente (por ejemplo, rotación de vectores por multiplicación compleja), y utiliza el método símplex y el dibujo diferido para resolver problemas de restricción de tamaño global entre objetos de tamaño fijo (etiquetas y puntas de flecha) y objetos que deben escalarse con el tamaño de la figura.
Asymptote generaliza completamente los algoritmos de construcción de rutas de MetaPost a tres dimensiones,[2] y compila comandos en código de máquina virtual para velocidad sin sacrificar la portabilidad. Los comandos gráficos de alto nivel se implementan en el propio lenguaje Asymptote, lo que permite adaptarlos fácilmente a aplicaciones específicas. También parece ser el primer paquete de software en elevar TeX a tres dimensiones.[3][4] Esto permite que Asymptote se utilice como un formato de archivo vectorial 3D.
Asymptote también destaca por tener una interfaz gráfica codificada en Python (y el conjunto de widgets Tk), xasy.py; esto permite a un usuario inexperto dibujar rápidamente objetos y guardarlos como código fuente .asy que luego puede ser examinado o editado a mano.
La sintaxis del programa fue descrita originalmente utilizando una gramática compatible con Yacc.
El siguiente código fuente te permite dibujar un gráfico de la función escalón unitario de Heaviside mediante el lenguaje Asymptote. El código anterior produce la siguiente salida PDF.