放物線のタイミングファンクション
CATimingFu
落下のアニメーションをするためには、放物線 y = x^2 (以下 PB )を3次ベジエで近似する必要がある。
y = x で表される直線に平行な直線上に2つのコントロールポイント(以下 CP )を持つ3次ベジエで近似することにした場合、その座標の求め方は以下のとおり。
3次ベジエの以下の特性を利用する
t = 0 における接線は始点と1つめの CP がなす直線。
t = 1 における接線は終点と2つめの CP がなす直線。
このことから
PB の x = 0 における接線の方程式は y = 0 である。すなわち1つめの CP は X 軸上にある。
PB の x = 1 における接線の方程式は y = 2 x - 1 である。2つめの CP はこの式の上にある。
y = x に平行で PB に接する直線 y = x + n の n は x + n = x^2 の解が1つの時なので
y = x - 1/4
2つの CP がなす直線( L1 )が始点と終点がなす直線( L0 )と平行なとき、t = 1/2 のときに頂点が L1 - L0 の 3/4 の距離にあるという3次ベジエの性質から2つの CP がなす直線は
y = x - 1/3
これと y = 0 から1つめの CP は
( 1/3, 0 )
これと y = 2x - 1 から2つめの CP は
( 2/3, 1/3 )
なので、以下のように生成する。
[ CAMediaTim