Есть некоторая ломаная кривая, заданная в виде набора точек. Пытаюсь придумать алгоритм вставки новой точки в эту кривую. Никак не могу придумать как мне определить позицию вставки.
Первая мысль была рассматривать треугольники, которые образует новая точка и пара существующих соседних точек, и выбирать треугольник с наименьшим периметром. Однако для такого случая алгоритм сочтет нужным вставить новую точку между первой и второй. Хотя вторая и третья явно подходят лучше.
Так же думал рассматривать те же треугольники, и выбирать с наименьшей высотой. Но и тут алгоритм в определенных ситуациях будет работать неправильно. Например тут
алгоритм выберет позицию между точками 3 и 4, вмето 1 и 2.
Чтобы исключить такие случаи, решил рассматривать только треугольники с острыми углами у основания. Но и тут нашлись исключения.
Оба треугольника-кандидата имеют тупые углы у основания.
Вообщем я в тупике. Наверняка у этой проблемы есть какое-то решение, ну или хотя бы название которое можно загуглить. Ведь пишут же люди всякие автокады и тому подобное.
Я бы рассмотрел условие минимального изменения длины ломаной после вставки точки как основное.
Только надо решить, смотреть ли на абсолютное увеличение длины, или по отношению к тому сегменту, который заменяется на два.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Откомпилировал и инсталлировал ActiveMQ-cpp на стороннем устройстве (ARM'e)Запустил на нем бинарные файлы примеров; они работают
Только начал изучение данного вопросаНа данный момент нужно просто проверить актуальность пароля SIP-аккаунта