Асимптота (язык векторной графики) - Asymptote (vector graphics language)

Асимптота
AsymptoteLogo.svg
Логотип Asymptote (файл SVG, созданный с помощью Asymptote)
Парадигмаимператив, наборный
РазработаноЭнди Хаммерлиндл, Джон С. Боуман, Том Принс
Впервые появился2004; 16 лет назад (2004)
Стабильный выпуск
2.67[1] / 6 августа 2020; 4 месяца назад (6 августа 2020)
Печатная дисциплинасильный
Язык реализацииC ++
Операционные системыКроссплатформенность
ЛицензияLGPL
Интернет сайтасимптота.sourceforge.io
Под влиянием
MetaPost

Асимптота является описательным векторная графика язык, разработанный Энди Хаммерлиндлом, Джоном С. Боуменом (Университет Альберты) и Томом Принцем, который обеспечивает естественную основанную на координатах структуру для технический рисунок. Асимптота работает на всех основных платформах (Unix, Mac OS, Майкрософт Виндоус ). это бесплатно программное обеспечение, доступный в соответствии с условиями Стандартная общественная лицензия ограниченного применения GNU (LGPL).

Синтаксис и примечательные особенности

Асимптота набирает метки и уравнения с Латекс, производящие качественные PostScript, PDF, SVG, или 3D КНР выход.[2] Он вдохновлен MetaPost, но имеет C ++ -подобный синтаксис. Он предоставляет язык для наборный математические цифры, так же как TeX /Латекс предоставляет язык для набора уравнений. Он математически ориентирован (например, вращение векторов путем комплексного умножения) и использует симплексный метод и отложенное рисование для решения общих проблем ограничения размера между объектами фиксированного размера (метки и стрелки) и объектами, которые должны масштабироваться с размером фигуры. Асимптота полностью обобщает алгоритмы построения пути MetaPost для трех измерений,[3] и компилирует команды в виртуальная машина код для скорости без ущерба для переносимости. Графические команды высокого уровня реализованы на самом языке Asymptote, что позволяет легко адаптировать их к конкретным приложениям. Кроме того, похоже, что это первый программный пакет, который поднял TeX в трех измерениях.[4][5]Это позволяет использовать Asymptote как Формат файлов 3D вектор.

Асимптота также отличается графическим интерфейсом, написанным на PythonТк набор виджетов), xasy.py - это позволяет неопытному пользователю быстро рисовать объекты и сохранять их как исходный код .asy, который затем можно просмотреть или отредактировать вручную.

Примеры применения

Следующий исходный код позволяет нарисовать график Функция Хевисайда с помощью языка Asymptote.

импорт график;импорт настройки;переформатировать="pdf";размер(300,300);// Функция.настоящий[] x1 = {-1.5,0};настоящий[] y1 = {0,0};настоящий[] x2 = {0,1.5};настоящий[] y2 = {1,1};рисовать(график(x1,y1),красный+2);рисовать(график(x2,y2),красный+2);рисовать((0,0)--(0,1),красный+1.5+тип линии("4 4"));наполнять( круг((0,1),0.035), красный);заполнить( круг((0,0),0.03), белый, красный+1.5);// Оси.xaxis( Этикетка("$ x $"), Клещи(новый настоящий[]{-1,-0.5,0.5,1}), Стрелка);Yaxis( Этикетка("$ y $"), Клещи(новый настоящий[]{0.5,1}), Стрелка, ymin=-0.18, ymax=1.25);// Источник.этикеткаx("$ O $",0,SW);

Приведенный выше код дает следующий вывод в формате PDF.

Скомпилированный вывод кода примера Asymptote

Смотрите также

  • GeoGebra - бесплатная программа динамической математики с экспортом асимптоты
  • PSTricks
  • TikZ
  • PyX

Рекомендации

  1. ^ «Выпуск 2.67». 6 августа 2020. Получено 7 августа 2020.
  2. ^ Асимптота: язык векторной графики, Дж. К. Боуман и А. Хаммерлиндл, TUGBOAT: Коммуникации группы пользователей TeX, 29: 2, 288-294 (2008).
  3. ^ Обобщение трехмерной асимптоты интерполяции Безье MetaPost, Дж. К. Боуман, Proceedings in Applied Mathematics and Mechanics, 7: 1, 2010021-2010022 (2007).
  4. ^ Асимптота: подъем TeX к трем измерениям, Дж. К. Боуман и Орест Шардт, TUGBOAT: The Communications of the TeX Users Group, 30: 1, 58-63 (2009).
  5. ^ Параметризация поверхности непросто связанных плоских областей Безье, О. Шардт, Дж. К. Боуман, Компьютерное проектирование, 44:5 (2012).

внешняя ссылка