0eea040532
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
24 lines
575 B
Makefile
24 lines
575 B
Makefile
# Created by: Po-Chuan Hsieh <sunpoet@FreeBSD.org>
|
|
# $FreeBSD$
|
|
|
|
PORTNAME= geometer
|
|
PORTVERSION= 0.1.2
|
|
CATEGORIES= science python
|
|
MASTER_SITES= CHEESESHOP
|
|
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
|
|
|
|
MAINTAINER= sunpoet@FreeBSD.org
|
|
COMMENT= Python geometry package based on projective geometry and numpy
|
|
|
|
LICENSE= MIT
|
|
LICENSE_FILE= ${WRKSRC}/LICENSE
|
|
|
|
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}numpy>=1.15:math/py-numpy@${PY_FLAVOR} \
|
|
${PYTHON_PKGNAMEPREFIX}sympy>=1.3:math/py-sympy@${PY_FLAVOR}
|
|
|
|
USES= python:3.5+
|
|
USE_PYTHON= autoplist distutils
|
|
|
|
NO_ARCH= yes
|
|
|
|
.include <bsd.port.mk>
|