# What is lib2geom?

lib2geom (2Geom in private life) was initially a library developed for Inkscape but will provide a robust computational geometry framework for any application. It is not a rendering library, instead concentrating on high level algorithms such as computing arc length.

# Quick Feature List

(not complete)

- C++
- Functional programming style.
- Points
- Efficient affine transformations
- Rectangles
- Convex Hulls
- Bounded error
- General purpose paths:
- Exact elliptical arcs
- Area
- Centroid and bending moments

- Path Locations:
- Determination of special spots (e.g. maximum curvature)
- Splitting
- Point, tangent, curvature at location
- Efficient arc length and inverse arc length

- Path algebra:
- Computations such as offset curves can be written with their mathematical definition and still get a bounded error, efficient curve. (preliminary trials indicate offset done this way out performs the method used in Inkscape)

- Arbitrary distortion (with bounded error):
- Mesh distorts
- Computational distorts such as the GIMP's 'vortex' plugin
- 3d mapping (perspective, flag, sphere)

- Exact boolean ops (elliptic arcs remain elliptic arcs)
- Efficient 2d database
- Implicit function plotting
- NURBs input and output
- Tunable path simplification
- PDoF constraint system for CAD/CAGD

# Where to contact the Developers

**Jabber Server:** conference.gristle.org

**Room:** lib2geom

**Tips:** Gaim Tutorial

# Project Resources

- Project Page
- Bazaar Trunk bzr checkout lp:lib2geom lib2geom
- Daily Source Snapshots (broken link)
- Corner of Inkscape's Wiki