Подогнать кривую по линии угла?

У меня есть две линии, которые начинаются и заканчиваются в случайных местах на экране и создают угол. Затем у меня есть объект следовать этим двум строкам. Однако на пересечении между первой и второй линиями объект быстро вращается, чтобы спуститься по второй линии. И я не хочу этого.

Поэтому я хочу создать изогнутую версию этой линии, в которой на пересечении будет больше буквы U, чем жесткий поворот. Я посмотрел на кривые бумаги и не могу найти, что это позволило бы мне создать U из V.

Извините за ужасные изображения... Я хочу взять один слева и сгенерировать один справа (те же точки начала, конца и пересечения). Другой пример, http://en.wikipedia.org/wiki/Curve_fitting

Есть идеи?

1 ответ

Решение

Вы должны взглянуть на http://en.wikipedia.org/wiki/Bezier_curve

Или просто http://upload.wikimedia.org/wikipedia/commons/thumb/2/2d/Bezier_2_big.gif/240px-Bezier_2_big.gif

Если координаты начальной / конечной точек двух линий известны, вы можете просто рассчитать кривую Безье, следуя методикам по ссылке выше.

Если нет (например, с растровым изображением, как то, что вы публикуете), вы можете сначала выполнить Hough Transform, чтобы извлечь координаты

Другие вопросы по тегам