Login  Register

Re: geometry algorithms

Posted by fortran on Jun 29, 2015; 10:26pm
URL: https://forum.librecad.org/geometry-algorithms-tp5711739p5711760.html

I did notice your discussions on geometry.  More than 1 year ago, I
measured up all the interior rooms in a house, in order to find out
which interior walls were on top of other walls, or over known posts in
the basement.

After that, I demolished an existing deck to the posts.  Some of the
existing posts were only PT wood, and need to be replaced.  The
remaining posts are old fashioned creosote posts and are fine.  But, a
couple of the posts are not positioned as best they could be.  Two of
the main beams, are in 2 pieces because of non-trivial changes in angle
at a post.  In so far that the splice is made on top of a post is good,
can I adjust things so that straight beams are used?  As I am going
from 4x4 to 6x6 posts and gravel backfill, I will have some wiggle room
on the 6x6 posts.

I gathered a bunch of distance measurements across this set of posts
over 4 different sessions, but midway between them, the disk containing
this work, and the internal house measuring stuff died, and data was
lost.

From a couple of measured (or assumed) locations and a bunch of
distance measurements, trilateration can give me the post locations
(with error estimates).

Trilateration can be solved as a linear system, and most of the
documentation I've seen says the solution is unstable (high condition
number).  There are non-linear solvers.  I'm working with a linear
solver (from Stanford?) that only solves for 1 target point based on 3
known points.  But, instead of getting a single solution at each point,
I get a point cloud.  And there are at least 2 mechanisms whereby
outliers can get into the data.

I am using robust methods to analyse my point clouds, including trimmed
means.  I am using Peirce's Criteria to flag outliers.  And I am trying
something new (to me), analysing a point cloud as a collection of
convex hull "skins".  At the moment I am trying to get it working with
single pass data, but if add on some Monte Carlo I should be able to
put a few thousand data points into each point cloud, and better see
how the geometry of the 4 point solution might introduce outliers.

In any event, I am doing this in Perl, and your extensions are in some
other language.  CPAN has 3 different modules (that I know of) that can
produce the convex hull of a point cloud.  Two are related, with one
being pure perl and the other a C or C++ XS module.  The other method
(in Math::Geometry::Planar) is part of a zillion functions for doing
various calculations in planar geometry.

At some point my dislocated elbow will be good enough that I will be
spending most of my time actually rebuilding this deck and doing other
things to improve the chances of selling the family farm.  But, in the
near term, getting this code working such that I can calculate what to
do about those bent beams has me in town once a week or so.

If someone had comments or questions.

Have a good summer (northern hemisphere).

Gord