NAME
expand_hull - Increases a hull using a relative error model
SYNOPSIS
#include "h/h_misc.h"
Example compile flags (system dependent):
-DLINUX_X86_64 -DLINUX_X86_64_OPTERON -DGNU_COMPILER
-I/home/kobus/include
-L/home/kobus/misc/load/linux_x86_64_opteron -L/usr/lib/x86_64-linux-gnu
-lKJB -lfftw3 -lgsl -lgslcblas -ljpeg -lSVM -lstdc++ -lpthread -lSLATEC -lg2c -lacml -lacml_mv -lblas -lg2c -lncursesw
Hull *expand_hull
(
const Hull *hp,
double relative_expansion,
unsigned long options
);
DESCRIPTION
This routine increases a hull assuming a relative error model. Under "exact"
expansion, each point is replace by an error box, using the relative error,
and the resulting convex hull is round. Exact expansion can lead to precision
problems, so non-exact expansion was developed whereby the error box (eight
points in 3D) is trimmed to one, specifically the point which is furthest
away from the hull. Thus the expanded hull does not (typically) have any more
facets than the original. (The problem with exact expansion is that it
creates many small facets.) Unfortunately, non-exact expansion is
computationally expensive. The choice between exact and non-exact expansion
is governed by the user settable options "expand-hulls-exactly".
RETURNS
A pointer to the expanded hull. If there are problems, an error message is
set, and NULL is returned.
DISCLAIMER
This software is not adequatedly tested. It is recomended that
results are checked independantly where appropriate.
AUTHOR
Kobus Barnard
DOCUMENTER
Kobus Barnard
SEE ALSO
get_interior_distance_to_hull
,
get_distance_to_hull
,
get_approximate_error_hull_data
,
trim_2D_hull