Skip to main content

No project description provided

Project description

PyEVSpace

PyEVSpace is a Python Euclidean vector space package containing types and methods for representing vector quantites and fasilitating rotating them between reference frames. PyEVSpace is designed for 3-dimensional space only, which allows for optimum speed since size checks do not occur.

Documentation

The full documentation of this project with both Python and C APIs can be found here.

Install

The python module can be installed with

pip install pyevspace

Alternatively the repository can be downloaded or cloned using:

git clone https://github.com/qbizzle68/pyevspace.git

It can be used as is within Visual Studio, or built inplace using the setup.py if needed.

Usage

To use the module simply import the pyevspace module into your project:

import pyevspace as evs
from math import pi

vec = evs.Vector(1, 2, 3)

rotatedVec = evs.rotateAxisTo(evs.X_AXIS, pi/2)

Matrices can be created from iterables, where each iterable represents a row of the matrix

import pyevspace as evs

mat = evs.Matrix((0, 0, 1), (0, -1, 0), (1, 0, 0))

rotatedVec = evs.rotateMatrixFrom(mat, Vector(1, 1, 1))

The Order and Angles types can be used to create an Euler rotation matrix. All twelve Euler rotations are already defined in the module, so you shouldn't need to instantiate an Order object. The Angles object holds the angles for each rotation in the Euler rotation, in the order of the axis rotations (in radians).

import pyevspace as evs

angs = Angles(1.1, 4.5, 3.14)
mat = getMatrixEuler(XYZ, angs)

rotatedVec = mat * Vector(1, 0, 2)

There are many methods that handle the rotations for you, check the official documentation to learn more about them.

Examples

Examples of numeric operators

v1 = Vector(1, 2, 3)
v2 = Vector(4, 5, 6)

print(v1 * 2)
# prints [2, 4, 6]

print(v1 + v2)
# prints [5, 7, 9]

print(v1 - v2)
# prints [-3, -3, -3]

Examples of vector and matrix operators

v1 = Vector(1, 2, 3)
v2 = Vector(4, 5, 6)
m1 = Matrix(Vector(4, 2, 3), Vector(8, 5, 2), Vector(4, 2, 1))

print(dot(v1, v2))
# prints 32.0

print(cross(v1, v2))
# prints [ -3.00000, 6.00000, -3.00000 ]

print(det(m1))
# prints -8.0

print(transpose(m1))
# prints 
# ([4, 2, 3],
# [8, 5, 2],
# [4, 2, 1])

License

MIT

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

pyevspace-0.0.12.1.tar.gz (40.0 kB view details)

Uploaded Source

Built Distribution

pyevspace-0.0.12.1-cp310-cp310-win_amd64.whl (45.6 kB view details)

Uploaded CPython 3.10 Windows x86-64

File details

Details for the file pyevspace-0.0.12.1.tar.gz.

File metadata

  • Download URL: pyevspace-0.0.12.1.tar.gz
  • Upload date:
  • Size: 40.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.10.2

File hashes

Hashes for pyevspace-0.0.12.1.tar.gz
Algorithm Hash digest
SHA256 884b2ead746b6b5283ce83ef0ca49e77d3135e727369b1f7e5a60a3fdd0c0d38
MD5 d9d2299f6291b354f72597b1c343c463
BLAKE2b-256 25354cb3cdceb58eae2abf0d5ef63d99fa05b1f0415688b8536fbdff48363491

See more details on using hashes here.

File details

Details for the file pyevspace-0.0.12.1-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for pyevspace-0.0.12.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 4707ce72af1fda81da32b8bff776d3ab24c37fc2873e5a0a4d042c471221910f
MD5 4bc05e3a430ffc84c51f805bf6e6d9f6
BLAKE2b-256 7c5c9b4147354f835caed66438448780816f2034b8430d1a8db1e258d2c1da40

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