查找矩形长度和宽度的算法?

时间:2011-12-08 05:19:09

标签: algorithm math

鉴于矩形的对角线长度,以及宽度与长度的比率,您能提供产生长度和宽度的算法吗?

5 个答案:

答案 0 :(得分:3)

如果D是对角线而RAB的比率,那么B=sqrt(D*D/(R*R+1))

原因如下:

A*A + B*B = D*D

A / B = R , so A = B*R; substituting:
B*R*B*R + B*B = D*D
B*B (R*R + 1) = D*D
B*B = D*D/(R*R + 1)
B = sqrt(D*D/(R*R + 1))
A = B * R

答案 1 :(得分:2)

对此嗤之以鼻。说长度是2x,宽度是1x。可以说对角线是10.使用pythagoras theorem得到 -

10^2 = (2x)^2 + (1x)^2

求解x得到x = 2root5。有了这个,我们得到长度= 2(2root5)& width = 2root5。

希望这会有所帮助。

答案 2 :(得分:2)

答案 3 :(得分:2)

使用毕达哥拉斯定理得到宽度w,对角线d,比率r

w = sqrt( d^2 / (r^2 + 1) )

答案 4 :(得分:2)

表示宽度w和高度h

given: d (diagonal), ratio = h/w

     /|
    / |
 d /  |
  /   |h
 /    |
/ X   |
-------
   w

tg(x) = h/w = ratio
x = tg-1(ratio)

sin(x) = h/d
h = d * sin(x)
w = h/ratio