3次元ベクトルクラスVector3ライブラリです。

Dependents:   Quaternion HAPS_GPS_Test_0002 GYSFDMAXB HAPS_EKF ... more

Revision:
1:8e112552bdfc
Parent:
0:deef87aa67a3
Child:
2:33c104711999
Child:
3:3d5d3689521c
--- a/Vector3.hpp	Wed Jun 07 00:56:18 2017 +0000
+++ b/Vector3.hpp	Fri Jun 09 19:54:15 2017 +0000
@@ -24,7 +24,7 @@
 	double z;
 
 	/**
-	*  @bref ‚RŽŸŒ³ƒxƒNƒgƒ‹‚Ì—v‘f‚ðƒRƒs[
+	*  @bref 3次元ベクトルの要素をコピー
 	*/
 	Vector3 operator=(Vector3 vector){
 		x = vector.x;
@@ -33,7 +33,7 @@
 		return *this;
 	};
 
-	/** ‚RŽŸŒ³ƒxƒNƒgƒ‹‚ð‘«‚µ‚Ä‘ã“ü‚·‚é*/
+	/**3次元ベクトルを足して代入する
 	Vector3 operator+=(Vector3 vec){
 		x += vec.x;
 		y += vec.y;
@@ -41,7 +41,7 @@
 		return *this;
 	};
 
-	/** ‚RŽŸŒ³ƒxƒNƒgƒ‹‚ðˆø‚¢‚Ä‘ã“ü‚·‚é*/
+	/**3次元ベクトルを引いて代入する*/
 	Vector3 operator-=(Vector3 vec){
 		x -= vec.x;
 		y -= vec.y;
@@ -49,7 +49,7 @@
 		return *this;
 	};
 
-	/** ‚RŽŸŒ³ƒxƒNƒgƒ‹‚ðŠOÏ‚µ‚Ä‘ã“ü‚·‚é*/
+	/**3次元ベクトルを外積して代入する*/
 	Vector3 operator*=(Vector3 vec){
 		double _x = y*vec.z - z*vec.y;
 		double _y = z*vec.x - x*vec.z;
@@ -80,20 +80,20 @@
 		return true;
 	}
 	/**
-	*  @bref Vector3ƒNƒ‰ƒX‚ÌŠe—v‘f‚ð‰Šú‰»‚µ‚Ü‚·B
+	*  @bref Vector3クラスの各要素を初期化します。
 	*/
 	template<typename T>void set(T _x, T _y, T _z);
 
 	/**
-	*  @bref ‚Q‚‚ÌVector3ƒNƒ‰ƒX‚Ì‚È‚·Šp‚ðŒvŽZ‚µ‚Ü‚·.
-	*  @param Ž©•ª‚Æ‚Ì‚È‚·Šp“x‚ðŒvŽZ‚·‚éVector3ƒNƒ‰ƒX‚̃Cƒ“ƒXƒ^ƒ“ƒX
+	*  @bref 2つのVector3クラスのなす角を計算します.
+	*  @param 自分とのなす角度を計算するVector3クラスのインスタンス
 	*/
 	double Angle(Vector3 v);
 
 	/**
-	*  @bref ƒ[ƒƒxƒNƒgƒ‹‚©‚Ç‚¤‚©”»’肵‚Ü‚·.
-	*  @note 0œ–@‚ð–hŽ~‚·‚é‚Ì‚ÉŽg‚Á‚Ä‚­‚¾‚³‚¢.
-	*  @return 1‚È‚çƒ[ƒƒxƒNƒgƒ‹A0‚È‚çƒ[ƒƒxƒNƒgƒ‹‚Å‚Í‚ ‚è‚Ü‚¹‚ñ.
+	*  @bref ゼロベクトルかどうか判定します.
+	*  @note 0除法を防止するのに使ってください.
+	*  @return 1ならゼロベクトル、0ならゼロベクトルではありません.
 	*/
 	int CheckZero(){
 		if (x == 0.0 && y == 0.0 && z == 0.0){
@@ -103,12 +103,12 @@
 	}
 
 	/**
-	*  @bref Ž©g‚̃mƒ‹ƒ€‚ðŒvŽZ‚µ‚Ä•Ô‚µ‚Ü‚·.
+	*  @bref 自身のノルムを計算して返します.
 	*/
 	double Norm();
 
 	/**
-	*  @bref  ’PˆÊƒxƒNƒgƒ‹‚É‚µ‚Ü‚·
+	*  @bref  単位ベクトルにします
 	*/
 	void Normalize(){
 		double norm = sqrt(x*x + y*y + z*z);
@@ -125,7 +125,7 @@
 };
 
 /**
-*  @bref Vector3ƒNƒ‰ƒX‚ÌŠe—v‘f‚̘a‚ðŒvŽZ‚µ‚Ü‚·B
+*  @bref Vector3クラスの各要素の和を計算します。
 */
 inline Vector3 operator+(Vector3 left, Vector3 right){
 	static Vector3 vec;
@@ -136,7 +136,7 @@
 }
 
 /**
-* @bref Vector3ƒNƒ‰ƒX‚ÌŠe—v‘f‚̍·‚ðŒvŽZ‚µ‚Ü‚·B
+* @bref Vector3クラスの各要素の差を計算します。
 */
 inline Vector3 operator-(Vector3 left, Vector3 right){
 	static Vector3 vec;
@@ -147,8 +147,8 @@
 }
 
 /**
-*  @bref Vector3ƒNƒ‰ƒX‚ÌŠOÏ‚ðŒvŽZ‚µ‚Ü‚·.
-*  @note ŠOÏ‚Å‚·‚̂ŏ‡˜‚É’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢.
+*  @bref Vector3クラスの外積を計算します.
+*  @note 外積ですので順序に注意してください.
 */
 inline Vector3 operator*(Vector3 left, Vector3 right){
 	static Vector3 vec;
@@ -159,15 +159,15 @@
 }
 
 /**
-*  @bref “àÏ‚ðŒvŽZ‚µ‚Ü‚·
-*  @note ƒhƒbƒg‚ªŽg‚¦‚È‚©‚Á‚½‚̂Ł“‚É‚È‚è‚Ü‚µ‚½B‹–‚µ‚ăqƒ„ƒVƒ“ƒX
+*  @bref 内積を計算します
+*  @note ドットが使えなかったので%になりました。許してヒヤシンス
 */
 inline double operator%(Vector3 left, Vector3 right){
 	return (left.x * right.x + left.y * right.y + left.z * right.z);
 }
 
 /**
-*  @bref Vector3ƒNƒ‰ƒX‚ÌŠe—v‘f‚ðƒXƒJƒ‰[”{‚µ‚Ü‚·
+*  @bref Vector3クラスの各要素をスカラー倍します
 */
 inline Vector3 operator*(double scalar, Vector3 vec3){
 	static Vector3 vec;
@@ -178,7 +178,7 @@
 }
 
 /**
-*  @bref Vector3ƒNƒ‰ƒX‚ÌŠe—v‘f‚ðƒXƒJƒ‰[”{‚µ‚Ü‚·
+*  @bref Vector3クラスの各要素をスカラー倍します
 */
 inline Vector3 operator*(Vector3 vec3, double scalar){
 	static Vector3 vec;
@@ -189,7 +189,7 @@
 }
 
 /**
-*  @bref Vector3ƒNƒ‰ƒX‚ÌŠe—v‘f‚ðƒXƒJƒ‰[‚ÅŠ„‚è‚Ü‚·
+*  @bref  Vector3クラスの各要素をスカラーで割ります
 */
 inline Vector3 operator/(Vector3 vec3, double scalar){
 	static Vector3 vec;