四元数(クォータニオン)の計算やらなんやらができます.主に演算子オーバーロードの練習で作りました.温かい目で見てやってください.

Dependencies:   Vector3

Dependents:   Hybrid_main_FirstEdtion MadgwickFilter MadgwickFilter

Fork of Quaternion by Gaku Matsumoto

Revision:
6:0c20582087b1
Parent:
5:3c531c1f56cc
--- a/Quaternion.hpp	Wed Jun 07 00:57:58 2017 +0000
+++ b/Quaternion.hpp	Wed Oct 25 08:08:06 2017 +0000
@@ -23,16 +23,13 @@
 	*  @bref Vector3クラスからクォータニオンを作ります
 	*/
 	Quaternion(Vector3 vector){
-		w = 0.0;
-		x = vector.x;
-		y = vector.y;
-		z = vector.z;
+		set(vector);
 	}
 
 	/**
 	*  @bref   クォータニオンを回転軸と回転角度によって初期化します。
-	*  param   vec 回転軸となる3次元ベクトル
-	*  param   angle 回転角 [rad]
+	*  @param   vec 回転軸となる3次元ベクトル
+	*  @param   angle 回転角 [rad]
 	*/
 	Quaternion(Vector3 vec, double angle){
 		set(vec, angle);
@@ -230,6 +227,14 @@
 		val[2] = (atan2(2.0f * (x * y + w * z), q0q0 + q1q1q2q2 - q3q3));
 	}
 
+	/**
+	*  @bref  クォータニオンをVector3クラスに変換します
+	*  @note  クォータニオンのx,y,z成分を持ったベクトルを作ります
+	*/
+	Vector3 makeVector3(){
+		Vector3 vec3(x, y, z);
+		return vec3;	
+	}
 
 };