计算多个矩形区域以圆相交

时间:2013-07-04 15:32:15

标签: geometry area rectangles

我需要计算矩阵的单个元素(骰子)的面积,如下所示:

matrix

矩阵由'c'列和'r'行组成,每个元素/矩形具有相同的高度和宽度。

知道元素(x,y)中心,我可以知道它的顶点是: - 所有圈外区域 - 全部在圆圈区域内 要么 - 部分位于圆形区域内(射线= 75.000微米)

我的问题是如何计算圆圈相交的骰子区域,以及如何计算圆圈内骰子骰子部分区域的深度。

所以,举一个例子,继续努力,我有一个骰子

 CenterX , CenterY               [  29870.4 ,  67144.9 ]
 DieDimensionX, DieDimensionY    [  5430.52 ,  4320.54 ]
 Coord of upper left corner (A)  [ 27155.14 , 69305.17 ]
 Coord of upper rightcorner (B)  [ 32585.66 , 69305.17 ]
 Coord of lower left corner (C)  [ 27155.14 , 64984.63 ]
 Coord of lower right corner (D) [ 32585.66 , 64984.63 ] 

对于每个坐标,我从轴原点计算了段长度,并且1个角(在4处)是圆形的:

 sqrt( (x^2) + (y^2) )

 A: 74435.261920332
 B: 76583.495783129    == >75.000 
 C: 70430.133924738
 D: 72696.81818259

圈内这个骰子的区域是哪个? 或者:与完​​整骰子相比,这是骷髅内部骰子面积的百分比? 我读过一些关于'辛普森规则'的内容可以帮助我,但我不知道(a)这是否是正确的方法(b)如何将它应用于我的例子。

感谢任何能够帮助我的人。

侨, 斯特凡诺

1 个答案:

答案 0 :(得分:1)

  • 最简单且可能是最耗时的方法 - 通过求解线方程和圆方程找出交点,然后找出由这些点形成的三角形的面积和圆圈内的矩形角。这样你就可以获得圆圈内矩形区域的分数。
  • 考虑一个矩形。拐角的4个坐标是已知的。解决圆圈问题。排列为F(x,y) = (x-a)^2 + (y-b)^2 - r^2如果F < 0(让它是 p )坐标在圆圈内。如果F> 0(让它是 q ),它在圆圈之外。您可以使用从abs(p / q)获得的比率,使用这些坐标的截面公式计算交点的近似值。
  • 近似圆圈等式由方程式对于使用该矩阵的CenterX的矩形,它是相切的。
  • 这里可以可靠地使用二分法来求解x坐标(当考虑平行于x轴的线时,y coord。)。你知道哪个坐标在圆内,哪个在外面,即xcoord的值为eq。圆圈是+ ve和-ve。