此算法能使用任意多边形对一条直线段进行裁剪。
类GLdoublePoint: 公有—GLdouble x ,y;
类line: 公有—GLdoublePoint first,second;
linelist: line型数据组成的链表,用于描述多边形;
伪代码:
int CyrusBeck(line& seg , linelist& l)
{
double numer , denom ;
double tIn = 0.0 , tOut = 1.0;
Vector c , temp;
c = seg.second - seg.first;
for(int i = 0 ; i < l.num ; i++)
{
temp = l.line[i].pt - first ; //