尝试一下,交互式的三维计算python库,py3d

py3d是一个我开发的三维计算python库,目前不定期在PYPI上发版,可以通过pip直接安装
pip install py3d

开发这个库主要可视化是想把自己在工作中常用的三维方法汇总积累下来,不必每次重新造轮子。其实现成的python库也有很多,例如scipy.spatial, pyquaternion, open3d等等,但是这些库要么没有可视化功能,要么比较难用,所以自己开发了一个。最开始是想做成一个三维仿真工具,后来发现这个有些困难,工作量太大,所以目前功能局限在三维变换和可视化上。

相比其他的库,这个库有几个特点:

  1. 纯python,没有使用C++
  2. 交互式可视化,在jupyter中可以可视化点云、图片、网格等等,均可缩放、旋转
  3. 支持多种常用三维文件的解析,如PCD,PLY,OBJ等

在自动驾驶和机器人开发中一个常见的任务是坐标系转换,以下展示一个使用py3d计算一个直角坐标系在经过旋转变换R和平移变换T后的新坐标系,并可视化的例子,注意需要在jupyter中运行才能看见可视化结果

python 复制代码
import py3d
coord=py3d.axis(dashed=True)
R=py3d.Transform.from_euler("xyz", [1,2,3])
T=py3d.Transform.from_translation([4,5,6])
new_coord=py3d.axis()@R@T
py3d.render(coord,new_coord)
py3d.label("origin coord", [0,0,0], "orange")
py3d.label("new coord", [4,4.5,6], "orange")

使用文档:https://tumiz.github.io/py3d/

一个人开发,能力和时间是有限的,希望有类似想法的人能参与进来,无论是提出建议,贡献代码,还是发现问题,都是非常欢迎的。

相关推荐
金銀銅鐵19 小时前
[Python] 从《千字文》中随机挑选汉字
后端·python
cup111 天前
[技术复盘] Windows Python 打包实战:Nuitka 环境踩坑总结与 CI 自动化构建全指南
python·ai·环境变量·ci·nuitka·skill
aqi001 天前
15天学会AI应用开发(七)有了大模型为什么还要引入RAG
人工智能·python·大模型·ai编程·ai应用
金銀銅鐵1 天前
用 Python 实现 Take-Away 游戏
python·游戏
copyer_xyf1 天前
Agent 流程编排
后端·python·agent
copyer_xyf1 天前
Agent RAG
后端·python·agent
copyer_xyf1 天前
【RAG】向量数据库:milvus
后端·python·agent
copyer_xyf1 天前
Agent 记忆管理
后端·python·agent
星云穿梭2 天前
用Python写一个带图形界面的学生管理系统——完整教程
python