kb84tkhrのブログ

何を書こうか考え中です あ、あと組織とは関係ないってやつです 個人的なやつ

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する項目が増えるっていうのもあるか
まあ困ったらクラスに入れよう