Я использую PIL, и у меня есть часть моего кода, который необходимо найти, какие точки находятся за пределами четырехугольника. Если у меня есть такие точки, как [(50, 20), (230, 40), (200, 190), (100, 200)]
, как я могу быстро заполнить все точки за пределами этой области черным?Найти все точки вне четырехугольника (не прямоугольник)
Я хочу функцию как addBorder(points, img)
, где addBorder([(50, 20), (230, 40), (200, 190), (100, 200)], Image.open('lenna.png'))
бы вернуться:
То, что я нашел до сих пор
This answer выглядел полезным, пока я не понял, что ссылка была мертва. Если кто-нибудь знает, если страница, связанная в этом ответе, все еще существует где-то в другом месте, мне бы очень хотелось ее увидеть. Я попробовал несколько алгоритмов, прежде чем понял, что они работают только для прямоугольников.
Может ли кто-нибудь мне помочь?
Любая точка либо находится между двумя отрезками линии, либо снаружи. Зная, что вы должны это понять. Это не сложная проблема. –
Страница, связанная с этим ответом, [архивируется здесь] (https://web.archive.org/web/20130125232758/http://wiki.processing.org/w/Find_which_side_of_a_line_a_point_is_on). – Kkelk