Eigenで内積と外積を計算する

ベクトルを定義するときは

#include "../Eigen/Dense"

をインクルードして

Eigen::Vector3d x(1, 2, 3);

とすればベクトルが定義できるので、内積と外積を

x.dot(y)
x.cross(y)

で計算する。

実行結果

x->
1
2
3
y->
4
5
6

内積
32

外積
-3
 6
-3

ソースコード

#include <iostream>
#include "../Eigen/Dense"

int main() {
	Eigen::Vector3d x(1, 2, 3);
	Eigen::Vector3d y(4, 5, 6);

	std::cout << "x->" << std::endl;
	std::cout << x << std::endl;

	std::cout << "y->" << std::endl;
	std::cout << y << std::endl;

	std::cout << std::endl;

	std::cout << "内積" << std::endl << x.dot(y) << std::endl << std::endl;;
	std::cout << "外積" << std::endl << x.cross(y) << std::endl;
}

コメント

タイトルとURLをコピーしました