如何将一系列浮点数(x 到 y)表示为 0-1 范围内的一组双精度值,其中 x 为 0,y 为 1?
How can I represent a range of floats (x to y) as a set of doubles from a range of 0-1 where x is 0 and y is 1?
如问题标题所示,我正在寻找一种有效的方法来表示一组介于(和包括)值 x 和 y 之间的浮点值,在一组 0-1 的双精度值中,其中 x 等于0 和 y 等于 1。然后填写之间的值。
假设 x 为 5,y 为 20。
现在,5 = 0、20 = 1。
是否有数学函数来确定 c# 中 10 的值?
我觉得我只是想不出一种方法来以编程方式执行此操作,我可以交换 x 和 y 的值。给定的 x 和 y 值将是个位数。 0-1 范围内的值应具有 2 个十进制值的精度。感谢任何帮助,谢谢!
您可以创建自己的函数,它接受 x 和 y,第三个参数是您要映射的值,然后 return 就像:
Static double Map(float x, float y, float inputValue){ Return Convert.ToDouble((inputValue-x)/(y-x));}
从逻辑的角度来看,您试图找出您的 InputValue 在 x 和 y 之间的分数。想象一条漫长的道路,中间某处有人。要找到他沿途的分数,您必须找到他走了多远,即他的位置减去起始位置,然后将其除以道路的总距离,在本例中为 y(终点) -x(起始位置)
如问题标题所示,我正在寻找一种有效的方法来表示一组介于(和包括)值 x 和 y 之间的浮点值,在一组 0-1 的双精度值中,其中 x 等于0 和 y 等于 1。然后填写之间的值。
假设 x 为 5,y 为 20。
现在,5 = 0、20 = 1。 是否有数学函数来确定 c# 中 10 的值?
我觉得我只是想不出一种方法来以编程方式执行此操作,我可以交换 x 和 y 的值。给定的 x 和 y 值将是个位数。 0-1 范围内的值应具有 2 个十进制值的精度。感谢任何帮助,谢谢!
您可以创建自己的函数,它接受 x 和 y,第三个参数是您要映射的值,然后 return 就像:
Static double Map(float x, float y, float inputValue){ Return Convert.ToDouble((inputValue-x)/(y-x));}
从逻辑的角度来看,您试图找出您的 InputValue 在 x 和 y 之间的分数。想象一条漫长的道路,中间某处有人。要找到他沿途的分数,您必须找到他走了多远,即他的位置减去起始位置,然后将其除以道路的总距离,在本例中为 y(终点) -x(起始位置)