Skip to main content

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.

Code | Docs

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<3:
    py3d.render(cars, t=t)
    cars @= py3d.Transform.from_rpy(py3d.Vector3(z=dt * numpy.linspace(0.1,1,5)))
    t += dt
py3d.show()

example

API reference

Vector Vector3 Vector4 Transform Rotation Color IO

Top

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.86.tar.gz (34.4 kB view details)

Uploaded Source

Built Distribution

py3d-0.1.86-py3-none-any.whl (33.7 kB view details)

Uploaded Python 3

File details

Details for the file py3d-0.1.86.tar.gz.

File metadata

  • Download URL: py3d-0.1.86.tar.gz
  • Upload date:
  • Size: 34.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for py3d-0.1.86.tar.gz
Algorithm Hash digest
SHA256 97707ca8bd4af1233f704d93d83ddf4e0a0795d7bf13217bb76e3d443b9b1e64
MD5 f4f97c4f89030c32b108031f850024d5
BLAKE2b-256 5fc933cebaa4645637b43043a7cc45c387d0bcf46da4f95c8ff1be26cbc7ff71

See more details on using hashes here.

File details

Details for the file py3d-0.1.86-py3-none-any.whl.

File metadata

  • Download URL: py3d-0.1.86-py3-none-any.whl
  • Upload date:
  • Size: 33.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for py3d-0.1.86-py3-none-any.whl
Algorithm Hash digest
SHA256 74658c674482007a915967482c36dbd2499f50d4465075a2a76347361abc72e4
MD5 dfbf4cad3e9444553fde6eec0368a46e
BLAKE2b-256 64dec48671920da8b89e7811547233242855d06252944ac7e78d9d99c0e3bddc

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page