公式,圆的周长与矩形的角相交
Formula, Circle's perimeter intersects with corners of rectangle
注:关于圆的一切都是未知的。只知道矩形的宽度和高度。
我设计了一个公式来确定圆的直径,无论矩形的比例是多少(或者至少如果宽度大于高度),圆的周长都与矩形的底部两个角相交).公式如下,其中W指矩形的宽度,H指矩形的高度:
X = W / H
Diameter = ((X/4) + (1/X)) * W
有没有人知道更多 eloquent 的计算方法,或者是否有已知的算法可以更有效地做到这一点?
设圆心为(0, 0),直径为D,长方形的宽为W,高为H,点(±W/2,D/2 − H) 应该位于圆上,毕达哥拉斯认为当且仅当
(W/2)2 + (D/2 − H)2 = (D/2)2.
展开二项式,两边减去(D/2)2,得到
W2/4 − D H + H2 = 0.
通过在两边加上 D H 再除以 H 来求解 D,我们得到
D = W2/(4 H) + H.
在代码中可能如下所示。
double diameter(double width, double height) {
return width * width / (4 * height) + height;
}
注:关于圆的一切都是未知的。只知道矩形的宽度和高度。
我设计了一个公式来确定圆的直径,无论矩形的比例是多少(或者至少如果宽度大于高度),圆的周长都与矩形的底部两个角相交).公式如下,其中W指矩形的宽度,H指矩形的高度:
X = W / H
Diameter = ((X/4) + (1/X)) * W
有没有人知道更多 eloquent 的计算方法,或者是否有已知的算法可以更有效地做到这一点?
设圆心为(0, 0),直径为D,长方形的宽为W,高为H,点(±W/2,D/2 − H) 应该位于圆上,毕达哥拉斯认为当且仅当
(W/2)2 + (D/2 − H)2 = (D/2)2.
展开二项式,两边减去(D/2)2,得到
W2/4 − D H + H2 = 0.
通过在两边加上 D H 再除以 H 来求解 D,我们得到
D = W2/(4 H) + H.
在代码中可能如下所示。
double diameter(double width, double height) {
return width * width / (4 * height) + height;
}