comparison scripts/geometry/voronoi.m @ 10549:95c3e38098bf

Untabify .m scripts
author Rik <code@nomad.inbox5.com>
date Fri, 23 Apr 2010 11:28:50 -0700
parents 1bf0ce0930be
children 3140cb7a05a1
comparison
equal deleted inserted replaced
10548:479536c5bb10 10549:95c3e38098bf
117 xdelta = xmax - xmin; 117 xdelta = xmax - xmin;
118 ydelta = ymax - ymin; 118 ydelta = ymax - ymin;
119 scale = 2; 119 scale = 2;
120 120
121 xbox = [xmin - scale * xdelta; xmin - scale * xdelta; ... 121 xbox = [xmin - scale * xdelta; xmin - scale * xdelta; ...
122 xmax + scale * xdelta; xmax + scale * xdelta]; 122 xmax + scale * xdelta; xmax + scale * xdelta];
123 ybox = [xmin - scale * xdelta; xmax + scale * xdelta; ... 123 ybox = [xmin - scale * xdelta; xmax + scale * xdelta; ...
124 xmax + scale * xdelta; xmin - scale * xdelta]; 124 xmax + scale * xdelta; xmin - scale * xdelta];
125 125
126 [p, c, infi] = __voronoi__ ([[x(:) ; xbox(:)], [y(:); ybox(:)]], opts{:}); 126 [p, c, infi] = __voronoi__ ([[x(:) ; xbox(:)], [y(:); ybox(:)]], opts{:});
127 127
128 idx = find (!infi); 128 idx = find (!infi);
129 ll = length (idx); 129 ll = length (idx);
130 c = c(idx).'; 130 c = c(idx).';
131 k = sum (cellfun ('length', c)); 131 k = sum (cellfun ('length', c));
132 edges = cell2mat(cellfun (@(x) [x ; [x(end), x(1:end-1)]], c, 132 edges = cell2mat(cellfun (@(x) [x ; [x(end), x(1:end-1)]], c,
133 "UniformOutput", false)); 133 "UniformOutput", false));
134 134
135 ## Identify the unique edges of the Voronoi diagram 135 ## Identify the unique edges of the Voronoi diagram
136 edges = sortrows (sort (edges).').'; 136 edges = sortrows (sort (edges).').';
137 edges = edges (:, [(edges(1, 1: end - 1) != edges(1, 2 : end) | ... 137 edges = edges (:, [(edges(1, 1: end - 1) != edges(1, 2 : end) | ...
138 edges(2, 1 :end - 1) != edges(2, 2 : end)), true]); 138 edges(2, 1 :end - 1) != edges(2, 2 : end)), true]);
139 139
140 ## Eliminate the edges of the diagram representing the box 140 ## Eliminate the edges of the diagram representing the box
141 poutside = (1 : rows(p)) ... 141 poutside = (1 : rows(p)) ...
142 (p (:, 1) < xmin - xdelta | p (:, 1) > xmax + xdelta | ... 142 (p (:, 1) < xmin - xdelta | p (:, 1) > xmax + xdelta | ...
143 p (:, 2) < ymin - ydelta | p (:, 2) > ymax + ydelta); 143 p (:, 2) < ymin - ydelta | p (:, 2) > ymax + ydelta);
151 151
152 if (nargout < 2) 152 if (nargout < 2)
153 lim = [xmin, xmax, ymin, ymax]; 153 lim = [xmin, xmax, ymin, ymax];
154 h = plot (handl, vx, vy, linespec{:}, x, y, '+'); 154 h = plot (handl, vx, vy, linespec{:}, x, y, '+');
155 axis (lim + 0.1 * [[-1, 1] * (lim (2) - lim (1)), ... 155 axis (lim + 0.1 * [[-1, 1] * (lim (2) - lim (1)), ...
156 [-1, 1] * (lim (4) - lim (3))]); 156 [-1, 1] * (lim (4) - lim (3))]);
157 if (nargout == 1) 157 if (nargout == 1)
158 vxx = h; 158 vxx = h;
159 endif 159 endif
160 elseif (nargout == 2) 160 elseif (nargout == 2)
161 vvx = vx; 161 vvx = vx;