Интерполя Y-значение D3.Svg.line при заданном x-значении

StackOverflow https://stackoverflow.com/questions/8335759

  •  26-10-2019
  •  | 
  •  

Вопрос

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

Это было полезно?

Решение

Это возможно, но для этого еще нет встроенного объекта. Все сплайны D3 реализованы как кусочно -квадратичные или кубические кривые Bézier (потому что они отнесены к элементам пути SVG). Вы можете использовать Алгоритм де Кастельжау Для вычисления XY-Коорнаты для данного параметра Т в [0,1].

Это немного сложнее вычислить у для данного Икс Потому что можно иметь несколько у значения для того же Икс, в зависимости от кривой. Для этого я рекомендую посмотреть на это Bézier Curves Primer который описывает алгоритм вычисления кривой пересечения; Это может быть упрощено для вертикальной линии (постоянная Икс).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top