Реализации алгоритмов/Задача о принадлежности точки многоугольнику: различия между версиями
Содержимое удалено Содержимое добавлено
РоманСузи (обсуждение | вклад) перенесено из w:Задача о принадлежности точки многоугольнику |
РоманСузи (обсуждение | вклад) м оформление (нужно дооформить) |
||
Строка 6:
Алгоритм определяет точки границ многоугольника как точки, ему принадлежащие.
== Описание ==
Для того чтобы все результаты вычислений в программе могли быть представлены целочисленными переменными (манипулирование данными целого типа повышает быстродействие программы и является естественным для приложений компьютерной графики), вычисления и сравнения площадей треугольников заменяются вычислениями и сравнениями их удвоенных площадей. Тем самым исключается погрешность округления при программной реализации всего алгоритма, в целом.
Строка 107 ⟶ 108 :
Однако, стоит заметить, что данный алгоритм не эквивалентен предыдущему, поэтому его использование может привести к неправильным результатам.
<code>
my $x = -40; my $y = -60; # Проверяемая точка
Строка 131 ⟶ 132 :
</code>
<code>
type
Строка 155 ⟶ 156 :
</code>
<code>
var x = -40;
Строка 175 ⟶ 176 :
}
inPoly(x,y);</code>
На Python программа несколько отличается от других языков в сторону компактности из-за особенностей адресации элементов массива. Не нужны дополнительные переменные.
<code>
|