Re[3]: Найти количество точек лежащих внутри 2D фигуры
От: watchmaker  
Дата: 19.11.14 01:37
Оценка:
Здравствуйте, m1st, Вы писали:

M>Здравствуйте, watchmaker, Вы писали:

W>>Быстрое решение — через ориентированную площадь, наименьший общий делитель и теорему Пика.
M>Можно подробнее?
А что именно не ясно?
Есть равенство В + Г/2 − 1 = П. В нём В — это что тебе по условию задачи требуется найти. Если перенести слагаемые из одной части уравнения в другую, то получится В = -Г/2 + 1 + П — собственно всё, осталось только сложить три числа :)
Ориентированная площадь считается за один проход по точкам. Обычная площадь — её модуль.
Число точек на границе считается для каждого отрезка, коих N, например, алгоритмом Евклида. Что, если сильно не повезёт, в худшем случае будет работать за логарифмическое время от его длины.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.