concaveman - A very fast 2D concave hull algorithm in JavaScript

  •        629

A very fast 2D concave hull algorithm in JavaScript (generates a general outline of a point set).The algorithm is based on ideas from the paper A New Concave Hull Algorithm and Concaveness Measure for n-dimensional Datasets, 2012 by Jin-Seo Park and Se-Jong Oh.

https://github.com/mapbox/concaveman

Dependencies:

monotone-convex-hull-2d : ^1.0.1
point-in-polygon : ^1.0.1
rbush : ^2.0.1
robust-orientation : ^1.1.3
tinyqueue : ^1.1.0

Tags
Implementation
License
Platform

   




Related Projects

intrinsic3d - Intrinsic3D - High-Quality 3D Reconstruction by Joint Appearance and Geometry Optimization with Spatially-Varying Lighting (ICCV 2017)

  •    C++

Copyright (c) 2019, NVIDIA Corporation and Technical University of Munich. All Rights Reserved. The Intrinsic3D source code is available under the BSD license, please see the LICENSE file for details. All data in the Intrinsic3D Dataset is licensed under a Creative Commons 4.0 Attribution License (CC BY 4.0), unless stated otherwise. Intrinsic3D is a method to obtain high-quality 3D reconstructions from low-cost RGB-D sensors. The algorithm recovers fine-scale geometric details and sharp surface textures by simultaneously optimizing for reconstructed geometry, surface albedos, camera poses and scene lighting.

Long-Shadows - Long Shadows for android!

  •    Java

Shadows are filled by a linear gradient, so shadow color is built of two compontents shadow_start_color, which defines the start color of the gradient and shadow_end_color, which defines the end color of the gradient.

JBBRXG11

  •    

An extension to XNA 4 to allow use of DirectX 10 and 11 features, especially geometry shaders and tesselation.

flatbush - A very fast static spatial index for 2D points and rectangles in JavaScript

  •    Javascript

A really fast static spatial index for 2D points and rectangles in JavaScript. An efficient implementation of the packed Hilbert R-tree algorithm. Enables fast spatial queries on a very large number of objects (e.g. millions), which is very useful in maps, data visualizations and computational geometry algorithms.


WinForms Shape Control

  •    DotNet

A simple WinForms control that will display a shape (rectange, triangle, star, curve, polygon, etc.) with a number of different fill and outline effects, including text. Nice for spicing up a form.

mapbox-gl-js - Interactive, thoroughly customizable maps in the browser, powered by vector tiles and WebGL

  •    Javascript

Mapbox GL JS is a JavaScript library for interactive, customizable vector maps on the web. It takes map styles that conform to the Mapbox Style Specification, applies them to vector tiles that conform to the Mapbox Vector Tile Specification, and renders them using WebGL.Mapbox GL JS is part of the cross-platform Mapbox GL ecosystem, which also includes compatible native SDKs for applications on Android, iOS, macOS, Qt, and React Native. Mapbox provides building blocks to add location features like maps, search, and navigation into any experience you create. To get started with GL JS or any of our other building blocks, sign up for a Mapbox account.

polylabel - A fast algorithm for finding the pole of inaccessibility of a polygon (in JavaScript and C++)

  •    C++

A fast algorithm for finding polygon pole of inaccessibility, the most distant internal point from the polygon outline (not to be confused with centroid), implemented as a JavaScript library. Useful for optimal placement of a text label on a polygon.This is an iterative grid-based algorithm, which starts by covering the polygon with big square cells and then iteratively splitting them in the order of the most promising ones, while aggressively pruning uninteresting cells.

react-native-mapbox-gl - A Mapbox GL react native module for creating custom maps

  •    Java

Mapbox is the location data platform for mobile and web applications. We provide building blocks to add location features like maps, search, and navigation into any experience you create. Use our simple and powerful APIs & SDKs and our open source libraries for interactivity and control.Not a Mapbox user yet? Sign up for an account here. Once you’re signed in, all you need to start building is a Mapbox access token. Use this same short code with all of our interactive mapping libraries, Python and JavaScript SDKs, and directly against our REST APIs. You can create and manage your access tokens on your Mapbox Account page.

