From: Richard Newman (richard_at_[hidden])
Date: 2006-03-21 16:19:57
Andy Little wrote:
> "Geoffrey Irving" <irving_at_[hidden]> wrote in message
>>On Fri, Mar 17, 2006 at 03:09:26PM -0300, rodolfo_at_[hidden] wrote:
>>>On Fri, Mar 17, 2006 at 10:17:53AM -0700, Richard Newman wrote:
>>>>Is it reasonable to extend the logic to check for 3D shapes (i.e.,
>>>>spheres instead of circles, etc.)?
>>>>It certainly would be a reasonable strategy to get the 2D work you have
>>>>into the library and treat 3D as a later extension.
> In my own work on this I used two namespaces "geometry::two_d" and
> (I shall put what I have in the vault). I or someone could create a Geometry
> folder ...?
>>>All coordinates are double. Maybe each primitive should be a template,
>>>like: point_t<double> is a point with double floating point coordinates,
>>>point_t<int> is with integer coordinates, etc.
>>Templatization of the float type is good, and again point_t should probably
>>be a general purpose small vector type.
I'm not at all familiar with the math involved, but I imagine that the
capabilities could be extended for n-dimensionality if the template
types were vectors. Template specializations for 2 and 3-D would assure
specific performance, but really any geometry type calculations in
n-dimensions would work: intersections of hypercubes and hyperspheres, etc.
I'm sure this is beyond the scope of an inaugural library, but still an
interesting extension. Because of this possibility, I would argue that
vector support (as tuples for the point specifications) is valuable.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk