aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--science/Makefile1
-rw-r--r--science/py-geometer/Makefile24
-rw-r--r--science/py-geometer/distinfo3
-rw-r--r--science/py-geometer/pkg-descr18
4 files changed, 46 insertions, 0 deletions
diff --git a/science/Makefile b/science/Makefile
index 80c8d5f9361b..7632ac8678d7 100644
--- a/science/Makefile
+++ b/science/Makefile
@@ -226,6 +226,7 @@
SUBDIR += py-chempy
SUBDIR += py-coards
SUBDIR += py-dlib
+ SUBDIR += py-geometer
SUBDIR += py-gpaw
SUBDIR += py-gsd
SUBDIR += py-h5py
diff --git a/science/py-geometer/Makefile b/science/py-geometer/Makefile
new file mode 100644
index 000000000000..f8b78f342045
--- /dev/null
+++ b/science/py-geometer/Makefile
@@ -0,0 +1,24 @@
+# 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>
diff --git a/science/py-geometer/distinfo b/science/py-geometer/distinfo
new file mode 100644
index 000000000000..3495919f859e
--- /dev/null
+++ b/science/py-geometer/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1552844109
+SHA256 (geometer-0.1.2.tar.gz) = 03c3db58809e512da38f5d3c225642b2ab595a795329a9647e38d8cf4d4f2621
+SIZE (geometer-0.1.2.tar.gz) = 19422
diff --git a/science/py-geometer/pkg-descr b/science/py-geometer/pkg-descr
new file mode 100644
index 000000000000..dd1947b0d39f
--- /dev/null
+++ b/science/py-geometer/pkg-descr
@@ -0,0 +1,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