计算斜率 - 只是角度

时间:2015-09-01 07:22:49

标签: math formula angle

我想以%计算斜率 例如我只有角度: (可能是PHP或Javascript)     坡度(22.5)// 50%

0=0%
22.5=50%
45=100%
67,5=50%
90=0%
112,5=50%
135=100%
180=0
202,5=50%
225=100%
270=0

3 个答案:

答案 0 :(得分:2)

根据您的数据显示,在每个象限中,您在前45度内从0线性上升到100%,在第二个45度下降回0%。

因此,您可以将所有角度映射到第一个象限getViewTreeObserver(),并使用:

0 <= angle < 90

然后,如果它位于该象限的后半部分,则使用围绕45度线的旋转进行转换:

angle = angle % 90

现在你有一个角度if angle >= 45: angle = 90 - angle ,它实际上是&#34;距离&#34;从最近的象限边界,您可以这样做:

0 <= angle < 45

以百分比表示。

简而言之:

percent = angle * 100 / 45

作为概念的证明,这里有一些Python代码可以显示它的实际效果:

angle = angle % 90
if angle >= 45:
    angle = 90 - angle
percent = angle * 100 / 45

以及删节输出:

for i in range (361):
    angle = i % 90
    if angle >= 45:
        angle = 90 - angle
    percent = angle * 100 // 45
    print("%d -> %d" % (i, percent))

答案 1 :(得分:1)

使用与paxdiablo类似的推理我想出了这个单行

slope = 100*abs(((angle+45) mod 90)-45)/45;

您应该可以在此处查看情节:go to wolframalpha

答案 2 :(得分:-1)

斜率= ABS(TAN(角度))* 100

¿这就是你想要的吗?