py3d is a pure and lightweight python library of 3d data structures and functions, which can deal with points, lines, planes and 3d meshes in batches, and also visualize them. All the actions can be done in a jupyter notebook.
Project description
py3d
py3d is a pure and lightweight python library of 3d data structures and functions, which can deal with points, lines, planes and 3d meshes in batches, and also visualize them. All the actions can be done in a jupyter notebook.
Now supported features includes:
- read/visualize ply
- read/write/visualize npy
- read/write/visualize csv
- read/write/visualize pcd
- apply rotation/translation/scaling on vectors
- compose or decompose different transforms
- conversion between rotation matrix, angle axis, quaternion, euler angle and rotation vector
It is under development and unstable currently. But it is designed to be simple, stable and customizable:
- simple means api will be less than usual and progressive
- stable means it will have less dependeces and modules, and it will be fully tested
- customizable means it will be a libaray rather than an application, it only provide data structures and functions handling basic geometry concepts
Installation
pip install py3d
Example
import py3d
import numpy
cars = py3d.cube(0.5,0.2,0.3) @ py3d.Transform.from_translation(y=range(1,6), z=0.15)
cars.paint()
t = 0
dt = 0.1
while t<4:
py3d.render(cars, t=t)
cars @= py3d.Transform.from_rpy(py3d.Vector3(z=dt * numpy.linspace(0.1,1,5)))
t += dt
py3d.show()
API reference
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
py3d-0.1.31.tar.gz
(17.1 kB
view hashes)
Built Distribution
py3d-0.1.31-py3-none-any.whl
(16.4 kB
view hashes)