expand_hull - Increases a hull using a relative error model


#include "h/h_misc.h"

Example compile flags (system dependent):
   -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


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".


A pointer to the expanded hull. If there are problems, an error message is set, and NULL is returned.


This software is not adequatedly tested. It is recomended that results are checked independantly where appropriate.


Kobus Barnard


Kobus Barnard


get_interior_distance_to_hull , get_distance_to_hull , get_approximate_error_hull_data , trim_2D_hull