MGH_POLYCLIP2 Name
MGH_POLYCLIP2 Purpose
Clip an arbitrary polygon on the X-Y plane to a line of arbitrary
orientation using the Sutherland-Hodgman algorithm.
Category
Graphics, Region of Interest, Geometry
Calling Sequence
result = MGH_POLYCLIP2(clip, poly, COUNT=count)
Positional Parameters
poly (input, floating array)
A [2,m] vector defining the polygon to be clipped.
clip (input, 3-element numeric vector)
This parameter describes the line to be clipped to. The polygon is
clipped to the half-plane (clip[0] x + clip[1] y + clip[2]) < 0.
Keyword Parameters
COUNT (output, integer)
The number of vertices in the clipped polygon.
Return Value
The function returns the clipped polygon as a [2,n] array. The
second dimension will equal the value of the COUNT argument, except
where COUNT is 0 in which case the return value is -1.
Procedure
The polygon is clipped using the Sutherland-Hodgman algorithm.
This function is similar to MGH_POLYCLIP, which was written first
& clips to vertical or horizontal lines only. It turns out that
MGH_POLYCLIP2 is competitive with MGH_POLYCLIP in terms of speed
so the former may supersede the latter.
Both polygon-clipping functions are based on JD Smith's
implementation of the Sutherland-Hodgman algorithm in his POLYCLIP
function. He can take most of the credit and none of the blame.
###########################################################################
This software is provided subject to the following conditions:
1. NIWA makes no representations or warranties regarding the
accuracy of the software, the use to which the software may
be put or the results to be obtained from the use of the
software. Accordingly NIWA accepts no liability for any loss
or damage (whether direct of indirect) incurred by any person
through the use of or reliance on the software.
2. NIWA is to be acknowledged as the original author of the
software where the software is used or presented in any form.
###########################################################################
Modification History
Mark Hadfield, 2002-08:
Written.