找到圆的内直尺的大小

时间:2012-01-03 23:31:57

标签: geometry rect bounding

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

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

circle example

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

编辑:基于Steve B.给出的解决方案。我想出了算法来得到我想要的内容,如下所示:

r*2 - sqrt(2)*r

3 个答案:

答案 0 :(得分:4)

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

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

因此差异将等于2*(r-sqrt(2*r^2))

答案 1 :(得分:3)

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

现在,如果你知道三角形的两面,你可以使用毕达哥拉斯:

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

所以

x = sqrt(2 * r^2)

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

答案 2 :(得分:0)

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

相关问题