自分でベクトルを設計しよう(その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); }