【问题标题】:Compute multiple Rectangles area intersect by a circle计算与圆相交的多个矩形区域
【发布时间】:2013-07-02 16:12:38
【问题描述】:

我需要像这样计算矩阵的单个元素(骰子)的面积:

矩阵由“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) 也不知道如何在我的示例中应用它。

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

Ciao, 斯特凡诺

【问题讨论】:

    标签: geometry area rectangles


    【解决方案1】:
    • 最简单也可能是最耗时的方法 - 通过求解直线方程和圆方程找出交点,然后找出由这些点形成的三角形的面积和角圆内的矩形。这样,您将获得圆内矩形面积的分数。
    • 考虑一个矩形。角的 4 个坐标是已知的。求解圆方程。排列为F(x,y) = (x-a)^2 + (y-b)^2 - r^2 如果 F p),则该坐标在圆内。如果 F > 0(设 q),则在圆外。您可以使用从 abs(p/q) 获得的比率对这些坐标使用截面公式来计算交点的近似值。
    • 近似圆当量。由等式。使用该矩形的 CenterX 与矩形相切。
    • 您可以在此处可靠地使用二等分法来求解 x 坐标(在考虑平行于 x 轴的线时知道 y 坐标)。你知道哪个坐标在圆圈内,哪个在圆圈外,即 eq.x 坐标的值。圆是 +ve 和 -ve。

    【讨论】:

    • Thx 无色光子。这是独特的方法吗?或者更好:对于圆的最左边或最右边的骰子,相交有两个圆外的角,我不能使用它。不是吗?对于这种情况,我必须将该区域视为梯形,然后使用不同的公式来计算其面积。回答我的第二个问题:“辛普森规则”不能作为替代和可用的目的吗?
    • @StefanoRadaelli 是的。当圆内有一个角时,可以考虑三角形的面积。如果您有两个角,请考虑梯形面积。如果你有 3 个角,找出不在圆圈内的区域,即外部三角形的区域,然后从矩形区域中减去该区域以获得内部区域。
    • @StefanoRadaelli 你也可以使用辛普森法则。在这种情况下,您将需要 3 个节点。您可以将其中 2 个节点视为交点,将第三个节点视为这 2 个节点的中点。但是,您必须先移动轴,然后才能使用该公式。但在专业方面,您不必担心由矩形区域形成的形状。圈内。
    猜你喜欢
    • 1970-01-01
    • 2021-05-29
    • 2018-03-11
    • 1970-01-01
    • 2014-09-16
    • 2015-05-31
    • 2018-05-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多