如何从Circle中点找到外部长度

时间:2015-02-06 13:45:59

标签: c# math data-structures geometry

如何根据Circle中点的角度找到从圆心点到矩形边界的长度..

我尝试AC ^ 2 =√AB^ 2 - BC ^ 2

示例图片

enter image description here

2 个答案:

答案 0 :(得分:2)

从圆的中心开始绘制一条直线,向右移动直到它与矩形相交。你现在有一个直角三角形,它的腿有长度(rect_height - radius)和(rect_width - radius)。您可以通过计算斜边来找到黄线的长度。

? = sqrt((rect_height - radius)^ 2 +(rect_width - radius)^ 2)

答案 1 :(得分:0)

Let the size of the square be S.
Let the radius of the circle be R
Where S > R

Let A be the angle in degrees, where 0 <= A <= 90
Let L be the required diagonal length.

Then if 0 <= A <= 45, L = (S-R)/Cos(A)
And if 45 < A <= 90, L = (S-R)/Sin(A)

如果在C#中表达这一点,请记住Math.Sin()Math.Cos()使用弧度,而不是度数。

这只是凯文使用毕达哥拉斯的方法的替代品。这两种方法当然应该给出相同的答案。 :)