Я испытываю аналогичную проблему в 3D. Это немного проще в 2D, потому что линии всегда пересекаются, если не параллельны.
Во-первых, прочитайте квадратичные кривые Безье. Каждая кривая представлена тремя точками. Линия не пройдет через среднюю точку. Таким образом, ваша средняя точка не может быть одной из тех точек, которые вы пытаетесь приспособить, или она не пройдет через нее.
Вместо этого начальная и конечная точки вашей квадратичной кривой безье должны быть двумя последовательными точками, которые вы хотите пройти. Итак, какова будет ваша средняя точка?
Один из способов решения этой проблемы (никогда не пробовал сам ХЕНС, это может показаться не совсем идеальным, но Im, думая, что с моей головы), заключается в том, чтобы вычислить касательные от вашей -1-й точки данных до вашей 0-й точки данных и найти пересечение между ними и 1-й точкой данных ко второй точке данных. Затем проведите линию между 0-й точкой данных и 1-й точкой данных, используя это пересечение в качестве значения кривой среднего безье.
Очевидно, что у вас могут возникнуть проблемы на концах кривых, что может потребовать некоторого изобретательского мышления, чтобы они выглядели хорошо. (первая точка не имеет -1-й точки).
Извините за отсутствие диаграмм. Я бы нарисовал один, но я на iPad.
Какие рамки вы используете? – 2010-07-28 20:43:31
Я использую кварц. – SpaceDog