原理
法線ベクトル
以上のURLを参考に次の進行方向を求めるための計算式を書いてみましたが、思っていたより違う結果が出てきました。
自分が書いたベクトルの計算式はどこが間違っているか教えてください。
今回はY軸は考慮していませんので0.0です。
C++
1 float a = 2.0, b = 4.0, c = 8.0; // ax+by+c=0の直線 2 glm::vec3 cc = glm::vec3(1.0, 0.0, 2.0); // 衝突1フレーム前の座標 3 glm::vec3 ss = glm::vec3(2.0, 0.0, 3.0); // 衝突時フレームの座標 4 glm::vec3 f = cc - ss; // 方向(進行)ベクトルを算出 5 glm::vec3 n = glm::vec3(a, 0.0, b); // 法線ベクトルが(a,b)らしいのでvec3で表す 6 float dot = glm::dot(f, n); // 内積を求める 7 glm::vec3 w = f-dot*n; // 計算式に照らし合わせる 8 9 cout << w[0] <<"/"<< w[1] <<"/"<< w[2] << endl; // 11/0/23 おろ?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/12/25 11:01 編集