2个任意多边形,内点坐标已知,求这2个多边形交叉部分的面积。求算法

解决方案 »

  1.   

    好像ACM上看到过的
    高中数学就可以了
    不要什么大学数学的!~
      

  2.   

    根据积分思想,求出近似值就好了啊先建好坐标 : x轴和y轴 面积 S=0;
    for(int i=startX ;i<EndX;i=i+T){
       S=S+(HideYonT-LowYonT)*T;//T越小越准确,循环越多;
    }
      

  3.   

    提供一个我早上的思路假设图形边缘是平整,没有圆弧step1 计算出图形轮廓顺序  p1,p2,p3....这些是能连成完整图形的step2 选着一点向其他各点射出假设线 构成 triangle1,triangle2,triangle3....step3 三角能变成2个直角三角 现在三角的边长,点坐标(可以求出角度)已知,那就用勾股吧step4 各个三角面积叠加得到面积我老大名言 赚大钱的pg工资取决于他的数学能力,pg工人除外。
      

  4.   

    我提供一个思路:
    把两个多边形的每一边的函数写出来,如y=ax+b(x=[x1-x1',x2-x2'],y=[y1-y1',y2-y2'])
    然后就能找出他们每一条边相交的点(解二元一次方程组)以及一个在另一个内部的点(这个点的坐标是否在另一个所有坐标的范围之内)选择其中一个,根据相交的点和在另一个内部的点组成的多边形,分割此多边形,就能算出多边形的重合区域的面积了。以上适合凸多边形,凹多边形可能需要多些考虑
      

  5.   

    javapopo(☆★纸风筝★☆) ( ) 
     楼上的,,,问题难点不在于求不规则多边形面积,而在于如何找到2个多边形的重合区域
    -----------------------------------------------
    lz这就是你不厚道了
    请说明白“用怎么样的一个对象去表明一个多边形“
      
     
      

  6.   

    再补上一理论
    如果有n边形ABCDE
    那么从一个顶点开始,能分割成n-2个相邻的三角形
    假如有个9边形ABCDEFGHI,那么就有这样七个三角形:
    ABC
    ACD
    ADE
    AEF
    AFG
    AGH
    AHI
    有了这些理论算法应该能出来了把?呵呵
      

  7.   

    很简单,你先写一个“求多边形面积的函数”
    然后算出两个多边形的面积--------------------------比如叫S1 S2
    然后再算出“两个多边形重合后的那个多边形的面积”--------比如叫S3
    然后S1+S2-S3就行了问题要害有两个:(都不算超难)
    1.求多边形面积的函数
    2.两个多边形重合后的那个多边形的坐标