Skip to content

Latest commit

 

History

History

geom

@thi.ng/geom

npm version npm downloads Twitter Follow

This project is part of the @thi.ng/umbrella monorepo.

About

Functional, polymorphic API for 2D geometry types & SVG generation.

This project is a partially ported from the Clojure version of the same name. All polymorphic operations built on @thi.ng/defmulti.

Up-to-date feature matrix spreadsheet

This package acts as a higher-level frontend for most of the following related packages (which are more low-level, lightweight and usable by themselves too):

Support packages

Status

BETA - possibly breaking changes forthcoming

Installation

yarn add @thi.ng/geom

Package sizes (gzipped): ESM: 9.4KB / CJS: 9.6KB / UMD: 9.1KB

Dependencies

Usage examples

Several demos in this repo's /examples directory are using this package.

A selection:

geom-convex-hull

screenshot

Live demo | Source

geom-tessel

screenshot

Live demo | Source

geom-voronoi-mst

screenshot

Poisson-disk shape-aware sampling, Voronoi & Minimum Spanning Tree visualization

Live demo | Source

gesture-analysis

screenshot

Mouse gesture / stroke analysis, simplification, corner detection

Live demo | Source

imgui

screenshot

Canvas based Immediate Mode GUI components

Live demo | Source

iso-plasma

screenshot

Animated sine plasma effect visualized using contour lines

Live demo | Source

poly-spline

Live demo | Source

rotating-voronoi

screenshot

Live demo | Source

scenegraph

screenshot

Live demo | Source

scenegraph-image

screenshot

Live demo | Source

text-canvas

screenshot

3D wireframe textmode demo

Live demo | Source

API

Generated API docs

TODO

Authors

Karsten Schmidt

License

© 2013 - 2020 Karsten Schmidt // Apache Software License 2.0