怎么用C#求得两个椭圆重叠区域的面积
如何用C#求得两个椭圆重叠区域的面积
已知椭圆的四个顶点坐标,如何利用C#求得两个椭圆重叠区域的面积。
如下图:A和B均是坐标系上任意的两个椭圆区域,希望求得红色重叠区域的面积

麻烦各位大神,想个办法。
------解决思路----------------------
最粗暴的算法是取图形上每个点,判断是否在两个椭圆内,在的话就计数,最后根据点的个数判断。
------解决思路----------------------
如果用到数学的算法就是微积分,就是你手动算出公式然后让计算机进行数值积分操作。
------解决思路----------------------
坐标建系,参数化描述两个椭圆模型,然后使用数学方法推导出重叠面积的公式表达式,最后在程序中代值运算
道理很好,原谅我没给你推导
------解决思路----------------------
在图上随机(或等距)产生N个点,N越大越好,然后统计落在区域中的个数,利用统计学的方法计算面积。
懒人的做法,不需要推导公式
------解决思路----------------------
无论怎么推导,到了数值计算都是迭代。推导只是为了减少计算量
所以直接从椭圆方程出发以x为自变量,算出2个y来,其差累加就是面积(两个y相等就是相交点)
已知椭圆的四个顶点坐标,如何利用C#求得两个椭圆重叠区域的面积。
如下图:A和B均是坐标系上任意的两个椭圆区域,希望求得红色重叠区域的面积
麻烦各位大神,想个办法。
------解决思路----------------------
最粗暴的算法是取图形上每个点,判断是否在两个椭圆内,在的话就计数,最后根据点的个数判断。
------解决思路----------------------
如果用到数学的算法就是微积分,就是你手动算出公式然后让计算机进行数值积分操作。
------解决思路----------------------
坐标建系,参数化描述两个椭圆模型,然后使用数学方法推导出重叠面积的公式表达式,最后在程序中代值运算
道理很好,原谅我没给你推导
------解决思路----------------------
在图上随机(或等距)产生N个点,N越大越好,然后统计落在区域中的个数,利用统计学的方法计算面积。
懒人的做法,不需要推导公式
------解决思路----------------------
无论怎么推导,到了数值计算都是迭代。推导只是为了减少计算量
所以直接从椭圆方程出发以x为自变量,算出2个y来,其差累加就是面积(两个y相等就是相交点)