Lib2geom
Jump to navigation
Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
What is lib2geom?
lib2geom (2Geom in private life) was initially a library developed for Inkscape, but it can 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
WorkingWith2GeomFAQ: real-life questions answered about using 2Geom
in real code
lib2geom py2geom: Python bindings to 2geom
. With this you can use the power of 2geom
in Python scripts.