All Projects → kynosarges → tektosyne

kynosarges / tektosyne

Licence: other
The Tektosyne Library for Java provides algorithms for computational geometry and graph-based pathfinding, along with supporting mathematical utilities and specialized collections.

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to tektosyne

delaunay-triangulation-algorithm
Delaunay Triangulation
Stars: ✭ 25 (-51.92%)
Mutual labels:  voronoi-diagram, voronoi, delaunay-triangulation
Baritone
google maps for block game
Stars: ✭ 3,868 (+7338.46%)
Mutual labels:  astar, pathfinding, astar-pathfinding
Tinfour
Delaunay and Constrained Delaunay Triangulations in Java, providing high-performance utilities for modeling surfaces with support for Lidar LAS files, Digital Elevation Models (DEM), finite element analysis, path planning, natural neighbor interpolation, and other applications of Triangulated Irregular Networks (TIN)
Stars: ✭ 119 (+128.85%)
Mutual labels:  computational-geometry, delaunay-triangulation
inpoly
A fast 'point(s)-in-polygon' test for MATLAB.
Stars: ✭ 17 (-67.31%)
Mutual labels:  computational-geometry, point-in-polygon
pathfinding-visualizer
Website built using React Framework for visualizing Pathfinding and Maze Generation Algorithms.
Stars: ✭ 33 (-36.54%)
Mutual labels:  astar, pathfinding
tiki
Library for functional graph & geometry algorithms
Stars: ✭ 20 (-61.54%)
Mutual labels:  graph-algorithms, delaunay-triangulation
Data structure and algorithms library
A collection of classical algorithms and data-structures implementation in C++ for coding interview and competitive programming
Stars: ✭ 133 (+155.77%)
Mutual labels:  graph-algorithms, computational-geometry
hxDelaunay
Delaunay triangulations, Voronoi, convex hull and more. Ported to Haxe 3 from https://github.com/sledorze/hxDelaunay (itself a port of the excellent https://github.com/nodename/as3delaunay)
Stars: ✭ 30 (-42.31%)
Mutual labels:  convex-hull, voronoi
unity-pathfinding
Find paths in Unity Tilemaps with A* Search
Stars: ✭ 70 (+34.62%)
Mutual labels:  astar, pathfinding
convhull 3d
A header-only C implementation of the Quickhull algorithm for building N-dimensional Convex Hulls and Delaunay meshes
Stars: ✭ 108 (+107.69%)
Mutual labels:  computational-geometry, convex-hull
FortuneAlgorithm
A C++ implementation of the Fortune's algorithm for Voronoi diagram construction
Stars: ✭ 44 (-15.38%)
Mutual labels:  voronoi-diagram, voronoi
pyDelaunay2D
A simple Delaunay 2D triangulation in python (with numpy)
Stars: ✭ 145 (+178.85%)
Mutual labels:  voronoi-diagram, delaunay-triangulation
Easystarjs
An asynchronous A* pathfinding API written in Javascript.
Stars: ✭ 1,743 (+3251.92%)
Mutual labels:  astar, pathfinding
Graphhopper
Open source routing engine for OpenStreetMap. Use it as Java library or standalone web server.
Stars: ✭ 3,457 (+6548.08%)
Mutual labels:  astar, pathfinding
Pathfinding Visualizer Threejs
A visualizer for pathfinding algorithms in 3D with maze generation, first-person view and device camera input.
Stars: ✭ 209 (+301.92%)
Mutual labels:  graph-algorithms, pathfinding
SplashGeom
Open-source C++ library for geometry and linear algebra
Stars: ✭ 22 (-57.69%)
Mutual labels:  computational-geometry, voronoi-diagram
astar-gridmap-2d
A* algorithms for 2D gridmaps. The fastest one, until you prove me wrong
Stars: ✭ 43 (-17.31%)
Mutual labels:  astar, pathfinding
NavMeshDemo
Unity client navmesh export to server for pathfinding
Stars: ✭ 31 (-40.38%)
Mutual labels:  astar, pathfinding
astar-typescript
A* search algorithm in TypeScript
Stars: ✭ 37 (-28.85%)
Mutual labels:  astar, pathfinding
cepathfind
a path find for tilebase game in unity
Stars: ✭ 30 (-42.31%)
Mutual labels:  pathfinding, astar-pathfinding

Build Status codecov license Maven Central artifact JCenter artifact

Tektosyne

The Tektosyne Library for Java provides algorithms for computational geometry and graph-based pathfinding, along with supporting mathematical utilities and specialized collections.

Overview

The following list gives a summary of Tektosyne’s main features. See the User’s Guide and the Javadoc class reference for more details.

  • Geometric primitives: points (doubling as vectors), sizes, line segments, and rectangles, all available with int and double coordinates

  • Geometric algorithms: convex hull, point in polygon, intersections of two or more line segments, point location relative to line segments and rectangles, etc.

  • Lexicographic point ordering preferring x- or y-coordinates, with efficient nearest point and range search in sorted standard collections

  • Graph algorithms: A* pathfinding, path coverage, flood fill, line of sight, all performed on interfaces that can be implemented by arbitrary concrete geometric structures

  • Planar subdivision represented as doubly-connected edge list (DCEL), with support for graph algorithms, dynamic modification, and fast point location

  • Regular polygons and rectangular grids of squares or hexagons, with support for graph algorithms, mapping between grid & display coordinates, and conversion to DCEL subdivision

  • Voronoi diagram and Delaunay triangulation, with conversion to DCEL subdivision and consequently support for graph algorithms

  • Collections: generic linked list and generic quadrant tree, both with exposed node structure

  • Mathematical helper methods, including a library of Fortran 90 functions

Samples

The repository includes a JavaFX demo application that allows you to interactively explore many of these algorithms. Screenshots of two demo dialogs appear below.

  • Planar Subdivision Test: visualization and interactive manipulation of a randomly generated planar subdivision. The highlighted half-edge and vertex are nearest the (hidden) mouse cursor.

  • Graph Algorithms Test: shows A* pathfinding along the edges of a Delaunay triangulation (yellow dashes) of a random Voronoi diagram whose regions were assigned random step costs.

alt demo

System Requirements

The Tektosyne library itself requires only the Java SE 8 Compact 1 profile, or the module java.base on Java SE 9 and later.

Dependencies

Tektosyne is available via mavenCentral and JCenter:

Gradle

dependencies {
    compile group: 'org.kynosarges', name: 'tektosyne', version: '6.2.0'
}

Maven

  <dependencies>
    <dependency>
      <groupId>org.kynosarges</groupId>
      <artifactId>tektosyne</artifactId>
      <version>6.2.0</version>
      <scope>compile</scope>
    </dependency>
  </dependencies>

License

Tektosyne is © 2002–2018 by Christoph Nahr but available for free under the MIT license.

About this Repository

The maintainer of the repository is not the original author of tektosyne, but liked the library so much that he decided to upload it to GitHub and distribute it via mavenCentral and jcenter.

This repository is just a mirror and not the official upload site, but was created with the consent of the original author. To report bugs please contact Christoph Nahr

The maintainer will try to keep the repository in sync with releases published on the Kynosarges website.

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].