aboutsummaryrefslogblamecommitdiff
path: root/science/py-geometer/pkg-descr
blob: dd1947b0d39ff1b388bae3fcddc12ecb815cf61c (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

















                                                                                
Geometer is a geometry library for Python 3 that uses projective geometry and
numpy for fast geometric computation. In projective geometry every point in 2D
is represented by a three-dimensional vector and every point in 3D is
represented by a four-dimensional vector. This has the following advantages:

There are points at infinity that can be treated just like normal points.
- Projective transformations are described by matrices but they can also
  represent affine transformations i.e. also translations.
- Every two lines have a unique point of intersection if they lie in the same
  plane. Parallel lines have a point of intersection at infinity.
- Points of intersection, planes or lines through given points can be calculated
  using simple cross products or tensor diagrams.
- Special complex points at infinity and cross ratios can be used to calculate
  angles and to construct perpendicular geometric structures.
- Most of the computation in the library done via tensor diagrams (using
  numpy.einsum).

WWW: https://github.com/jan-mue/geometer