Interpolazione valore y di una d3.svg.line ad un dato valore x
-
26-10-2019 - |
Domanda
Se ho una linea (possibilmente con qualche spline interpolazione specificato), posso estrarre il valore y interpolato in corrispondenza di un dato valore x? Grazie!
Soluzione
E 'possibile, ma non c'è ancora un built-in struttura per farlo. Tutti scanalature di D3 sono implementati come quadratica a tratti o curve di Bezier cubiche (perché sono resi a elementi di percorso SVG). È possibile utilizzare de algoritmo di Casteljau per calcolare il xy -coordinates per un dato parametro t in [0,1].
È un po 'più difficile da calcolare y per un dato x perché è possibile avere più y valori per lo stesso x , a seconda della curva. Per questo, vi consiglio di guardare questo curve Bézier Primer che descrive un algoritmo per calcolare un incrocio curva-line ; questo potrebbe essere semplificato per una linea verticale (costante x ).