Method: Bayonetta::ExpKeyInterpolate#interpol

Defined in:
lib/bayonetta/exp.rb

#interpol(position, start, stop, key_index) ⇒ Object



47
48
49
50
51
52
53
54
55
56
# File 'lib/bayonetta/exp.rb', line 47

def interpol(position, start, stop, key_index)
  p_0 = get_p(key_index)
  p_1 = get_p(key_index + 1)
  m_0 = get_m1(key_index)
  m_1 = get_m0(key_index + 1)
  t = (value - start).to_f / (stop - start)
  t3 = t*t*t
  t2 = t*t
  (2 * t3 - 3 * t2 + 1)*p_0 + (t3 - 2 * t2 + t)*m_0 + (-2 * t3 + 3 * t2)*p_1 + (t3 - t2)*m_1
end