4

我想将 1-1000 映射到 1-190,我的映射函数是:

f(x) = { x                     if 1<=x and x<=100,
         100 + (x-100)/10      if 100 < x <= 1000           }

我应该怎么做?

4

2 回答 2

4

最后通过追踪源码得到了解决方案:

d3.scale.linear().domain([1, 100, 1000]).range([1, 100,190]) //poly-linear
于 2012-11-30T09:43:14.533 回答
0

我不熟悉 3d.js,但这就是我在普通 JS 中的做法

function toNewScale( x ) {

    return Math.round( x / 1000 * 190 );
}

如果这是你要问的。

于 2012-11-30T09:13:57.833 回答