Используйте точечное произведение. Пусть a, b, c - три точки. Если все три точки лежат на одной прямой, то вектор b-a и вектор c-a будут иметь точечное произведение | b-a || c-a |.
Это связано с тем, что cos (angle (bac)) = точка (b-a, c-a) / (mag (b-a) * mag (c-a)). Если они коллинеарны, то угол равен нулю. Косинус для нуля равен единице, поэтому
точка (б-а, с-а) == МАГ (б-а) * МАГ (с-а)
означает, что они коллинеарны.
Если ваши навыки линейной алгебры ржавые или отсутствуют, то вот освежающий курс
dot(w,v) = w.x*v.x + w.y*v.y
mag(v)=sqrt(v.x*v.x + v.y*v.y)
Хитрость в том, чтобы как-то удалить дорогостоящую функцию квадратного корня. Выравнивая обе стороны, вы получаете
mag^2(v)=v.x*v.x+v.y*v.y
cos^2(0)=1^2=1
dot^2(w,v)=(w.x*v.x + w.y*v.y)*(w.x*v.x + w.y*v.y)
просто сделайте проверку
if( (v.x*v.x + v.y*v.y)*(w.x*w.x + w.y*w.y)) == (w.x*v.x + w.y*v.y)*(w.x*v.x + w.y*v.y) )