Интерполировать y-значение d3.svg.line при заданном x-значении - PullRequest
1 голос
/ 01 декабря 2011

Если у меня есть строка (возможно, с определенной сплайн-интерполяцией), могу ли я извлечь интерполированное значение y для данного значения x? Спасибо!

1 Ответ

1 голос
/ 17 января 2012

Возможно, но пока нет встроенного средства для этого. Все сплайны D3 реализованы в виде кусочно-квадратичных или кубических кривых Безье (потому что они отображаются в элементах пути SVG). Вы можете использовать алгоритм де Кастеляу для вычисления xy -координат для заданного параметра t в [0,1].

Немного сложнее вычислить y для данного x , потому что возможно иметь несколько значений y для одного и того же x в зависимости от кривой. Для этого я рекомендую взглянуть на этот учебник по кривым Безье , который описывает алгоритм для вычисления пересечения линии кривой; это можно упростить для вертикальной линии (константа x ).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...