to appleyao
你提到的问题应是用线填充多边形的问题,可以采用以下方法:
注意前提:多边形为简单多边形——任意两个不相邻的边不相交。
步骤:
1.假设S1(P1,p2),S2(P2,p3),S3(p3,p4)...Sn-1(Pn-1,pn) 是多边形
2.多边形的范围为 D(minx,miny,Maxx,Maxy)
3.直线段Ls(Lp1,Lp2),Lp1,Lp2 可以取直线与D的交点(Lp1,Lp2应不在多边形内)
4。求出Ls与多边形的所有边S1,S2...Sn的所有交点。并按大小排序为C1,C2,...Cm
如果多边形是闭合的,则m是偶数。
这样,C1—C2,C3—C4,。。。C2k-1—C2k(2k=m)是直线在多边形内部的
其余在多边形外部。
如果多边形不封闭,
则m可奇、可偶,要看具体情况判定,或者如上,或者正好相反。