mapbox-android-demo - Demo app for Mapbox Android SDK on Google Play

  •    Java

This is a public demo of the Mapbox Maps SDK for Android. The demo app is available now in the Google Play Store and it shows off all the examples found on mapbox.com/android-sdk/examples using the same code. There are also examples that only live in the app. The app "labs" section combines the examples to create more complex demos. Check out the overview page to get started using the Mapbox Maps SDK for Android in your Android project.Note: This repo uses checkstyle to make sure code contributed follows the Mapbox Style standards. When a pull request is opened, Bitrise will check that no style issues occur in the code. To setup Checkstyle in Android Studio read this wiki entry.

Simple Polygon Triangulation

  •    

A concise implementation of the 'ear clipping' (aka 'subtracting ears') algorithm to convert simple (convex or concave, no holes) polygons to a collection of triangles. These triangles can then easily be used in 3D mesh geometries. The implementation favors simplicity over per...

mapbox-gl-native - Interactive, thoroughly customizable maps in native Android, iOS, macOS, Node

  •    C++

A library for embedding interactive, customizable vector maps into native applications on multiple platforms. It takes stylesheets that conform to the Mapbox Style Specification, applies them to vector tiles that conform to the Mapbox Vector Tile Specification, and renders them using OpenGL. Mapbox GL JS is the WebGL-based counterpart, designed for use on the Web.If your platform or hybrid application framework isn’t listed here, consider embedding Mapbox GL JS using the standard Web capabilities on your platform.

react-mapbox-gl - A React binding of mapbox-gl-js

  •    TypeScript

If those properties changed at the mapbox-gl-js level and you don't update the value kept in your state, it will be unsynced with the current viewport. At some point you might want to update the viewport value (zoom, pitch or bearing) with the ones in your state but using value equality is not enough. Taking zoom as example, you will still have the unsynced zoom value therefore we can't tell if you want to update the prop or not. In order to explicitly update the current viewport values you can instead break the references of those props and reliably update the current viewport with the one you have in your state to be synced again. Please try to reproduce your problem with the boilerplate before posting an issue.

geojson-vt - Slice GeoJSON into vector tiles on the fly in the browser

  •    Javascript

A highly efficient JavaScript library for slicing GeoJSON data into vector tiles on the fly, primarily designed to enable rendering and interacting with large geospatial datasets on the browser side (without a server).Created to power GeoJSON in Mapbox GL JS, but can be useful in other visualization platforms like Leaflet and d3, as well as Node.js server applications.

Shapes Library

  •    CSharp

Shapes is a powerful library for XNA. It allows to easily create different kinds of shapes via code. It makes the game development much easier because it provides useful functionality like collision detection or movment along the outline of a shape. many samples are included.

SMART

  •    C++

SMART (Shape Matching Algorithm Research Tool) enables you to implement 2D and 3D shape matching algorithms as plugins. Plugins can either be implemented in Java or as native plugins, i.e. in C/C++.

primitive - Reproducing images with geometric primitives.

  •    Go

Reproducing images with geometric primitives.A target image is provided as input. The algorithm tries to find the single most optimal shape that can be drawn to minimize the error between the target image and the drawn image. It repeats this process, adding one shape at a time. Around 50 to 200 shapes are needed to reach a result that is recognizable yet artistic and abstract.

shape

  •    Java

Shape is a molecular conformation prediction program. It uses a genetic algorithm to efficiently search the conformational space of a biomolecule and then clusters the results. It is very simple to use.

Wykobi Computational Geometry Library

  •    C++

Wykobi is an efficient, robust and simple to use multi-platform 2D/3D computational geometry library. Wykobi provides a concise, predictable, and deterministic interface for geometric primitives and complex geometric routines using and conforming to the ISO/IEC 14882:2003 C++ lan

supercluster - A crazy fast geospatial point clustering library for browsers and Node.

  •    Javascript

A very fast JavaScript library for geospatial point clustering for browsers and Node.Loads an array of GeoJSON Feature objects. Each feature's geometry must be a GeoJSON Point. Once loaded, index is immutable.






We have large collection of open source products. Follow the tags from Tag Cloud >>


Open source products are scattered around the web. Please provide information about the open source projects you own / you use. Add Projects.