This paper proposes an algorithm for clipping line segment against an axis-aligned rectangular window. The conventional algorithms for line segment clipping treat the clipping boundary and/or the line segment to be clipped as line. The present algorithm treats the clipping boundary and the line segment to be clipped as line segment and using this strategy, it succeeds to avoid computation of false intersection points. A quadrilateral is constructed using the end points of a clipping boundary segment and the end points of the line segment to be clipped as its vertices. The concavity and convexity of the quadrilateral dictates whether a line segment actually intersects the clipping boundary. If the quadrilateral is found to be concave then the line segment is rejected, otherwise the point of intersection of the line segment with the clipping boundary is computed. Since a 'test & intersect' approach is used instead of a 'intersect & test', hence the proposed algorithm does not compute false intersection point thereby reducing the number of divisions required to obtain a clipped line segment. Only one routine can process line segments at any position. Improved performance is observed with respect to the Nicholl-Lee-Nicholl, Liang-Barsky, Cohen-Sutherland and Skala's algorithm through experiments with random line segments using a metric based on execution time.
翻译:暂无翻译