自分でベクトルを設計しよう(その2)

■前回のソース説明の残り部分を説明したいと思います。
外積

 public static float operator *(Vec2 vec1, Vec2 vec2)
 {
     return (vec1.X * vec2.Y - vec1.Y * vec2.X );
 }

内積

 public static float operator %(Vec2 vec1, Vec2 vec2)
 {
     return (vec1.X * vec2.X + vec1.Y * vec2.Y);
 }

■忘れてはいけないイコールル
ちゃんとイコールの部分を書きましょう、中途半端に一部しか書かないと、エラーになりますので注意してください。

 public override bool Equals(System.Object obj)
 {
     if (obj == null)
         return false;
      Vec2 p = obj as Vec2;
     if ((System.Object)p == null)
         return false;
      return (X == p.X) && (Y == p.Y);
 }
 public override int GetHashCode()
 {
     return base.GetHashCode();
 }
 public static bool operator ==(Vec2 p1, Vec2 p2)
 {
     return p1.Equals(p2);
 }
 public static bool operator !=(Vec2 p1, Vec2 p2)
 {
     return !p1.Equals(p2);
 }