3 точки коллинеарны в 2-м измерении

Я пытаюсь проверить, когда 3 точки (двойные) коллинеарны в 2-D. я нашел различные функции Паскаля, возвращающие истину, если это проверено; эти функции используют целое число для указания координат X и Y. Мне нужен более точный расчет по крайней мере, до первых 3 цифр десятичной части X и Y, выраженных как двойной тип. Кто может мне с этим помочь?

Я нашел эту функцию:

function Collinear(x1, y1, x2, y2, x3, y3: Double): Boolean;
begin
  Result := (((x2 - x1) * (y3 - y1) - (x3 - x1) * (y2 - y1)) = 0);
end;

Но я думаю, что вычисление никогда не будет 0. Следует ли мне использовать что-то подобное?

function Collinear(x1, y1, x2, y2, x3, y3: Double): Boolean;
begin
  Result := (((x2 - x1) * (y3 - y1) - (x3 - x1) * (y2 - y1)) < 0.01);
end;
7
задан Rob Kennedy 15 February 2011 в 21:15
поделиться