2个任意多边形,内点坐标已知,求这2个多边形交叉部分的面积。求算法
解决方案 »
- 关于HashMap排序的问题
- Java类的放置顺序
- SOS!!!热心大侠请进来,docx和doc之间转换,如何解决???
- web应用中applet不是放在WEB-INF/classes/文件夹里么?
- SOCKET如何同时收发?
- 如果要在界面放两个CHECKBOX,每点击一个CHECKBOX,就弹出一个MSG,显示这个CHECKBOX的名字,应该怎么做(求一段能运行的源程序)
- HashSet 如何保证元素不重复?
- 怎样将多个ejb最终打包成一个*ClientEAR.jar?
- 简单问题,怎么在Taglib中实现重定向。
- 好久没来了,送点分吧!
- 网络接口 XML 问题,如何用端口实现(有ASP代码要JAVA实现)
- 如何读取pkcs7文件(.p7b)?
高中数学就可以了
不要什么大学数学的!~
for(int i=startX ;i<EndX;i=i+T){
S=S+(HideYonT-LowYonT)*T;//T越小越准确,循环越多;
}
把两个多边形的每一边的函数写出来,如y=ax+b(x=[x1-x1',x2-x2'],y=[y1-y1',y2-y2'])
然后就能找出他们每一条边相交的点(解二元一次方程组)以及一个在另一个内部的点(这个点的坐标是否在另一个所有坐标的范围之内)选择其中一个,根据相交的点和在另一个内部的点组成的多边形,分割此多边形,就能算出多边形的重合区域的面积了。以上适合凸多边形,凹多边形可能需要多些考虑
楼上的,,,问题难点不在于求不规则多边形面积,而在于如何找到2个多边形的重合区域
-----------------------------------------------
lz这就是你不厚道了
请说明白“用怎么样的一个对象去表明一个多边形“
如果有n边形ABCDE
那么从一个顶点开始,能分割成n-2个相邻的三角形
假如有个9边形ABCDEFGHI,那么就有这样七个三角形:
ABC
ACD
ADE
AEF
AFG
AGH
AHI
有了这些理论算法应该能出来了把?呵呵
然后算出两个多边形的面积--------------------------比如叫S1 S2
然后再算出“两个多边形重合后的那个多边形的面积”--------比如叫S3
然后S1+S2-S3就行了问题要害有两个:(都不算超难)
1.求多边形面积的函数
2.两个多边形重合后的那个多边形的坐标