c++ 矩形与多边形的相交求结果,如何实现?

解决方案 »

  1.   

    用int CombineRgn( CRgn* pRgn1, CRgn* pRgn2, int nCombineMode );
    具体用法请查看MSDN。
      

  2.   

    CRgn::CreateRectRgn 
    BOOL CreateRectRgn( int x1, int y1, int x2, int y2 );
    可以用来创建一个矩形区域。CRgn::CreatePolygonRgn 
    BOOL CreatePolygonRgn( LPPOINT lpPoints, int nCount, int nMode );
    可以用来创建一个多边形区域。CRgn::CombineRgn 
    int CombineRgn( CRgn* pRgn1, CRgn* pRgn2, int nCombineMode );
    指定nCombineMode为RGN_AND可以用来计算两个区域的相交得到的区域作为当前CRgn对象表示的区域。
      

  3.   

    求相交区域 用CombineRgn 求交点要用方程将矩形和多边形标示出来 然后一个边一个边的循环解方程来求交点。
      

  4.   

    如果得到的结果是多个多边形,如何处理?
    CRgn
      

  5.   

    如果得到的结果是多个多边形,如何处理?
    CRgn
      

  6.   

    用多边形裁剪算法来处理吧
    http://www.pudn.com/downloads29/sourcecode/graph/detail93174.html
      

  7.   

    Region
    Region::Intersect(Region* region)
    可得交集