纯python中的二维和三维计算几何库
polliwog的Python项目详细描述
polliwog
二维和三维计算几何库,包括几何运算, 变换,以及像平面、多边形链和轴对齐的基元 包围盒。轻量级和纯python。
这个项目的目标是:
- 保持依赖项轻量级和部署灵活。
- 使库在当前版本的python和其他工具中工作。
- 响应社区捐款。
- 最终为这个问题域提供一套完整的功能。
待办事项
- []将
_temporary.setter_property
替换为??。
功能
二维和三维几何运算、变换和基本体。
most commonly used of these直接导入到
polliwog
。
- polliwog.Plane表示 3-空间(不是超平面)。
- polliwog.Polyline表示 三维空间中的无约束多边形链。
polliwog.transform
包括用于3d转换的代码。
- polliwog.transform.CompositeTransform 表示使用齐次坐标的复合变换。(谢谢AVD!)
- polliwog.transform.CoordinateManager 提供一个方便的接口,用于在 将点从一个参考坐标系转换并投影到另一个参考坐标系。
- polliwog.transform.find_rigid_transform
查找将一组点紧密转换为
另一个。它的堂兄
find_rigid_rotation
也做了同样的事情,但只允许 旋转,而不是平移。 - polliwog.transform.rotation.rotation_from_up_and_look 生成一个旋转矩阵,使网格进入标准参考系 从“向上”和“看”向量。
其他模块:
- polliwog.tri.barycentric为 使用重心坐标将点投影到三角形上。
- polliwog.segment提供用于处理 n空间中的线段。
安装
pip install polliwog
用法
importnumpyasnpfrompolliwogimportPolyline# ...
贡献
拉请求欢迎!
支架
如果你有问题,请告诉我们。
致谢
这个集合是在Body Labs开发的,包括一组代码 在Body Labs开发,由 Eric Rachlin、Alex Weiss和Paul Melnikow。它被提取出来了 从body labs代码库和Alex Weiss开源到库中 称为blmath,它是亚群的forked by Paul Melnikow。 这个库和三维几何和线性代数工具带vg是后来的 提取。
许可证
该项目根据两条BSD许可证获得许可。