рони, наверное лучше без деления обойтись, а то неточные вычисления могут получиться при сравнении.
if ((points[i]["x"] - points[k]["x"]) *
(points[j]["y"] - points[k]["y"]) -
(points[j]["x"] - points[k]["x"]) *
(points[i]["y"] - points[k]["y"]) == 0) continue;