1

У меня есть изображения, которые имеют сегменты линий, лучи и т. Д. Я представляю эти сегменты линии, используя Алгоритм Брешенема (означает, что любые координаты я получаю, используя этот алгоритм между двумя точками). Теперь я хочу выполнять операции, такие как поиск точки пересечения между двумя сегментами линии, поиск проекции одного вектора на другой и т. Д. Проблема в том, что я не работаю в непрерывном пространстве. Сегменты линии аппроксимируются с использованием алгоритма Брешенема.Операции геометрии координат в изображениях/дискретном пространстве

Итак, мне нужны предложения о том, какие наилучшие и эффективные способы сделать это? Также будет достаточно ссылки на библиотеку или реализацию C++. Пожалуйста, предложите также некоторые книги, посвященные таким проблемам.

ответ

1

Bresenham - это всего лишь способ растрировать геометрическую сущность и используется для предотвращения операций с плавающей запятой на пикселях. Ничто не мешает вам вернуться к аналитической геометрии, чтобы найти пересечения.

+0

Ya Я понимаю это, но говорю, что хочу найти пересечение между двумя линиями. Я найду точку по нормальной геометрии, но чтобы получить фактическую точку, я закругляю и закругляю ее и ищу ее, будь то одна из координат, аппроксимируемая методом бресенхама. Я знаю, как это сделать грубой силой. Мне просто нужны идеи об эффективных алгоритмах. – avd

+0

Я не помню специфику, но я уверен, что можно аналитически найти точный пиксель, с которым они пересекаются. Вам просто нужно быть осторожным с тем, как вы обходите и что считаете отправной точкой (как мне кажется, центром пикселя). Также обратите внимание, что две линии могут вообще не касаться, даже если они пересекаются. –

Смежные вопросы