ВХОЖДЕНИЕ ТОЧКИ В ПОЛИГОН PHP
Вхождение точки в полигон - это одна из ключевых задач в области геоинформационных систем и картографии. В PHP такая задача может быть решена с помощью алгоритма Ray Casting. В этом алгоритме происходит проверка количества пересечений луча с каждым ребром полигона, и если это число нечётное, значит точка находится внутри полигона.
Приведём пример кода на PHP для определения вхождения точки в полигон:
function pointInPolygon($point, $polygon) {
    $vertices = count($polygon);
    $j = $vertices - 1;
    $oddNodes = false;
    for ($i = 0; $i < $vertices; $i++) {
        if (($polygon[$i][1] < $point[1] && $polygon[$j][1] >= $point[1] || $polygon[$j][1] < $point[1] && $polygon[$i][1] >= $point[1]) && ($polygon[$i][0] <= $point[0] || $polygon[$j][0] <= $point[0])) {
            if ($polygon[$i][0] + ($point[1] - $polygon[$i][1]) / ($polygon[$j][1] - $polygon[$i][1]) * ($polygon[$j][0] - $polygon[$i][0]) < $point[0]) {
                $oddNodes = !$oddNodes;
            }
        }
        $j = $i;
    }
    return $oddNodes;
}
В этом примере функция pointInPolygon принимает два аргумента: координаты точки в виде массива [$x, $y], и массив вершин полигона в формате [[$x1, $y1], [$x2, $y2], ..., [$xN, $yN]]. Функция возвращает значение true, если точка находится внутри полигона, и false в обратном случае.
Определение координат пользователя и проверка их вхождения в заданную область
Совершенно иной подход к математике [Veritasium]
Insert Form Data With Location Coordinates - HTML JavaScript PHP MySQL
Попадание точки в заданную область. Два сектора. Уроки программирования на С++.
ООП на PHP за 2 часа. Курс по PHP. Объектно ориентированное программирование на PHP
Алгоритмы. Попадание точки в треугольник
MapInfo. Полигон в полигоне. Железные дороги. Реки

















