在WINDING模式下:用一笔画一个矩型,矩型的顶点为a、b、c、d, 画的顺序可以为 a 到b 到 c 到 d 到 a 或者 a 到d 到 c 到 b 到 a,这就是多边型中画每个线段时的方向(clockwise or a counterclockwise); 画一条直线M,再画一些与M相交的线段,画线段时只有两种情况:从直线(N)的一边(左边)到直线的另一边(右边),假如从直线N的左边到右边为 clockwise,从直线N的右边到左边为counterclockwise,计数count为零。现有线段FH、KL、TG 与直线(N)相交,FH从直线N的左边到直线N的右边,count加1=1;KL从直线N的右边到直线N的左边,count减1=0;TG从直线N的左边到直线N的右边count加1=1;此时the count is nonzero, 再到上面多边形填充,从要判断一个区域E是否要被填充,从该区域画一线段N到整个多边型区域外,按照上面的方法进行count的计数,如果count非零则区域E要被填充,否则不填充。 注:每个多边型都是一笔画出的,所以多边型中每个线段都有唯一的方向(clockwise or a counterclockwise)
在WINDING模式下:用一笔画一个矩型,矩型的顶点为a、b、c、d, 画的顺序可以为 a 到b 到 c 到 d 到 a 或者 a 到d 到 c 到 b 到 a,这就是多边型中画每个线段时的方向(clockwise or a counterclockwise);
画一条直线M,再画一些与M相交的线段,画线段时只有两种情况:从直线(N)的一边(左边)到直线的另一边(右边),假如从直线N的左边到右边为 clockwise,从直线N的右边到左边为counterclockwise,计数count为零。现有线段FH、KL、TG 与直线(N)相交,FH从直线N的左边到直线N的右边,count加1=1;KL从直线N的右边到直线N的左边,count减1=0;TG从直线N的左边到直线N的右边count加1=1;此时the count is nonzero,
再到上面多边形填充,从要判断一个区域E是否要被填充,从该区域画一线段N到整个多边型区域外,按照上面的方法进行count的计数,如果count非零则区域E要被填充,否则不填充。
注:每个多边型都是一笔画出的,所以多边型中每个线段都有唯一的方向(clockwise or a counterclockwise)