本来以为矩阵求方程是最难的,没想到写个高斯消元一下就解决了,十分钟就写完了解方程的部分。然后花了将近四个小时查bug(QAQ)
说一下算法思路:
根据上一篇博客(传送门:点击打开链接),我们可以根据两点用Hermite算法绘制三次曲线。但是考虑多点问题时,光滑连接就是主要问题了,如果我们能求出中间点的切矢,那么就可以两两点绘制了。
所以我们的主要问题就是求出中间点的切矢。
我们知道,中间点和其左右点的光滑连线上,法向量应该是相等的,所以我们利用这一点列出两个方程,然后把 P′′mid 消去,最后得到一个方程:(一撇表示切矢,两撇表示法矢)
P′i−1+4P′i+P′i+1=3(Pi+1−Pi−1)
然后我们利用这个公式,可以得到矩阵:
⎡⎣⎢⎢⎢⎢⎢⎢