Нахождение точки на кривой Безье при задании расстояние от начальной точки?

Я создал 4-точечную кривую Безье и расстояние. Начиная с начальной точки, как мне найти координаты x, y точки, которая находится на таком расстоянии от начальной точки?

Я просмотрел другие примеры, и, насколько я могу судить, они аппроксимируют значения, деля кривую на несколько тысяч точек, а затем находя ближайшую точку. У меня это не сработает. В том, что я делаю, я хотел бы быть точным только до двух десятичных знаков. Ниже приведена простая форма того, что мне нужно для создания кривой Безье. (Значения y произвольны, значения x всегда находятся на расстоянии 352 пикселя). Если важно, я работаю на Java.

path.moveTo(0, 400);
path.curveTo(352, 480, 704, 590, 1056, 550);

Итак, если моя начальная точка равна 0,400, как мне найти координаты точки, которая находится на расстоянии 35 км от этой начальной точки (вдоль кривой)? (В идеале что-то, не требующее интенсивного использования процессора. Это может закончиться тем, что придется запускать 200 раз в секунду)

8
задан Peter O. 18 October 2011 в 02:31
поделиться