Интерполя Y-значение D3.Svg.line при заданном x-значении
-
26-10-2019 - |
Вопрос
Если у меня есть линия (возможно, с указанной интерполяцией сплайна), могу ли я извлечь интерполированное y-значение в заданное x-значение? Спасибо!
Решение
Это возможно, но для этого еще нет встроенного объекта. Все сплайны D3 реализованы как кусочно -квадратичные или кубические кривые Bézier (потому что они отнесены к элементам пути SVG). Вы можете использовать Алгоритм де Кастельжау Для вычисления XY-Коорнаты для данного параметра Т в [0,1].
Это немного сложнее вычислить у для данного Икс Потому что можно иметь несколько у значения для того же Икс, в зависимости от кривой. Для этого я рекомендую посмотреть на это Bézier Curves Primer который описывает алгоритм вычисления кривой пересечения; Это может быть упрощено для вертикальной линии (постоянная Икс).