d维aabb树的纯python实现。
aabbtree的Python项目详细描述
< H2> AbbTe-轴对齐包围盒树< /H2>
aabbtree是静态d维的纯python实现 轴对齐包围盒(AABB)树。它的灵感来自 Introductory Guide to AABB Tree Collision Detection 从azure从战壕。
左:aabb树,叶按插入顺序编号。 右图:aabbs及其边界框。
安装
aabbtree可通过pypi获得,并可通过运行以下命令安装:
pip install aabbtree
要测试软件包是否安装正确,请运行:
python -c "import aabbtree"
或者,可以通过下载 github上AABBTree repository的最新版本。提取源 然后,从顶层目录运行:
pip install -e .
根据权限的不同,可能需要--user标志。
示例
下面的示例演示如何构建aabb树并测试重叠:
>>> from aabbtree import AABB >>> from aabbtree import AABBTree >>> tree = AABBTree() >>> aabb1 = AABB([(0, 0), (0, 0)]) >>> aabb2 = AABB([(-1, 1), (-1, 1)]) >>> aabb3 = AABB([(4, 5), (2, 3)]) >>> tree.add(aabb1, 'box 1') >>> tree.does_overlap(aabb2) True >>> tree.overlap_values(aabb2) ['box 1'] >>> tree.does_overlap(aabb3) False >>> tree.add(aabb3) >>> print(tree) AABB: [(0, 5), (0, 3)] Value: None Left: AABB: [(0, 0), (0, 0)] Value: box 1 Left: None Right: None Right: AABB: [(4, 5), (2, 3)] Value: None Left: None Right: None
文档
项目文件可在 https://aabbtree.readthedocs.io。
贡献
欢迎对该项目作出贡献。 请访问AABBTree repository以克隆源文件, 创建请求并提交问题。
许可和版权声明
版权所有©2019,乔治亚理工研究公司
aabbtree是开源的,根据 麻省理工学院的执照。