То, что я пытаюсь выполнить, состоит в том, чтобы иметь возможность поместить некоторые значения внутри массива, а затем на основе (0-1) получить значение из массива на основе его сохраненные значения.Получить значение из массива с использованием любого заданного значения t
Чтобы сделать это более ясным, вот пример: значения
Array = [0, 10]
Теперь этот массив будет возвращать значение 0 при т = 1 и значение 10 для т = 1. Таким образом, т = 0,3 даст значение 3.
Другой пример:
значения Array = [10, 5, 5, 35]
t=.25 will give a value of 5
t=.125 will give a value of 7.5
Im ищет наиболее эффективной формулы для получить значение при любом заданном t, используя данный массив.
В настоящее время я использую это (псевдокод)
var t:Number = .25;
var values:Array = [10, 5, 5, 35];
if(t == 1) value = [values.length-1];
else
var offset:Number = 1/values.length;
var startIndex:int = int(t/offset);
var fraction:Number = t % offset;
var roundPart:Number = (values[startIndex+1] - values[startIndex]) * fraction;
var value:Number = values[startIndex] + roundPart;
Но я уверен, что есть гораздо более лучший способ сделать это. Поэтому я призываю математиков здесь!
Возможно есть более элегантная форма, но расчеты будут одинаковыми ... yo u интерполируют, и это то, что вы должны делать ... –
Интерполяция, на самом деле линейная интерполяция - это слово, которое я действительно искал. Я надеялся, что это сделает простой лайнер. –