如果在任意绘出的一个封闭曲线内(比如三角形、梯形及其他不规则图形)内填充颜色??

解决方案 »

  1.   

    三、Cyrus-Beck 算法
    特点:可对任意凸多边形窗口实现二维和三维裁剪
    考虑一个凸多边形 R 和一个线段 P1P2,
          P1 P2 与 R 最多只有两个交点
    设 A 是 R 边界上一点,N 是该区域边界
          在 A 点的内法向量
    将P1 P2用参数方程表示:P(t) = (P2-P1) t + P1
          则线段上任一点P(t), 与 N 的点积有三种可能
    (1)  P(t) 在多边形外侧:N 。(P(t)-A) < 0
    (2)  P(t) 在多边形的边及其延长线上:N 。(P(t)-A) = 0
    (3)  P(t) 在多边形内侧:N 。(P(t)-A) > 0
    因此,P(t)在凸多边形内的充要条件是:对凸多边形边界上任意一点A和该处
    内法向量N,都有:N &#8226; (P(t)-A)  > 0
    --------------------------------------------------------------------
    --------------------------------------------------------------------
    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------我有这么一个资料,它的进一步讨论可以解决任意多边形的填充如果你需要,联系吧我的qq:164646905
      

  2.   

    谢谢,我想看看 [email protected]
      

  3.   

    可以给我一份吗??谢谢[email protected]
      

  4.   

    也可以先将边界的点放到某一CRgn对象中,
    然后求出多边形的外接矩形。
    然后遍历外接矩形,用CRgn的PtInRegion判断是否在多边形里边。