OpenGL - Hermite算法多点画光滑曲线

本文介绍如何使用OpenGL结合Hermite算法解决多点间的光滑曲线连接问题。通过高斯消元法求解中间点的切矢,确保曲线平滑。程序允许用户通过拖动控制点调整曲线形状,通过放大端点切矢增强视觉效果。
摘要由CSDN通过智能技术生成

本来以为矩阵求方程是最难的,没想到写个高斯消元一下就解决了,十分钟就写完了解方程的部分。然后花了将近四个小时查bug(QAQ)


说一下算法思路:
根据上一篇博客(传送门:点击打开链接),我们可以根据两点用Hermite算法绘制三次曲线。但是考虑多点问题时,光滑连接就是主要问题了,如果我们能求出中间点的切矢,那么就可以两两点绘制了。
所以我们的主要问题就是求出中间点的切矢。

我们知道,中间点和其左右点的光滑连线上,法向量应该是相等的,所以我们利用这一点列出两个方程,然后把 P′′mid 消去,最后得到一个方程:(一撇表示切矢,两撇表示法矢)

Pi1+4Pi+Pi+1=3(Pi+1Pi1)

然后我们利用这个公式,可以得到矩阵:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值