Сплайны являются кусочными функциями по отношению к некоторой независимой переменной (обычно t
, хотя они, кажется, используют x
в коде, который вы связали).Поскольку конкретная функция, подлежащая оценке, зависит от контрольных точек, ближайших к входному значению t
, имеет смысл отсортировать контрольные точки по t
, чтобы можно было быстро определить функцию, которая должна быть оценена.
Однако даже если они не были отсортированы, вы все равно не могли бы создать круг с одним одномерным сплайном.Ваша сплайн-функция y = f(t)
дает вам только одно значение для любого заданного t
.Если вы строите график y
относительно t
и хотите окружность с радиусом 1 относительно начала координат, вам нужно, чтобы f(0)
равнялся 1
и -1
, что не имеет никакого смысла.
Чтобы получить что-то вроде круга, вместо этого вам нужен двухмерный сплайн или два сплайна;один для значения x
и один для значения y
.Если у вас есть эти две сплайн-функции f(t)
и g(t)
, вы просто оцените обе функции на одном и том же t
, и это даст вам значения x
и y
вашего сплайна для этого t
.