All Projects → scikit-geometry → Scikit Geometry

scikit-geometry / Scikit Geometry

Licence: lgpl-3.0
Scientific Python Geometric Algorithms Library

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Scikit Geometry

Geomstats
Computations and statistics on manifolds with geometric structures.
Stars: ✭ 498 (+126.36%)
Mutual labels:  jupyter-notebook, geometry
Pyopenpose
Python bindings for the Openpose library
Stars: ✭ 277 (+25.91%)
Mutual labels:  wrapper, jupyter-notebook
Hacktoberfest2020
A repo for new open source contributors to begin with open source contribution. Contribute and earn awesome swags.
Stars: ✭ 221 (+0.45%)
Mutual labels:  jupyter-notebook
Pythondemo
虾神的Python示例代码库
Stars: ✭ 221 (+0.45%)
Mutual labels:  jupyter-notebook
Spark Fm Parallelsgd
Implementation of Factorization Machines on Spark using parallel stochastic gradient descent (python and scala)
Stars: ✭ 220 (+0%)
Mutual labels:  jupyter-notebook
Amazing Feature Engineering
Feature engineering is the process of using domain knowledge to extract features from raw data via data mining techniques. These features can be used to improve the performance of machine learning algorithms. Feature engineering can be considered as applied machine learning itself.
Stars: ✭ 218 (-0.91%)
Mutual labels:  jupyter-notebook
Fauxtograph
Tools for using a variational auto-encoder for latent image encoding and generation.
Stars: ✭ 220 (+0%)
Mutual labels:  jupyter-notebook
Kitti Dataset
Visualising LIDAR data from KITTI dataset.
Stars: ✭ 217 (-1.36%)
Mutual labels:  jupyter-notebook
Tensorflow Tutorial
A tutorial on TensorFlow
Stars: ✭ 221 (+0.45%)
Mutual labels:  jupyter-notebook
Vae Clustering
Unsupervised clustering with (Gaussian mixture) VAEs
Stars: ✭ 220 (+0%)
Mutual labels:  jupyter-notebook
Interpret Text
A library that incorporates state-of-the-art explainers for text-based machine learning models and visualizes the result with a built-in dashboard.
Stars: ✭ 220 (+0%)
Mutual labels:  jupyter-notebook
Practical 1
Oxford Deep NLP 2017 course - Practical 1: word2vec
Stars: ✭ 220 (+0%)
Mutual labels:  jupyter-notebook
Mirror
Visualisation tool for CNNs in pytorch
Stars: ✭ 219 (-0.45%)
Mutual labels:  jupyter-notebook
Interview Prepartion Data Science
Stars: ✭ 220 (+0%)
Mutual labels:  jupyter-notebook
Edaviz
edaviz - Python library for Exploratory Data Analysis and Visualization in Jupyter Notebook or Jupyter Lab
Stars: ✭ 220 (+0%)
Mutual labels:  jupyter-notebook
Paperboy
A web frontend for scheduling Jupyter notebook reports
Stars: ✭ 221 (+0.45%)
Mutual labels:  jupyter-notebook
Pytorch Deep Learning Template
A Pytorch Computer Vision template to quick start your next project! 🚀🚀
Stars: ✭ 220 (+0%)
Mutual labels:  jupyter-notebook
Stock Prediction
Stock price prediction with recurrent neural network. The data is from the Chinese stock.
Stars: ✭ 219 (-0.45%)
Mutual labels:  jupyter-notebook
Materials
Bonus materials, exercises, and example projects for our Python tutorials
Stars: ✭ 3,211 (+1359.55%)
Mutual labels:  jupyter-notebook
Neural Style Painting
Implementing of the "A Neural Algorithm of Artistic Style"
Stars: ✭ 219 (-0.45%)
Mutual labels:  jupyter-notebook

scikit-geometry

scikit-geometry logo Binder

A Python Geometric Algorithms Library

The scikit-geometry package contains a whole lot of geometric algorithms. For the moment, scikit-geometry derives most of it’s functionality from the mature and stable Computational Geometry Algorithms Library (CGAL) package, a collection of geometric algorithms written in C++.

Basic Geometric Types

We aim to cleanly encapsulate the important building blocks of a geometric library. As such we have implementations for the basic geometric types:

  • Point2, Point3
  • Segment2, Ray2, Line2, Segment3, Ray3, Line3
  • Vector2, Vector3
  • Circle2
  • IsoRectangle2, Bbox2
  • Plane3, Triangle3
  • Polyhedron3

All sorts of operations can be performed with these basic building blocks. For example, one can construct a new segment from two points, then test against intersection with another segment, or a line.

import skgeom as sg
a = sg.Point2(5, 3)
b = sg.Point2(10, 8)
print(a, b)

>>> PointC2(5, 3), PointC2(10, 8)

Now we can create a vector from two points by subtracting one from another.

v = a - b
print(v)

>>> VectorC2(-5, -5)

Or a segment between two points, where a is the source and b the target.

s = sg.Segment2(a, b)
print(s)

>>> Segment_2(PointC2(5, 3), PointC2(10, 8))

Documentation

The docs are hosted on github: https://scikit-geometry.github.io/scikit-geometry

It is built from Jupyter notebooks that can be found under the /docs subdirectory.

License

This software is licensed under the LGPL-3 license. See the LICENSE file for details.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].