Code Bye

如何用C#求得两个椭圆重叠区域的面积

已知椭圆的四个顶点坐标,如何利用C#求得两个椭圆重叠区域的面积。

如下图:A和B均是坐标系上任意的两个椭圆区域,希望求得红色重叠区域的面积

麻烦各位大神,想个办法。

各位大师指导啊
椭圆在程序里是什么?
5分
最粗暴的算法是取图形上每个点,判断是否在两个椭圆内,在的话就计数,最后根据点的个数判断。
5分
如果用到数学的算法就是微积分,就是你手动算出公式然后让计算机进行数值积分操作。
5分
坐标建系,参数化描述两个椭圆模型,然后使用数学方法推导出重叠面积的公式表达式,最后在程序中代值运算
道理很好,原谅我没给你推导
本来就是要代入matlab运算的,但就是积分不过来啊,求帮忙做个推导。
5分
在图上随机(或等距)产生N个点,N越大越好,然后统计落在区域中的个数,利用统计学的方法计算面积。
懒人的做法,不需要推导公式
这是用在地图上的,一个像素也许就飞出了几十米了
20分
无论怎么推导,到了数值计算都是迭代。推导只是为了减少计算量
所以直接从椭圆方程出发以x为自变量,算出2个y来,其差累加就是面积(两个y相等就是相交点)

\完全不会..

谢谢大家了,特别感谢xuzuning的建议, 确实需要迭代,里面还得用上一些函数逼近,估计累加误差会比较大。

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明如何用C#求得两个椭圆重叠区域的面积