2

我有一个圆,比如半径为 10,我可以很容易地找到外部边界矩形,因为它的宽度和高度等于半径,但我需要的是内部边界矩形。有谁知道如何计算圆的外部和内部边界矩形的大小差异?

这是一张图片来说明我在说什么。红色矩形是圆的外边界框,我知道。黄色矩形是圆的内部边界矩形,我需要找到它与外部矩形的大小差异。

圆形示例

我发现差异的第一个猜测是通过沿着圆的圆周找到那个点来找到内部矩形的四个点之一,每个点都有 45 度偏移,然后找到与该点的不同点和大矩形中的相关点。

编辑:基于史蒂夫 B 给出的解决方案。我想出了得到我想要的算法,如下所示:

r*2 - sqrt(2)*r
4

3 回答 3

5

如果半径为r,则外部矩形大小为r*2

内部矩形的大小将等于2*sqrt(2*r)

所以差异将等于2*(r-sqrt(2*r^2))

于 2012-01-03T23:38:15.793 回答
3

您知道半径的大小,并且您有一个角为 90 度的三角形,其中一个点作为圆的中心,另外两个作为内部正方形的两个角。

现在,如果您知道三角形的两条边,则可以使用毕达哥拉斯:

x^2 = a^2 + b^2
    = 2* r^2

所以

x = sqrt(2 * r^2)

r圆的半径,x正方形的边。

于 2012-01-03T23:39:45.137 回答
0

这是简单的几何形状:外部矩形的边长等于 2*R,内部 - 对角线等于 2*R。所以内部矩形的边等于 sqrt(2)*R。外部矩形的边缘除以内部的比率显然是 sqrt(2)。

于 2012-01-03T23:38:05.053 回答