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 |