У меня есть массив с точками x,y из которых в дальнейшем строится график.

Мне нужно получить массив промежуточных точек (кубическую интерполяцию), чтобы получился плавный график.

Сразу скажу, что это не канвас.
Массив вида:
x: [1,3, 9, 27],
y: [5,12,22,35]
Тоесть от точки x1.y5 до точки x3.y12 мне нужно получить массив промежуточных точек.
Подскажите пожалуйста формулу на js, для получения интерполяции.