2次元平面上で2点を通る直線にある点がその直線上にあるか判定

image.png

点1 $(x_1,y_1)$ 点2 $(x_2,y_2)$ を通る直線上に点0 $(x_0,y_0)$ が存在するか

image.png

証明

相似で終わり

$$ (y_2-y_0) \times (x_0-x_1) = (y_0 -y_1) \times (x_2-x_1) $$

上記の式が成り立てばいい。

おまけ

この直線の方程式 $ax + by + c = 0$ について

$$ (y_1-y_2)x + (x_2-x_1)y +x_1y_2-x_2y_1 = 0 $$

ref.

https://atcoder.jp/contests/abc422/editorial/13820

https://youtu.be/6avGJo0gPSo?t=663

問題