我有一个圆,半径为10,我可以找到外边界矩形,因为它的宽度和高度等于半径,但我需要的是内边界矩形。有谁知道如何计算圆的外边界和内边界矩形的大小差异?
这是一张图片来说明我在说什么。红色矩形是圆圈的外边界框,我知道。黄色矩形是圆的内部边界矩形,我需要找到外部矩形的大小差异。
我发现差异的第一个猜测是找到内部矩形的四个点中的一个,找到沿着圆周的点,每个点都是45度偏移,然后找到不同的那个点和较大矩形中的相关点。
编辑:基于Steve B.给出的解决方案。我想出了算法来得到我想要的内容,如下所示:
r*2 - sqrt(2)*r
答案 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)。