www.pudn.com > lianma.rar > connectpoly.m, change:2004-12-16,size:1040b

```function c = connectpoly(x, y)
%CONNECTPOLY Connects vertices of a polygon.
%   C = CONNECTPOLY(X, Y) connects the points with coordinates given
%   in X and Y with straight lines. These points are assumed to be a
%   sequence of polygon vertices organized in the clockwise or
%   counterclockwise direction. The output, C, is the set of points
%   along the boundary of the polygon in the form of an nr-by-2
%   coordinate sequence in the same direction as the input. The last
%   point in the sequence is equal to the first.

%   Copyright 2002-2004 R. C. Gonzalez, R. E. Woods, & S. L. Eddins
%   Digital Image Processing Using MATLAB, Prentice-Hall, 2004
%   \$Revision: 1.4 \$  \$Date: 2003/11/21 14:29:16 \$

v = [x(:), y(:)];

% Close polygon.
if ~isequal(v(end, :), v(1, :))
v(end + 1, :) = v(1, :);
end

% Connect vertices.
segments = cell(1, length(v) - 1);
for I = 2:length(v)
[x, y] = intline(v(I - 1, 1), v(I, 1), v(I - 1, 2), v(I, 2));
segments{I - 1} = [x, y];
end

c = cat(1, segments{:});
```