Mercurial > octave
annotate scripts/geometry/voronoin.m @ 27919:1891570abac8
update Octave Project Developers copyright for the new year
In files that have the "Octave Project Developers" copyright notice,
update for 2020.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Mon, 06 Jan 2020 22:29:51 -0500 |
parents | b442ec6dda5c |
children | bd51beb6205e |
rev | line source |
---|---|
27919
1891570abac8
update Octave Project Developers copyright for the new year
John W. Eaton <jwe@octave.org>
parents:
27918
diff
changeset
|
1 ## Copyright (C) 2000-2020 The Octave Project Developers |
27918
b442ec6dda5c
use centralized file for copyright info for individual contributors
John W. Eaton <jwe@octave.org>
parents:
26376
diff
changeset
|
2 ## |
b442ec6dda5c
use centralized file for copyright info for individual contributors
John W. Eaton <jwe@octave.org>
parents:
26376
diff
changeset
|
3 ## See the file COPYRIGHT.md in the top-level directory of this distribution |
b442ec6dda5c
use centralized file for copyright info for individual contributors
John W. Eaton <jwe@octave.org>
parents:
26376
diff
changeset
|
4 ## or <https://octave.org/COPYRIGHT.html/>. |
b442ec6dda5c
use centralized file for copyright info for individual contributors
John W. Eaton <jwe@octave.org>
parents:
26376
diff
changeset
|
5 ## |
6823 | 6 ## |
7 ## This file is part of Octave. | |
8 ## | |
24534
194eb4bd202b
maint: Update punctuation for GPL v3 license text.
Rik <rik@octave.org>
parents:
23220
diff
changeset
|
9 ## Octave is free software: you can redistribute it and/or modify it |
6823 | 10 ## under the terms of the GNU General Public License as published by |
24534
194eb4bd202b
maint: Update punctuation for GPL v3 license text.
Rik <rik@octave.org>
parents:
23220
diff
changeset
|
11 ## the Free Software Foundation, either version 3 of the License, or |
22755
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22323
diff
changeset
|
12 ## (at your option) any later version. |
6823 | 13 ## |
14 ## Octave is distributed in the hope that it will be useful, but | |
15 ## WITHOUT ANY WARRANTY; without even the implied warranty of | |
22755
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22323
diff
changeset
|
16 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22323
diff
changeset
|
17 ## GNU General Public License for more details. |
6823 | 18 ## |
19 ## You should have received a copy of the GNU General Public License | |
7016 | 20 ## along with Octave; see the file COPYING. If not, see |
24534
194eb4bd202b
maint: Update punctuation for GPL v3 license text.
Rik <rik@octave.org>
parents:
23220
diff
changeset
|
21 ## <https://www.gnu.org/licenses/>. |
6823 | 22 |
23 ## -*- texinfo -*- | |
20852
516bb87ea72e
2015 Code Sprint: remove class of function from docstring for all m-files.
Rik <rik@octave.org>
parents:
20158
diff
changeset
|
24 ## @deftypefn {} {[@var{C}, @var{F}] =} voronoin (@var{pts}) |
516bb87ea72e
2015 Code Sprint: remove class of function from docstring for all m-files.
Rik <rik@octave.org>
parents:
20158
diff
changeset
|
25 ## @deftypefnx {} {[@var{C}, @var{F}] =} voronoin (@var{pts}, @var{options}) |
20158
7503499a252b
doc: Update docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents:
19833
diff
changeset
|
26 ## Compute N-dimensional Voronoi facets. |
7503499a252b
doc: Update docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents:
19833
diff
changeset
|
27 ## |
7503499a252b
doc: Update docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents:
19833
diff
changeset
|
28 ## The input matrix @var{pts} of size [n, dim] contains n points in a space of |
7503499a252b
doc: Update docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents:
19833
diff
changeset
|
29 ## dimension dim. |
7503499a252b
doc: Update docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents:
19833
diff
changeset
|
30 ## |
10791
3140cb7a05a1
Add spellchecker scripts for Octave and run spellcheck of documentation
Rik <octave@nomad.inbox5.com>
parents:
9051
diff
changeset
|
31 ## @var{C} contains the points of the Voronoi facets. The list @var{F} |
13746
7ff0bdc3dc4c
Revamp geometry functions dependent on Qhull (Bug #34604, Bug #33346)
Rik <octave@nomad.inbox5.com>
parents:
13203
diff
changeset
|
32 ## contains, for each facet, the indices of the Voronoi points. |
6823 | 33 ## |
21546
f7f97d7e9294
doc: Wrap m-file docstrings to 79 characters + newline (80 total).
Rik <rik@octave.org>
parents:
20852
diff
changeset
|
34 ## An optional second argument, which must be a string or cell array of |
f7f97d7e9294
doc: Wrap m-file docstrings to 79 characters + newline (80 total).
Rik <rik@octave.org>
parents:
20852
diff
changeset
|
35 ## strings, contains options passed to the underlying qhull command. See the |
f7f97d7e9294
doc: Wrap m-file docstrings to 79 characters + newline (80 total).
Rik <rik@octave.org>
parents:
20852
diff
changeset
|
36 ## documentation for the Qhull library for details |
13746
7ff0bdc3dc4c
Revamp geometry functions dependent on Qhull (Bug #34604, Bug #33346)
Rik <octave@nomad.inbox5.com>
parents:
13203
diff
changeset
|
37 ## @url{http://www.qhull.org/html/qh-quick.htm#options}. |
16344
5c2f590fe734
voronoin.m: Update documentation about which options are passed to QHull.
Rik <rik@octave.org>
parents:
14138
diff
changeset
|
38 ## |
5c2f590fe734
voronoin.m: Update documentation about which options are passed to QHull.
Rik <rik@octave.org>
parents:
14138
diff
changeset
|
39 ## The default options depend on the dimension of the input: |
5c2f590fe734
voronoin.m: Update documentation about which options are passed to QHull.
Rik <rik@octave.org>
parents:
14138
diff
changeset
|
40 ## |
5c2f590fe734
voronoin.m: Update documentation about which options are passed to QHull.
Rik <rik@octave.org>
parents:
14138
diff
changeset
|
41 ## @itemize |
5c2f590fe734
voronoin.m: Update documentation about which options are passed to QHull.
Rik <rik@octave.org>
parents:
14138
diff
changeset
|
42 ## @item 2-D and 3-D: @var{options} = @code{@{"Qbb"@}} |
5c2f590fe734
voronoin.m: Update documentation about which options are passed to QHull.
Rik <rik@octave.org>
parents:
14138
diff
changeset
|
43 ## |
5c2f590fe734
voronoin.m: Update documentation about which options are passed to QHull.
Rik <rik@octave.org>
parents:
14138
diff
changeset
|
44 ## @item 4-D and higher: @var{options} = @code{@{"Qbb", "Qx"@}} |
5c2f590fe734
voronoin.m: Update documentation about which options are passed to QHull.
Rik <rik@octave.org>
parents:
14138
diff
changeset
|
45 ## @end itemize |
5c2f590fe734
voronoin.m: Update documentation about which options are passed to QHull.
Rik <rik@octave.org>
parents:
14138
diff
changeset
|
46 ## |
5c2f590fe734
voronoin.m: Update documentation about which options are passed to QHull.
Rik <rik@octave.org>
parents:
14138
diff
changeset
|
47 ## If @var{options} is not present or @code{[]} then the default arguments are |
19593
446c46af4b42
strip trailing whitespace from most source files
John W. Eaton <jwe@octave.org>
parents:
17744
diff
changeset
|
48 ## used. Otherwise, @var{options} replaces the default argument list. |
446c46af4b42
strip trailing whitespace from most source files
John W. Eaton <jwe@octave.org>
parents:
17744
diff
changeset
|
49 ## To append user options to the defaults it is necessary to repeat the |
16344
5c2f590fe734
voronoin.m: Update documentation about which options are passed to QHull.
Rik <rik@octave.org>
parents:
14138
diff
changeset
|
50 ## default arguments in @var{options}. Use a null string to pass no arguments. |
5c2f590fe734
voronoin.m: Update documentation about which options are passed to QHull.
Rik <rik@octave.org>
parents:
14138
diff
changeset
|
51 ## |
13746
7ff0bdc3dc4c
Revamp geometry functions dependent on Qhull (Bug #34604, Bug #33346)
Rik <octave@nomad.inbox5.com>
parents:
13203
diff
changeset
|
52 ## @seealso{voronoi, convhulln, delaunayn} |
6823 | 53 ## @end deftypefn |
54 | |
55 ## Author: Kai Habel <kai.habel@gmx.de> | |
56 ## First Release: 20/08/2000 | |
57 | |
58 ## 2003-12-14 Rafael Laboissiere <rafael@laboissiere.net> | |
59 ## Added optional second argument to pass options to the underlying | |
60 ## qhull command | |
61 | |
11469
c776f063fefe
Overhaul m-script files to use common variable name between code and documentation.
Rik <octave@nomad.inbox5.com>
parents:
10793
diff
changeset
|
62 function [C, F] = voronoin (pts, options) |
6823 | 63 |
6826 | 64 if (nargin != 1 && nargin != 2) |
6823 | 65 print_usage (); |
66 endif | |
67 | |
13746
7ff0bdc3dc4c
Revamp geometry functions dependent on Qhull (Bug #34604, Bug #33346)
Rik <octave@nomad.inbox5.com>
parents:
13203
diff
changeset
|
68 [np, dim] = size (pts); |
7ff0bdc3dc4c
Revamp geometry functions dependent on Qhull (Bug #34604, Bug #33346)
Rik <octave@nomad.inbox5.com>
parents:
13203
diff
changeset
|
69 |
7ff0bdc3dc4c
Revamp geometry functions dependent on Qhull (Bug #34604, Bug #33346)
Rik <octave@nomad.inbox5.com>
parents:
13203
diff
changeset
|
70 if (np <= dim) |
7ff0bdc3dc4c
Revamp geometry functions dependent on Qhull (Bug #34604, Bug #33346)
Rik <octave@nomad.inbox5.com>
parents:
13203
diff
changeset
|
71 error ("voronoin: number of points must be greater than their dimension"); |
7ff0bdc3dc4c
Revamp geometry functions dependent on Qhull (Bug #34604, Bug #33346)
Rik <octave@nomad.inbox5.com>
parents:
13203
diff
changeset
|
72 endif |
6823 | 73 |
13879
440d7914cf01
fix regression in __voronoi__ and convhulln option processing
John W. Eaton <jwe@octave.org>
parents:
13746
diff
changeset
|
74 caller = "voronoin"; |
440d7914cf01
fix regression in __voronoi__ and convhulln option processing
John W. Eaton <jwe@octave.org>
parents:
13746
diff
changeset
|
75 |
13746
7ff0bdc3dc4c
Revamp geometry functions dependent on Qhull (Bug #34604, Bug #33346)
Rik <octave@nomad.inbox5.com>
parents:
13203
diff
changeset
|
76 if (nargin == 1) |
13879
440d7914cf01
fix regression in __voronoi__ and convhulln option processing
John W. Eaton <jwe@octave.org>
parents:
13746
diff
changeset
|
77 [C, F] = __voronoi__ (caller, pts); |
6823 | 78 else |
13879
440d7914cf01
fix regression in __voronoi__ and convhulln option processing
John W. Eaton <jwe@octave.org>
parents:
13746
diff
changeset
|
79 [C, F] = __voronoi__ (caller, pts, options); |
6823 | 80 endif |
13746
7ff0bdc3dc4c
Revamp geometry functions dependent on Qhull (Bug #34604, Bug #33346)
Rik <octave@nomad.inbox5.com>
parents:
13203
diff
changeset
|
81 |
6823 | 82 endfunction |
13746
7ff0bdc3dc4c
Revamp geometry functions dependent on Qhull (Bug #34604, Bug #33346)
Rik <octave@nomad.inbox5.com>
parents:
13203
diff
changeset
|
83 |
7ff0bdc3dc4c
Revamp geometry functions dependent on Qhull (Bug #34604, Bug #33346)
Rik <octave@nomad.inbox5.com>
parents:
13203
diff
changeset
|
84 |
19833
9fc020886ae9
maint: Clean up m-files to follow Octave coding conventions.
Rik <rik@octave.org>
parents:
19697
diff
changeset
|
85 ## FIXME: Need functional tests |
13746
7ff0bdc3dc4c
Revamp geometry functions dependent on Qhull (Bug #34604, Bug #33346)
Rik <octave@nomad.inbox5.com>
parents:
13203
diff
changeset
|
86 |
16344
5c2f590fe734
voronoin.m: Update documentation about which options are passed to QHull.
Rik <rik@octave.org>
parents:
14138
diff
changeset
|
87 %!error voronoin () |
5c2f590fe734
voronoin.m: Update documentation about which options are passed to QHull.
Rik <rik@octave.org>
parents:
14138
diff
changeset
|
88 %!error voronoin (1,2,3) |
5c2f590fe734
voronoin.m: Update documentation about which options are passed to QHull.
Rik <rik@octave.org>
parents:
14138
diff
changeset
|
89 %!error <number of points must be greater than their dimension> voronoin ([1 2]) |