0% found this document useful (0 votes)
14 views

Liang-Barsky Line Clipping Algorithm

Uploaded by

ammanatif613
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views

Liang-Barsky Line Clipping Algorithm

Uploaded by

ammanatif613
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

BCS-6 [Computer Animation and Graphics]

Liang-Barsky Line ClippingAlgorithm


The Liang-Barsky algorithm is a line clipping algorithm. This algorithm is more efficient
than Cohen–Sutherland line clipping algorithm and can be extended to 3-Dimensional clipping.
This algorithm is considered to be the faster parametric line-clipping algorithm. The following
concepts are used in this clipping-
 The parametric equation of the line.
 The inequalities describing the range of the clipping window which is used to determine
the intersections between the line and the clip window.

The parametric equation of a line can be given by-


X = x1 + t(x2-x1)
Y = y1 + t(y2-y1)
Where, t is between 0 and 1.

Then, writing the point-clipping conditions in the parametric form:


xwmin <= x1 + t(x2-x1) <= xwmax
ywmin <= y1 + t(y2-y1) <= ywmax

The above 4 inequalities can be expressed as-

tpk <= qk
Where k = 1, 2, 3, 4 (correspond to the left, right, bottom, and top boundaries, respectively).
The p and q are defined as-
p1 = -(x2-x1), q1 = x1 - xwmin (Left Boundary)
p2 = (x2-x1), q2 = xwmax - x1 (Right Boundary)
p3 = -(y2-y1), q3 = y1 - ywmin (Bottom Boundary)
p4 = (y2-y1), q4 = ywmax - y1 (Top Boundary)

1. When the line is parallel to a view window boundary, the p value for that boundary is
zero.
2. When pk < 0, as t increase line goes from the outside to inside (entering).
3. When pk > 0, line goes from inside to outside (exiting).
4. When pk = 0 and qk < 0 then line is trivially invisible because it is outside view window.
5. When pk = 0 and qk > 0 then the line is inside the corresponding window boundary.

Using the following conditions, the position of line can be determined:


Condition Position of Line
pk = 0
parallel to the clipping boundaries

Mubeen Rafaqat
BCS-6 [Computer Animation and Graphics]

pk = 0 and qk < 0
completely outside the boundary
pk = 0 and qk >= 0
inside the parallel clipping boundary
pk < 0
line proceeds from outside to inside
pk > 0 line proceeds from inside to outside
Parameters t1 and t2 can be calculated that define the part of line that lies within the clip
rectangle.
When,
pk < 0, maximum(0, qk/pk) is taken.
pk > 0, minimum(1, qk/pk) is taken.

If t1 > t2, the line is completely outside the clip window and it can be rejected. Otherwise, the
endpoints of the clipped line are calculated from the two values of parameter t.

Algorithm –
1. Set tmin=0, tmax=1.
2. Calculate the values of t (t(left), t(right), t(top), t(bottom)),
(i) If t < tmin ignore that and move to the next edge.
(ii) else separate the t values as entering or exiting values using the inner product.
(iii) If t is entering value, set tmin = t; if t is existing value, set tmax = t.
3. If tmin < tmax, draw a line from (x1 + tmin(x2-x1), y1 + tmin(y2-y1)) to (x1 + tmax(x2-x1), y1 +
tmax(y2-y1)).
4. If the line crosses over the window, (x1 + tmin(x2-x1), y1 + tmin(y2-y1)) and (x1 + tmax(x2-
x1), y1 + tmax(y2-y1)) are the intersection point of line and edge.

Mubeen Rafaqat

You might also like