开源的矢量图手绘工具:Ipe

说起绘图工具, 尤其是适合与TeX配合使用的示意图绘制工具, MetaPost和Asymptote都很强大, 只是二者画图时都需要垒点代码, MetaPost还略显古老, 有些方面设计得不够完善. 在绘制那些非数学图非统计图非流程图而精度要求又不是很高的示意图时, 寻找一个上手简单, 功能足够的矢量图绘制工具就显得很重要了. 画个小图用上AI/CorelDraw/Inkscape这些巨无霸似乎有些夸张, 而且我总是用不好这些软件里那个贝塞尔曲线工具 .. Google后也不会, 希望下次遇到个会用的人手把手教我一下 .. :oops:

ipe_tetracube

Ipe绘制的图形示例

今天试用了一些专门的绘图宏包(PSTricks/PGF/TikZ)和GUI的手绘工具(TpX/Ipe/MetaGraf/Jpgfdraw/LaTeXDraw), 个人感觉还是Ipe比较好用, 图形简约自然, 风格十分贴近MetaPost等经典工具, 可以直接导出EPS/PDF, 又能直接嵌入TeX字符和公式(利用了PDFLaTeX). 有这些功能, 我已经满足了. 一个小小的遗憾是Ipe没有那个LaTeXDraw自带的坐标轴和网格绘制功能, 但手工画一下好像也不是很难.

特别值得注意的是,Ipe是支持编写扩展的. 其扩展叫做Ipelets. 官方释出的版本中已经自带了一些比较实用的Ipelets, 比如绘制任意边数的正多边形, 画三角形内切/外接圆等等功能简单的Ipelets, 更有Delaunay三角剖分等等与计算几何中Voronoi图相关的比较专业的Ipelets. 更让我惊讶的是, Ipe还与优秀的计算几何算法库CGAL建立了联系: CGAL Ipelets提供了对CGAL算法库的访问, 而这些Ipelets现在已经是CGAL的一部分. 可以在研究计算几何时作为辅助工具玩玩.

ipelets

Ipe中自带的Ipelets

官方主页(The Ipe extensible drawing editor):

http://tclab.kaist.ac.kr/ipe/

部分第三方Ipelets:

http://tclab.kaist.ac.kr/ipe/ipelets.html

下面的页面有很多绘图示例(基本上都是物理情境示意图)可以作为参照练习使用:

http://melusine.eu.org/lab/ipe

Ipe的缺点是不能精确控制图形, 对于一些牵涉数学的图形和较为复杂的、涉及计算的图形十分乏力, 不过在要求比较低时快速作个图还是可以的. 下面是一份网友制作的完整文档, 《经典力学学习札记》, 全部图形使用Ipe绘制, 可以大致看一下效果(由于dropbox目前被ooxx, 国内无法访问).

http://dl.dropbox.com/u/4509593/Mech_tianyi/mech_tianyi.pdf

p.s. 我很喜欢这个文档的风格, 行气很足, 很漂亮. 只是Adobe的免费宋体还是显得略细了些.