四边形数据结构

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进行修改,或者进行其他实现。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
与ReentrantLock相比,java ReentrantReadWriteLock的性能非常差   java如何使用Maven Android Studio正确导入?   安卓将ADB添加到我的Java PC应用程序   反射Java getDeclaredConstructor失败,来自JUnit的NoSuchMethodException   JSP上siteedit标记库的java替代   JavaSpring环境概要文件和JPA   java中是否有一个类似于StringBuilder的类,唯一的区别是它具有固定的长度?   JavaMathContext。小数点32 vs MathContext。小数点64,使用哪一个,为什么?   java使用spring在Ibm Websphere MQ中实现重试逻辑   java调用SpriteBatch。开始()和结束()   java有一种从文本中读取文本的方法。文件,并将其设置为pom中的maven属性。xml专家?   java让sitemesh使用struts2   Java Swing:在现有窗口上定位对话框   使用带有MemSql的JPA本机查询的java Select json列