在给定的x值处插值d3.svg.line的y值

时间:2011-12-01 02:11:32

标签: javascript svg d3.js

如果我有一条线(可能指定了一些样条插值),我可以在给定的x值中提取插值的y值吗?谢谢!

1 个答案:

答案 0 :(得分:1)

这是可能的,但目前还没有内置的设施。所有D3的样条曲线都实现为分段二次或三次Bézier曲线(因为它们被渲染为SVG路径元素)。您可以使用de Casteljau's algorithm来计算[0,1]中给定参数 t xy - 坐标。

为给定的 x 计算 y 有点困难,因为对于相同的 x,可能有多个 y ,取决于曲线。为此,我建议查看此Bézier curves primer,其中描述了计算曲线交叉点的算法;这可以简化为垂直线(常量 x )。