3点が一直線上にあるための条件は、2点を通る直線上にもう1つの点が存在することです。
まず、P1(x1,y1)とP2(x2,y2)を通る直線の方程式を求めます。 直線の傾きは、
m=x2−x1y2−y1 であり、直線の方程式は
y−y1=m(x−x1) と表せます。これを整理すると、
y−y1=x2−x1y2−y1(x−x1) (y−y1)(x2−x1)=(y2−y1)(x−x1) (y−y1)(x2−x1)−(y2−y1)(x−x1)=0 y(x2−x1)−y1(x2−x1)−y2(x−x1)+y1(x−x1)=0 x(y1−y2)+y(x2−x1)+(x1y2−x2y1)=0 この直線上にP3(x3,y3)があるためには、xとyにそれぞれx3とy3を代入したときに等式が成り立つ必要があります。 x3(y1−y2)+y3(x2−x1)+(x1y2−x2y1)=0 x1(y2−y3)+x2(y3−y1)+x3(y1−y2)=0 この式を行列式で表すと、
x1x2x3y1y2y3111=x1(y2−y3)−y1(x2−x3)+(x2y3−x3y2)=x1y2−x1y3−y1x2+y1x3+x2y3−x3y2 一方、x1(y2−y3)+x2(y3−y1)+x3(y1−y2) を整理すると、 x1y2−x1y3+x2y3−x2y1+x3y1−x3y2 これは上記で行列式を展開した結果と等しいです。
したがって、3点が一直線上にあるための必要十分条件は、行列式が0になることです。