Jump to content

Cyrus–Beck algorithm

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Waldyrious (talk | contribs) at 10:50, 9 November 2016 (removed Category:Clipping (computer graphics); added Category:Line clipping algorithms using HotCat). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

The Cyrus–Beck algorithm is a generalized line clipping algorithm. It was designed to be more efficient than the Sutherland–Cohen algorithm which uses repetitive clipping.[1] Cyrus–Beck is a general algorithm and can be used with a convex polygon clipping window unlike Sutherland-Cohen that can be used only on a rectangular clipping area.

Here the parametric equation of a line in the view plane is:

where .

Now to find intersection point with the clipping window we calculate value of dot product. Let pE be a point on the clipping plane E.

Calculate .

if > 0 vector pointed towards interior
if = 0 vector pointed parallel to plane containing p
if < 0 vector pointed away from interior

Here n stands for normal of the current clipping plane (pointed away from interior).

By this we select the point of intersection of line and clipping window where (dot product = 0 ) and hence clip the line.

Notes

See also

Algorithms used for the same purpose:

References in other media:

References

  • Mike Cyrus, Jay Beck. "Generalized two- and three-dimensional clipping". Computers & Graphics, 1978: 23-28.
  • James D. Foley. Computer graphics: principles and practice. Addison-Wesley Professional, 1996. p. 117.