Liang-Barsky算法是计算机图形学的一个经典算法,也是一个以中国人命名的计算机图形学算法。
- Liang-Barsky算法思想
- 用参数方程来表示一条直线。
x=x1+u(x2-x1)
y=y1+u(y2-y1)
其中:
(x,y)是直线上任意一点
(x1,y1)是线段的起点
(x2,y2)是线段的终点
Δx是x2-x1
Δy是y2-y1
(2)对于一个矩形窗口,将矩形窗口的四条边分为入边和出边两类。左下的边为入边,右上的边为出边
(3)用u1表示可见部分的起点的参数u,用u2表示可见部分的终点的参数u。那么,u1=max(0,ul,ub),u2=min(1,ut,ur)。其中,ul ub 分别是直线与窗口左边、下边交点的参数u;ut ur 分别是直线与窗口上边、右边交点的参数u。u=0表示起点,u=1表示终点。