How does the Cyrus Beck line clipping algorithm, clip a line segment whether the window is non convex?
Solution: see the following figure 13, now the window is non-convex in shape and PQ is a line segment passing via this window. At this time two the condition of visibility of the line is tmax < tmin and the line is visible from P + tmax (Q - P) to P + tmin (Q - P), if tmax ? tmin then refuse the line segment. Then, applying this rule to the following figure, we get that when PQ line segment passes via the non convex window, it cuts the edges of the window at 4 points. 1→ PE; 2 → PL; 3 → PE; 4 → PL. In this illustration, utilizing the algorithm we refuse the line segment PQ but it is not the accurate result.
Figure: Example Cyrus Beck Clipping
State of visibility is satisfied in region 1-2 and 3-4 only when the line exists there although in region 2-3 the state is violated hence the line does not exists.