我的问题是即时通讯使用三次样条,但我得到这个错误,试图图形的比赛电路
raise ValueError(“x
must be strictly increasing sequence.”)ValueError:x
must be strictly increasing sequence.
所以我的一个问题是,我怎么做,而不使用递增序列?
我希望创建我的比赛电路只使用三次样条,但我看到我不能这样做,只有2个数组的坐标(x,y)。
我的问题是即时通讯使用三次样条,但我得到这个错误,试图图形的比赛电路
raise ValueError(“x
must be strictly increasing sequence.”)ValueError:x
must be strictly increasing sequence.
所以我的一个问题是,我怎么做,而不使用递增序列?
我希望创建我的比赛电路只使用三次样条,但我看到我不能这样做,只有2个数组的坐标(x,y)。
1条答案
按热度按时间jtjikinw1#
三次样条方法需要对样本的独立坐标进行排序,一种选择是将
x
和y
作为t
的函数进行参数化,使得t
严格递增。(想想t
是在二维或三维中对任意光滑曲线进行时间参数化的)。只需创建一个新数组t = sorted array of the size of x that covers the range [0, 1]
,并获得两个插值,一个用于t, x
,一个用于t, y
。如果您准备好迎接挑战,请查看Bezier曲线的立方版本以获得更多灵感:https://en.wikipedia.org/wiki/B%C3%A9zier_curve