「がんばれない」けど「がんばりたい」

ITエンジニアの仕事のこと。AI、機械学習、ディープラーニング。地頭力。車のこと。

位置の計算について|ofZack week1 - 3

前回は、位置の計算をpercentageで指定して計算していたので、 毎時間による位置変化量は、一定でした。

ここに加速・原則のpropertyを追加。

pct…の値を指数(pctshaper)の形で計算することによって、 加速・減速の表現をつけてみる。

shaper=1:加速・減速なし shaper>1:加速 shaper<1:減速

ofVec2f myObject::interpolateByPct(float pct, float shaper)
{
  ofVec2f pos;

  // 指数計算を取り入れ移動に加速・減速を取り入れる
  float shapedPct = powf(pct, shaper);

  pos.x = (1.0 - shapedPct) * startPos.x + shapedPct * endPos.x;
  pos.y = (1.0 - shapedPct) * startPos.y + shapedPct * endPos.y;

  return pos;
}