16章 計算幾何学 (続き4)
続いてVector関連の定義
このへんも普通の関数で書いてある
関数として書くかPointクラスのメソッドとして書くか
a.dot(b)
とdot(a, b)
とどっちが雰囲気出るか
普通の関数として書いたほうがいい感じかなあ
クラスの外に飛び出すのが気になるし
関数名がかぶらないようにしないといけないけど
型ヒントつけてもオーバーロードできるわけじゃないだろうしなあ
というわけで
def dot(a: Point, b: Point) -> float:
return a.x * b.x + a.y * b.y
def cross(a: Point, b: Point) -> float:
return a.x * b.y - a.y * b.x
あ、importする項目が増えるっていうのもあるか
まあ困ったらクラスに入れよう