我正在为同心圆和圆和弦计算几何几何。
我需要将半径长度设为绿色并创建一个相应的形状,其中(较短的)半径为橙色。
具体来说,如果角度为红色,半径为绿色,半径为橙色,对于橙色长度的三角形,我想以粉红色计算角度。
我在Ruby中工作,但是对trig函数的任何一般使用都很有帮助。
答案 0 :(得分:2)
当两个同心圆的半径为r
且R
为r < R
时,粉红色角度仅为arccos(r/R)
,假设定义三角形为矩形,似乎是你的图片。不需要红色角度。
Math.acos(r/R)
然后以弧度为单位给出角度。
这完全是微不足道的,所以我可能误解了“创造相应形状”的意思。
答案 1 :(得分:0)
让我们调用外圆的半径(绿色的一半)ro
,以及内圆的半径(橙色的一半)ri
,红色的角度{{1粉红色的角度alpha
。很容易看出
ro * cos(beta)= ri * cos(alpha)
因此可以轻松解决beta
。
beta = Math.acos(ri * Math.cos(alpha)/ ro)
答案 2 :(得分:0)
根据上图,您似乎知道橙色三角形的相邻和斜边。 Ruby有nice Math module提供三角函数。请查看以下内容:
hypotenuse_length = 5.0
adjacent_length = 3.0
red_angle = Math.acos(adjacent_length / hypotenuse_length)
print(Math.sin(red_angle) * hypotenuse_length)
# 4.0
如果您需要学位值,可以延长Numeric
来处理转化:
class Numeric
def radians_to_degrees
self * (180 / Math::PI)
end
def degrees_to_radians
self * (Math::PI / 180)
end
end