四边形数据结构
pydelaunator的Python项目详细描述
#侏儒 用python实现四边形数据结构的测试。
这个小项目是来研究四边形结构的 为了进一步开发[delaunator](https://pypi.python.org/pypi/delaunator), 等了很久。
有一个小的gui(使用awesome[pyglet](http://pyglet.org)模块完成) 这样就可以玩三角测量了。
##安装/要求 在一个命令中安装,包括依赖项:
pip install pydelaunator
##用法 如果直接启动,包将运行gui:
python -m pydelaunator
使用--help
作为选项。
更高级的api是[placer对象](pydelaunator/placer.py)。有关其他用法示例,请参见[测试](pydelaunator/test/test_placer.py)。
##注释 ###目标 这项工作主要是在这里建立一个更好的api原型并检测 为什么在Delaunator有虫子。
效率不是主要目标,尽管如此,因为python与 其他语言是一个有趣的练习,我可能会尝试一些与c相关的优化。 类似地,一些算法思想在这里可以很容易地被测试。
因此,pydelaunator也是一个进一步研究的平台。
###计算几何 [此处使用的代码](pydelaunator/geometry.py)主要由在线资源(so,wikipedia)构成。 它们不是完全[测试的](pydelaunator/test/test_geometry.py)的,但只要三角剖分有效。
在C语言中实现它们可能会加快速度, 因为在python中,算术代码往往很昂贵。
###对偶顶点/数据 也许不是最优化的,但是使用dict映射对象/顶点 对于最终用户来说,这无疑是一种侵入性较小的方法,[在placer对象中实现](pydelaunator/placer.py)。
其他方式:
- 从顶点继承的客户端对象
- 客户端对象保持对其顶点的引用
在处理大数据的情况下,这两种方法的效率可能要高得多。 但是,如果当前的api允许这些,placer对象将继续使用dict映射跟踪对象。 需要对placer进行修改,或者进行其他实现。