【CGAL+Python】安装CGAL的Python绑定

由于CGAL是由C++开发的,在Python中使用一般需要创建Python与C++程序的绑定。想了解更多Python调用C/C++程序的细节参见:Python Bindings - 从 Python 调用 C/C++。而我们使用到的绑定是通过SWIG通用工具生成的。SWIG可用于创建与许多其他语言(不仅限于 Python)的 C 和 C++ 程序的绑定。 目前Github上已开源cgal-swig-bindings项目能帮助我们在Python下调用CGAL的一些程序包。这个项目仍处于实验阶段,未来会不断添加更多包。相关信息参见:https://github.com/CGAL/cgal-swig-bindings/wiki。

cgal-swig-bindings项目已实现Python绑定的CGAL包如下:

image-20221123151619901

我们通过pip在Pyhton下安装CGAL,安装命令如下:

1
pip install cgal

image-20221123150645028

测试一下安装是否成功,该python环境下运行下面代码:

1
2
3
4
5
6
from CGAL.CGAL_Kernel import *

if __name__ == '__main__':
p1 = Point_2(1, 1)
p2 = Point_2(10, 10)
print(squared_distance(p1, p2))

image-20221123150847216

运行成功,结果正确,没有报错。接下来我们便可以愉快的在Python下调用CGAL的算法啦~