Dear module maintainers,
 
I hereby would like to register as a module developer.
 
Name: Danny Van de Pol
Email: [EMAIL PROTECTED] (company) [EMAIL PROTECTED] (private)
Homepage: www.alcatel.be (company homepage)
Preferred user ID: D-VDPOL
 
My (planned) contribution(s):
 
I just finished writing, documenting and preparing for distribution 2 modules:
 
GPC:  This is a wrapper for the (quite popular) 'General Polygon Clipping' library.
This C library is written by Alan Murta (more info at http://www.cs.man.ac.uk/aig/staff/alan/software/)
The library is free for non-commercial use.
As I said, it's just a wrapper which I mainly wrote (using swig) for the other module (see below)
 - but it can be used 'standalone'.  Those familiar with gpc (and Perl of course) will have little or
 no problem in using it.  I first intended to translate the soruce code to Perl but then I figured
that doing so would a waste of effort and a waste in terms of performance.
 
Math::Geometry_2D: A 2D geometry package with a (IMHO) fairly complete set of functions.
Performs a set of operations on 2D polygons - polygons being an ordered set (array) of
coordinates. I'm not a math export (although  I do have some background in that area) but
still I tried to use well known and efficient algorithms.  Some functions are trivial (e.g.
mirrorx and mirrory), others are more sofisticated (e.g. point in polygon).  There is pod
in the code but just as an overview a  (almost complete) list of the functions available
- lenght of a segment
- vector dot product
- vector cross product
- determinant of a matrix
- intersection of 2 lines
- intersection of 2 points
- check if 3 points are colinear
- perpendicular distance from a point to a line
- perpendiuclar distance from a point to a segment
- perpendicular foot of a point on a line
- check if lines are perpendicular
- (signed) triangle area
- (signed) polygon area
- polygon perimeter
- polygon centroid
- polygon cleanup (remove colinear points)
- check if polygon is concave
- check if polygon is simple (for the time being this is the
  only one with a nearly brute force algorithm)
- check if point in polygon
- polygon bounding box
- polgyon minimal area enclosing rectangle
- polygon convex hull
- set of points convex hull
- polygon difference, union, xor and intersection using gpc
- conversion to and from gpc data structures
- polygon move
- polygon scale (centered)
- polygon mirror (x,y and arbitrary axis)
- polygon rotate (centered)
...
 
I tried to follow the rules in terms of name space pollution (no exports),
including pod documentation ... 
Think there's a good chance there are other people in the world that
could benefit from my work.
 
Looking forward for your reply
Best regards,
 
Danny Van de Pol
 
PCB tools and methodolgy - design data management
Broadband Networking Division
Alcatel Telecom - Antwerp
Belgium

Reply via email to