正如问题标题中所示,我正在寻找一种有效的方法来表示(和包括)值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个十进制值的精度。感谢任何帮助,谢谢!
答案 0 :(得分:1)
你可以创建自己的函数,它带有x和y,第三个参数是你要映射的值,然后返回它:
Static double Map(float x, float y, float inputValue){ Return Convert.ToDouble((inputValue-x)/(y-x));}
从逻辑角度来看,您试图找出InputValue在x和y之间的分数。想象一下,在中间的某个地方有一条很长的路。为了找到他的方式,你必须找到他走了多远,这是他的位置减去起始位置,然后除以道路的总距离,在这种情况下是y(结束) -x(起始位置)