py3d is a pure and lightweight Python library dedicated to 3D data structures and functions. It enables batch processing of 3D points, lines, planes, and 3D meshes. Moreover, it provides interactive visualization capabilities for these elements. It is advisable to use it in Jupyter for visualization purposes.
- Supports the reading, writing, and visualization of multiple 3D data formats such as the popular PLY, NPY, CSV, PCD, and OBJ. Demos
- Perform rotation, translation, and scaling operations on 3D geometries. Demos
- Conversion among diverse rotation representations, Demos
- Rotation matrix
- Angle - axis
- Quaternion
- Euler angle
- Rotation vector
pip install py3d
Here are some small examples:
- Visualize a pcd file in jupyter
import py3d
pcd = py3d.read_pcd("binary.pcd")
print("min", pcd.min())
print("max", pcd.max())
pcd.xyz.as_point(colormap=pcd.w)
- Visualize an image in jupyter
import py3d
py3d.read_img("./20220917214012.jpg").as_image()
- Convert euler angles to rotation matrix
import py3d
py3d.Transform.from_euler("xyz", [0.4, -0.2, 0])