Describe briefly Sutherland Cohen line clipping algorithm. OR Describe Cohen Sutherland line clipping algorithm.
Cohen Sutherland line clipping algorithm In this algorithm we divide the line clipping process into two phases: (1) identify those lines which intersect the clipping window and so need to be clipped and (2) perform the clipping.
1. Visible: Both endpoints of the line lie within the window.
2. Not visible: The line definitely lies outside the window.
3. Clipping candidate: The line is in neither category 1 nor 2. In fig. 1 line AB is in category; line CD and EF are in category 2; and lines GH, IJ, and KJ are in category 3 (clipping candidate). The algorithm employs an efficient procedure for finding the category of line. It proceeds in two steps: 1. Assign a 4-bit region code to each endpoint of the line. The code is determined according to which of the following nine regions of the plane the endpoint lies in starting from the leftmost bit, each bit of the code is set to true (1) of false (0) according to the scheme We rse the convention that sign (a) = 1 if a is positive, 0 otherwise. Of course, a point with code 0000 is inside the window. 2. The line is visible if both region codes are 0000, and not visible if the bitwise logical AND of the codes is not 0000, and a candidate for clipping if the bitwise logical AND of the region codes is 0000. For a line in category 3 we proceed to find the intersection point of the line with one of the boundaries of the clipping window, or to be exact, with the infinite extension of one of the boundaries. We choose an endpoint of the line say (x1,y1,) that is outside the window, i.e., whose region code is not 0000. We then select an extended line by observing that boundary lines that are candidates for intersection are the ones for which the chosen endpoint must be "pushed across" so as to change a "1" in its code to a "0". Consider line CD in fig. If endpoint C chosen, then the bottom boundary line y = y is selected for computing intersection. On the other hand if endpoint D is chosen, then either the top boundary line y = y of the right boundary line x = x is used. Now we replace endpoint with the intersection point effectively eliminating the portion of the original line that is on the outside of the selected window boundary. The new endpoint is then assigned an update region code and the clipped line re categorized and handled in the same way . This iterative process terminates when we finally reach a clipped line that belongs to either category 1 (visible ) of category 2 ( not visible ).