Skip to main content

Python3 3D transformation library with object oriented API and MIT licensed

Project description

pipeline status coverage report

Object oriented transformation matrix library. m3d was originally developed as an MIT licenced API compatible replacement for pymath3d which is GPL, but is now developed independently. Development is happenig here: https://gitlab.com/kurant-open/m3d/

m3d uses some code from https://matthew-brett.github.io/transforms3d/ and its API is inspired by pymath3d API from Morten Lind https://gitlab.com/morlin/pymath3d.

Example use:

t = m3d.Transform()
t.orient.rotate_yb(1)
t2 = t.copy()
t2.pos.x = 1
v = t2.inverse() @ t @ m3d.Vector(1, 2, 3)
v.normalize()
v *= 1.2
o = m3d.Orientation.from_axis_angle(0, 0, 1)
v = o * v
o2 = m3d.Orientation.from_xy(m3d.Vector(1.1, 0.2, 0), m3d.Vector(0, 0, 1.1))
v = o2 * o.inverse() * v

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

m3d-1.2.0.tar.gz (10.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

m3d-1.2.0-py3-none-any.whl (13.4 kB view details)

Uploaded Python 3

File details

Details for the file m3d-1.2.0.tar.gz.

File metadata

  • Download URL: m3d-1.2.0.tar.gz
  • Upload date:
  • Size: 10.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for m3d-1.2.0.tar.gz
Algorithm Hash digest
SHA256 a185010ee25fef64c7920e5be79b9d5775ce9e22f465d88a5f60b89c94c2f9b4
MD5 426f968ab6a6ae2873b00703867e7534
BLAKE2b-256 507e1c080a50cb54a639bcb726f16aef824319d24e56a1d47df27dbf5b77ac78

See more details on using hashes here.

File details

Details for the file m3d-1.2.0-py3-none-any.whl.

File metadata

  • Download URL: m3d-1.2.0-py3-none-any.whl
  • Upload date:
  • Size: 13.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for m3d-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f375a8b69978c4c2af86cefafb10886eebf8b32093ad9404da71cec931595086
MD5 b17f9e34096b1ceed3f82f09ccbbace7
BLAKE2b-256 68ac9c912726b0177a3d428810480e433ec7e691a20e18dc8cbad883a37d4391

See more details on using hashes here.

Supported by

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