Так что мне нужен метод записи для создания кривой между двумя точками, причем каждая точка имеет нормализованный вектор, указывающий в произвольном направлении. Я пытаюсь разработать такой метод, но не смог обернуть голову вокруг математики.Создание кривой между двумя точками, каждая с нормализованными векторами
Здесь, так как картинка стоит тысячи слов, это то, что мне нужно:
В картине, векторы перпендикулярны красной линии. Я считаю, что векторы нужно взвешивать одинаково с весом, эквивалентным расстоянию между точками. Это должно быть так, что, когда две точки находятся сверху друг друга, указывая в противоположных направлениях, все равно все выглядит как одна гладкая кривая (верхняя кривая на рисунке). Кроме того, мне нужно интегрировать кривые, чтобы найти их длины. Я не знаю, почему я не мог придумать, как рассчитать все это, но я этого не сделал.
Также я использую csharp, язык не имеет большого значения.
Касательная диаграмма? –
Любой язык в частности? – Will
Возможно, вам нужна кубическая кривая Безье. IIRC, он не имеет (общего) решения закрытой формы для длины дуги, но числовых методов должно быть достаточно. –