Asymptote/简介

维基教科书,自由的教学读本

Asymptote 是什么?[编辑]

Asymptote 是一款按照 GNU GPL (http://www.gnu.org/licenses/gpl.txt) 授权的自由软件,你可以免费地得到并使用它。 它的作者是 A. Hammerlindl,J. Bowman,和 T. Prince。 Asymptote 最初是为 Unix 和 Linux 操作系统设计的, 但后来也移植到了其它主流操作系统, 例如 MacOS 和 MS Windows 等。

Asymptote 是专门用来画高质量的精确数学图的。 你可以轻而易举地用它作出符合出版要求的各种数学图形, 例如几何图、数学示意图、函数和数据曲线或曲面图等等。 因此,Asymptote 是一个作图软件而不是图像处理软件。 把 Asymptote 与 LaTeX 结合使用将能够排版出完美的 科技文章或者书籍。这也正是 Asymptote 作者们的初衷。

Asymptote 可以多种格式输出图形, 默认的情况下产生 Postscript 输出,也可以输出为 pdf格式。 这两种格式都是矢量图格式。 它也可以输出 ImageMagic 所支持的任何其它格式,例如 jpg,gif,png 等等。 你当然可以把这些格式的图形插入到网页以及其它文档中。 Asymptote 调用 LaTeX 来处理文本标签和数学公式排版, 因此图形中的文字质量也是绝对一流。


其实,与其说 Asymptote 是一款软件,不如说它是一种语言, 一种专门为作数学图而设计的高级计算机编程语言。 这里应该提到著名的 MetaPost 语言。 Asymptote 的作者们正是受到 MetaPost 的启发才开发了 Asymptote。 MetaPost 的设计目的几乎与 Asymptote 相同, 但它的语法对于大多数用户来说显得很陌生,学习起来难度很大。 鉴于这一点,Asymptote 吸收了 MetaPost 的一些非常好的特点, 但使用了一种类似 C/C++ 语言的语法规则。 这使得它更加易于接受,从而减小了学习和使用的难度。

有人可能一听到“编程”就感到头疼。因此 Asymptote 不会令所有的人满意。 但不管怎么说,至少我认为,仅仅因为这一点就离开 Asymptote 的确非常遗憾。 用 Asymptote 编程可能远不像你想象的那样可怕。 如果你仅仅是拿它来作一些图(这正是大多数人的目的),它可以是非常简单的。 打个比方,比如你想算个简单的数学——就象 之类的——你所需要做的并不是系统地学习 C 语言然后再编个程序, 而仅仅是去找个计算器按按键就行了。Asymptote 语言也是这个意思。当然, 如果你属于那种对编程不头疼的人, 那么你一定会在 Asymptote 中发现更多的乐趣, 并会使你自己以及他人受益的。

Asymptote 的特点[编辑]

有很多自由的和商业的科技作图软件,相信读者曾经或者正在使用着它们。 那么为什么还需要 Asymptote 呢?其实很简单,每个软件都有各自的优缺点, 没有一个万能的软件可以做好每件事情。 每个软件的特点决定了什么人会使用它以及使用它做什么。 Asymptote 的主要特点包括:

  • 是一种计算机高级程序语言,语法类似于 C/C++;
  • 使用精确的坐标系统,可以输出高质量的向量图;
  • 用 LaTeX 排版图中的文字和数学公式;
  • 具有很大的灵活性,用户通常可以找到办法作出满足自己意愿的图;
  • 具有很强的可扩展性,对于常用的功能可以写出通用的模块,这类似于 LaTeX 的宏包和 C/C++ 的库。

这些特点令 Asymptote 区别于其它软件。特点本身谈不上好坏, 任何特点都有可能,在某些情况下,给你带来方便或者麻烦。

不同于 Origin,SigmaPlot,Grace,XFig 等作图软件, Asymptote 是编程语言。也就是说,它是基于代码的。你要用它作图, 就要写一段程序。这也表明,它不是“所见即所得”的。对那些 喜欢使用鼠标点来点去的读者来说,这无疑是一个缺点(希望 你不觉得这个缺点很严重)。而考虑到 Asymptote 的用户多半也会 使用 LaTeX,那么写写代码应该也算不上绝对不可接受的。

但也恰恰是这一点给我们带来了很多好处。我们可以完全 按照我们自己的意愿来精确地安排作图方式和内容,我们可以重复使用代码, 我们还可以做很多鼠标完成不了的其它工作。 基本上,Asymptote 的所有其它特点都是基于这一点的。所以, 我把它当作 Asymptote 的优点来看。

同样是基于代码的,还有一些其它的科技作图软件, 例如前面提到的 MetaPost,以及 gnuplot,Gri,Pyx 等。 它们也都是各具特色。有时候结合起来使用可能更好。 比如作数据图时,我就喜欢先用 gnuplot 大致看看, 最后定稿时再用 Asymptote 输出。

互联网上的资源[编辑]

Asymptote 的官方网站位于 http://asymptote.sourceforge.net , 在那里可以找到它的最新版本下载链接以及最新的文档和相关信息等。

安装和配置[编辑]