Ejemplo n.º 1
0
 /// <summary>
 /// コンストラクタ
 /// </summary>
 /// <param name="x">X座標値</param>
 /// <param name="y">Y座標値</param>
 /// <param name="z">Z座標値</param>
 public Vector(double x, double y, double z)
 {
     Coord = new Vector3D(x, y, z);
 }
Ejemplo n.º 2
0
 /// <summary>
 /// コンストラクタ
 /// </summary>
 /// <param name="coord">方向ベクトル成分</param>
 public Vector(Vector3D coord)
 {
     Coord = coord;
 }
Ejemplo n.º 3
0
 /// <summary>
 /// ベクトルの外積を計算する
 /// </summary>
 /// <param name="v1">ベクトル</param>
 /// <param name="v2">ベクトル</param>
 /// <returns>外積されたベクトル</returns>
 public static Vector3D CrossProduct(Vector3D v1, Vector3D v2) =>
     new Vector3D(v1.Y * v2.Z - v1.Z * v2.Y, v1.Z * v2.X - v1.X * v2.Z, v1.X * v2.Y - v1.Y * v2.X);
Ejemplo n.º 4
0
 /// <summary>
 /// 値が等しいか判断する
 /// </summary>
 /// <param name="v">ベクトル</param>
 /// <returns>等しい場合にはtrue</returns>
 public bool Equals(Vector3D v) =>
     X == v.X && Y == v.Y && Z == v.Z;
Ejemplo n.º 5
0
 /// <summary>
 /// ベクトルとスカラーの割り算
 /// </summary>
 /// <param name="v">ベクトル</param>
 /// <param name="scalar">スカラー</param>
 /// <returns>割り算されたベクトル</returns>
 public static Vector3D Divide(Vector3D v, double scalar) =>
     new Vector3D(v.X / scalar, v.Y / scalar, v.Z / scalar);
Ejemplo n.º 6
0
 /// <summary>
 /// ベクトルの内積を計算する
 /// </summary>
 /// <param name="v1">ベクトル</param>
 /// <param name="v2">ベクトル</param>
 /// <returns>内積</returns>
 public static double DotProduct(Vector3D v1, Vector3D v2) =>
     v1.X * v2.X + v1.Y * v2.Y + v1.Z * v2.Z;
Ejemplo n.º 7
0
 /// <summary>
 /// ベクトルとスカラーの掛け算
 /// </summary>
 /// <param name="v">ベクトル</param>
 /// <param name="scalar">スカラー</param>
 /// <returns>掛け算されたベクトル</returns>
 public static Vector3D Multiply(Vector3D v, double scalar) =>
     Multiply(scalar, v);
Ejemplo n.º 8
0
 /// <summary>
 /// スカラーとベクトルの掛け算
 /// </summary>
 /// <param name="scalar">スカラー</param>
 /// <param name="v">ベクトル</param>
 /// <returns>掛け算されたベクトル</returns>
 public static Vector3D Multiply(double scalar, Vector3D v) =>
     new Vector3D(scalar * v.X, scalar * v.Y, scalar * v.Z);
Ejemplo n.º 9
0
 /// <summary>
 /// ベクトルの引き算
 /// </summary>
 /// <param name="v1">ベクトル</param>
 /// <param name="v2">ベクトル</param>
 /// <returns>引き算されたベクトル</returns>
 public static Vector3D Subtract(Vector3D v1, Vector3D v2) =>
     new Vector3D(v1.X - v2.X, v1.Y - v2.Y, v1.Z - v2.Z);
Ejemplo n.º 10
0
 /// <summary>
 /// ベクトルの足し算
 /// </summary>
 /// <param name="v1">ベクトル</param>
 /// <param name="v2">ベクトル</param>
 /// <returns>足し算されたベクトル</returns>
 public static Vector3D Add(Vector3D v1, Vector3D v2) =>
     new Vector3D(v1.X + v2.X, v1.Y + v2.Y, v1.Z + v2.Z);
Ejemplo n.º 11
0
 /// <summary>
 /// 2つのベクトルが等しいか判断する
 /// </summary>
 /// <param name="v1">ベクトル</param>
 /// <param name="v2">ベクトル</param>
 /// <returns>値が等しい場合にはtrue</returns>
 public static bool Equals(Vector3D v1, Vector3D v2) =>
     v1.Equals(v2);