bambooflow Note

2つのベクトルの角度差

最終更新:

bambooflow

- view
メンバー限定 登録/ログイン

2つのベクトルの角度差


2つの3次元ベクトルa, bがあるとき角度差(0-180度)を求める。
手順は次のとおり。
  1. ベクトルaを正規化
  2. ベクトルbを正規化
  3. aとbの内積を求める
  4. 内積をacosした結果を角度差として取得

#include <stdio.h>
#include <glm/glm.hpp>
 
int main(int argc, char* argv[])
{
  glm::vec3 a(2.0, 0.0, 0.0);
  glm::vec3 b(0.0, 5.0, 0.0);
 
  a = glm::normalize(a);
  b = glm::normalize(b);
 
  double dot = glm::dot( a, b );
  double angle = glm::acos(dot) * 180.0 / M_PI;
 
  printf( "angle=%f\n", angle );
  return 0;
}
 
記事メニュー
目安箱バナー