|
Boost : |
From: gchen (chengang31_at_[hidden])
Date: 2008-01-30 01:53:07
Hervé Brönnimann wrote:
> Dear Bernd: I started with a few quick notes (I really didn't do
> much more than glance at the documentation), which grew into a
> somewhat more extensive review - sorry, I've been thinking about
> geometric software library for a while now :)
>
> I have many concerns/questions/suggestions with your library:
>
[...]
>
> * naming: within_point_in_polygon is not a good name. I understand
> the desire to have all of them start with "within_" but
> is_point_within_polygon would read like English, at least. As Theo
> mentioned, having 2D somewhere in the name would also avoid deflated
> expectations from users.
>
My background in using geometry is 3D graphics. So I found some
naming is a little strange too me, like "evelope", "within", "linestring"...
IMO, "within_*" would be better is changes to "contain":
template<typename POI, typename POL>
bool contain(const POL& poly, const POI& pnt)
I am still wondering if "evelope" is "Bounding Box" or "Hull", if
"linestring" is "Poly Line" or "Line Strip".
>
> * more algorithms and more implementations: you can find working
> code for many intersection / detection / distance computation in many
> books. Perhaps the most relevant for your purposes is the excellent
> "Geometric Tools for Computer Graphics" by Philip Schneider & David
> Eberly
> (http://www.amazon.com/dp/1558605940?
> tag=softsurfergeomet&link_code=as3&creativeASIN=1558605940&creative=3734
> 89&camp=211189)
>
Yeah, this book is very good. Also, David Eberly has a library implemented
almost all the geometry primitives and algorithm introduced in the book,
it is
worth to have a look:
http://www.geometrictools.com/
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk