X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?p=CreaPhase.git;a=blobdiff_plain;f=octave_packages%2Fm%2Fgeometry%2Fvoronoin.m;fp=octave_packages%2Fm%2Fgeometry%2Fvoronoin.m;h=c2fc11f68de1ea886f4cb9e7b0a4b78da30977a6;hp=0000000000000000000000000000000000000000;hb=1c0469ada9531828709108a4882a751d2816994a;hpb=63de9f36673d49121015e3695f2c336ea92bc278 diff --git a/octave_packages/m/geometry/voronoin.m b/octave_packages/m/geometry/voronoin.m new file mode 100644 index 0000000..c2fc11f --- /dev/null +++ b/octave_packages/m/geometry/voronoin.m @@ -0,0 +1,67 @@ +## Copyright (C) 2000-2012 Kai Habel +## +## This file is part of Octave. +## +## Octave is free software; you can redistribute it and/or modify it +## under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 3 of the License, or (at +## your option) any later version. +## +## Octave is distributed in the hope that it will be useful, but +## WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +## General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with Octave; see the file COPYING. If not, see +## . + +## -*- texinfo -*- +## @deftypefn {Function File} {[@var{C}, @var{F}] =} voronoin (@var{pts}) +## @deftypefnx {Function File} {[@var{C}, @var{F}] =} voronoin (@var{pts}, @var{options}) +## Compute N-dimensional Voronoi facets. The input matrix @var{pts} +## of size [n, dim] contains n points in a space of dimension dim. +## @var{C} contains the points of the Voronoi facets. The list @var{F} +## contains, for each facet, the indices of the Voronoi points. +## +## An optional second argument, which must be a string or cell array of strings, +## contains options passed to the underlying qhull command. +## See the documentation for the Qhull library for details +## @url{http://www.qhull.org/html/qh-quick.htm#options}. +## @seealso{voronoi, convhulln, delaunayn} +## @end deftypefn + +## Author: Kai Habel +## First Release: 20/08/2000 + +## 2003-12-14 Rafael Laboissiere +## Added optional second argument to pass options to the underlying +## qhull command + +function [C, F] = voronoin (pts, options) + + if (nargin != 1 && nargin != 2) + print_usage (); + endif + + [np, dim] = size (pts); + + if (np <= dim) + error ("voronoin: number of points must be greater than their dimension"); + endif + + caller = "voronoin"; + + if (nargin == 1) + [C, F] = __voronoi__ (caller, pts); + else + [C, F] = __voronoi__ (caller, pts, options); + endif + +endfunction + + +%% FIXME: Need functional tests + +%% FIXME: Need input validation tests +