时间:2011-11-08 00:54:10

标签: javascript math geometry

我在这里找不到这个问题,虽然看起来很简单。

当我知道开始和结束位置时,我想要计算总距离的百分比,即:

function getPercentage(startpos,endpos,currentpos)
{
     var distance = endpos-startpos;
     return (currentpos/distance)*100;
}
很容易,但是如果起始点或当前位置在负轴上,那么咖啡不起作用的时间已经很晚了。

startpos = -734;
endpos = 65;
currentpos = -38;

值得注意的是,任何位置都可能在任何一点都处于正轴或负轴。

当前距离的百分比是多少.... 任何人都可以把我的骨头扔到凌晨1点: - )

2 个答案:

答案 0 :(得分:7)

您也忘了翻译当前位置。

function getPercentage(startpos, endpos, currentpos)
{
     var distance = endpos - startpos;
     var displacement = currentpos - startpos;
     return (displacement / distance) * 100;
}

答案 1 :(得分:1)

简单的做法是偏移位置,使startpos变为零:

endpos = endpos - startpos;
currentpos = currentpos - startpos;
var perc = currentpos/endpos*100;