Welcome on the homepage of the MatGeom project, a geometry toolbox for Matlab.
MatGeom is a geometry library for Matlab. Using MatGeom functions, it is possible to create, transform, manipulate and display geometric primitives like points, lines, polygons, planes... Typical operations involve creation of shapes, computation of intersections, transforming shape coordinates, combining shapes to create new ones. You can have a look at the demo pages to have an overview of the syntax and possibilities.
MatGeom is the result of the fusion and re-organisation of two former matlab packages distributed on Mathwork's FileExchange: geom2d for geometry in euclidean plane, and geom3d for geometry in euclidean space. It also contains some functions for the manipulation of polygonal meshes (trimesh, quadmesh, or generic meshes with polygonal faces).
The latest version of MatGeom is the 1.1.9, it was released on 26/02/2014. This version introduces new functions for working on geometric graphs. In particular, the function 'grShortestPath' now allows to comptue shortest paths by traveling along graph edges. A more detailed list of changes is given in the changelog page.
Several files are available from the download page of the project:
- the light version of MatGeom, containing the core of the library
- the full version of MatGeom, bundled with unit tests and some demo scripts
- html documentation, obtained via m2html
To get informations about the library, you have several options:
- Check the documentation of the different functions is available as browsable html (with source code). You can also consult the list of all functions.
- Ask a question in the forum.
- Have a look at one of the demo pages.
- Sent a mail to the author / maintainer : david[dot]legland (at) grignon[dot]inra[dot]fr.
The library is organised into several packages:
- geom2d for general functions in the 2D euclidean plane
- polygons2d for working with polylines and polygons
- graphs for working on planar graphs (from matGeom-1.1)
- polynomialCurves2d that can be used for fitting geometric curves on set of points, typically after a coutour detection procedure
- geom3d for general functions in the 3D euclidean space
- meshes3d for manipulating meshes composed of several polygonal faces