vectormath: vector math utilities for Python

## Project description

## vectormath

Vector math utilities for Python built on NumPy

### Why

The `vectormath`

package provides a fast, simple library of vector math
utilities by leveraging NumPy. This allows explicit
geometric constructs to be created (for example, `Vector3`

and `Plane`

)
without redefining the underlying array math.

### Scope

The `vectormath`

package includes `Vector3`

/`Vector2`

and
`Vector3Array`

/`Vector2Array`

.

### Goals

- Speed: All low-level operations rely on NumPy arrays. These are densely packed,
typed, and partially implemented in C. The
`VectorArray`

classes in particular take advantage of this speed by performing vector operations on all Vectors at once, rather than in a loop. - Simplicty: High-level operations are explicit and straight-forward. This library should be usable by Programmers, Mathematicians, and Geologists.

### Alternatives

### Connections

- properties uses
`vectormath`

as the underlying framework for Vector properties.

### Installation

To install the repository, ensure that you have pip installed and run:

pip install vectormath

For the development version:

git clone https://github.com/seequent/vectormath.git cd vectormath pip install -e .

## Examples

This example gives a brief demonstration of some of the notable features of
`Vector3`

and `Vector3Array`

import numpy as np import vectormath as vmath # Single Vectors v = vmath.Vector3(5, 0, 0) v.normalize() print(v) # >> [1, 0, 0] print(v.x) # >> 1.0 # VectorArrays are much faster than a for loop over Vectors v_array = vmath.Vector3Array([[4, 0, 0], [0, 2, 0], [0, 0, 3]]) print(v_array.x) # >> [4, 0, 0] print(v_array.length) # >> [4, 2, 3] print(v_array.normalize()) # >> [[1, 0, 0], [0, 1, 0], [0, 0, 1]] # Vectors can be accessed individually or in slices print(type(v_array[1:])) # >> vectormath.Vector3Array print(type(v_array[2])) # >> vectormath.Vector3 # All these classes are just numpy arrays print(isinstance(v, np.ndarray)) # >> True print(type(v_array[1:, 1:])) # >> numpy.ndarray

Current version: v0.2.0

## Project details

## Download files

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

Filename, size & hash SHA256 hash help | File type | Python version | Upload date |
---|---|---|---|

vectormath-0.2.0.tar.gz (6.8 kB) Copy SHA256 hash SHA256 | Source | None | Apr 16, 2018 |