• R/O
  • SSH
  • HTTPS

project200805us: コミット


コミットメタ情報

リビジョン3203 (tree)
日時2016-12-12 04:55:23
作者hogepiyo

ログメッセージ

math

変更サマリ

差分

--- ProjectFrom200805/HPLLib/src/hpllib/action/HPLActionMoveTool.h (revision 3202)
+++ ProjectFrom200805/HPLLib/src/hpllib/action/HPLActionMoveTool.h (revision 3203)
@@ -301,6 +301,8 @@
301301 // チェックポイントを取得
302302 HPLVector getEdgeDown(HPLRect& rHitArea, int nFaceDir);
303303 void adjustToBlock(HPLShootingObject* lpObject, int TILE_SIZE);
304+
305+
304306 }
305307
306308 #endif
--- ProjectFrom200805/HPLLib/src/hpllib/math/HPLMath.cpp (revision 3202)
+++ ProjectFrom200805/HPLLib/src/hpllib/math/HPLMath.cpp (revision 3203)
@@ -640,3 +640,19 @@
640640 }
641641 }
642642 }
643+
644+/** 最初の角度と目的までの距離から、必要な速度を計算
645+*/
646+float HPLMath::getSpeedFromDistanceAndDeg(float fDistance, float fDeg, float fMinVel, float fGravity) {
647+ float fVal = fGravity * fDistance / (2 * HPLMath::getTableSin(fDeg) *HPLMath::getTableCos(fDeg));
648+ fVal = fabs(fVal);
649+ if (fVal <= 0){
650+ if (fMinVel <= 0){
651+ return 0;
652+ }
653+ fVal = fMinVel;
654+ }
655+ float fSpeed = sqrt(fVal);
656+ return fSpeed;
657+}
658+
--- ProjectFrom200805/HPLLib/src/hpllib/math/HPLMath.h (revision 3202)
+++ ProjectFrom200805/HPLLib/src/hpllib/math/HPLMath.h (revision 3203)
@@ -303,6 +303,11 @@
303303
304304 // ランダムな順番を作成
305305 void getRandomIndexes(vector<int>& vecIndexes, int nNum);
306+
307+ /** 最初の角度と目的までの距離から、必要な速度を計算
308+ * @param[in] fMinVel 速度が0の場合、(エラーになるので)必要な最低速度を設定。0の場合、0のときに0を返す
309+ */
310+ float getSpeedFromDistanceAndDeg(float fDistance, float fDeg, float fMinVel, float fGravity);
306311 }
307312
308313 /*
旧リポジトリブラウザで表示