Показать сообщение отдельно
  #14 (permalink)  
Старый 31.05.2016, 20:06
Аватар для EmperioAf
Профессор
Отправить личное сообщение для EmperioAf Посмотреть профиль Найти все сообщения от EmperioAf
 
Регистрация: 15.01.2015
Сообщений: 622

Сообщение от Rise Посмотреть сообщение
рони, наверное лучше без деления обойтись, а то неточные вычисления могут получиться при сравнении.
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;
Спасибо! Добавил в код.
Я вообще думал добавить проверку на точки на одной прямой, но вспомнил, что в школе нам говорили что 3 точки на одной прямой тоже образуют треугольник; но у него один угол равен 180 градусов, а остальные два по нулям.
Ответить с цитированием