Паскаль,
графическое программирование
- Найти площадь треугольника ABC.
- Найти площади треугольников ABX, BCX и ACX.
- Сравнить. Если площадь треугольника ABC равна сумме площадей ABX, BCX и
ACX, значит точка принадлежит треугольнику, иначе - нет.
Второй вариант несколько сложнее в
понимании. Смотрим рисунок "Теория. Вариант 2". Ситуация такая же: ABC -
треугольник, X - точка.
- Находим площадь треугольника ABC.
- Находим расстояние от точки X до каждой из вершин треугольника.
- Выбираем наименьшее из них. (В данном случае BX)
- Находим площадь треугольника с новой точкой вместо ближайшей. (Здесь XC)
- Сравниваем. Если площадь первого треугольника больше площади второго,
значит точка не принадлежит треугольнику, иначе - принадлежит.
По сложности реализации оба варианта
примерно одинаковы, но дело в том, что во втором варианте есть небольшой процент
неточности - когда точка лежит очень близко к грани треугольника, но не
принадлежит ему. Поэтому подробно рассмотрим только первый вариант.


Подробнее … Клуб программистов Delphi