初中生问题:求任意凸多边形的交叉面积
生活随笔
收集整理的這篇文章主要介紹了
初中生问题:求任意凸多边形的交叉面积
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一個初中生問題:求任意凸多邊形的交叉面積
類似的幾種情況:
????????
第一種0:兩個多邊形無交叉,沒有相交多邊形,且一方在另一方沒有內點,相交面積為0。
第二種1:兩個多邊形無交叉,且一方在另一方有內點。稱之為包含。
第三種2:兩個多邊形有交叉,有相交多邊形,且一方在另一方有內點。
第四種3:兩個多邊形有交叉,有相交多邊形,且兩方在另一方有內點。
第五種4:兩個多邊形有交叉,有相交多邊形,且無內點。
第六種5:奇異情況,重合。
總結:可以看出,多邊形相交的面積,即是 所有交點和內點組成的多邊形連成的面積。
問題:是不是遺漏了其他情況?
算法描述:
1. 判斷兩個多邊形是否相交
?? ? 1.1 遍歷一個多邊形的所有邊,判斷是否與另一個多邊形相交
???? 1.2? 找出所有的交點
2.判斷一個多邊形在另一多邊形內是否有內點
?? 2.1 遍歷一個多邊形的所有點,判斷是否為另一個多邊形內點 ??
?? 2.2
3. 根據內點情況和交叉點情況,判斷相交情況
??? 3.1 收集所有內點和交點,
??? 3.2 計算質心,計算點到質心的角度
??? 3.3 根據角度排序,連成凸多邊形
??? 3.4 從一點開始,劃分多個三角形
??? 3.5 計算多個三角形的面積,累加:
????????????? 三角形面積計算公式:
???
double p = (a + b + c) / 2;double s2 = p * (p - a) * (p - b) * (p - c);4.返回面積累加和
總結
以上是生活随笔為你收集整理的初中生问题:求任意凸多边形的交叉面积的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 头上三尺有神明不畏人知畏己知的意思是
- 下一篇: 图方法:寻找无向图联通子集的JAVA版本