作者sjgau (sjgau)
看板Fortran
标题Re: [问题] 为什麽要spline?
时间Wed Sep 10 17:46:37 2008
如果你学过 应力,材力,那就很好解释了。
cubic spline 的发明者,好像是 汽车工业,
造船工业或是 飞机工业的人,
他每天都使用 大型的蛇尺在划曲线。
所以,他就帮蛇尺建立数学模式,
去联立求解相邻两个 控制点之间的
三次函数。
cubic spline 的意思,就是这麽来的。
y= a*(x^3) + b*(x^2) + c*x + d
如果有 十个控制点,就有九个 y=f(x) 的方程式,
因为是 三次式,所以 他的一次和 二次导函数都会连续,
符合 产生出来的曲线,斜率和 转弯半径都要连续的 需求。
另外,为了避免 y= f(x) 在 y' 太大的地方 失真的问题产生,
建议采用 参数方程式,
y= f(x) -->
x= t(x),
y= t(y)
※ 引述《mystea (mystea)》之铭言:
: 因为看到版规上说关於科学计算的问题可以讨论,
: 所以我的fortran版首波就献给spline interpolation啦~
: 问题很简单: spline interpolation到底是哪里好呢?
: 我知道用了spline -- 一阶导数连续. 但是一阶导数连续
: 又怎样呢? 何况一阶导数连续的interpolation function也不是唯一的阿...
: (比方说一个经过每一个点的超高阶polynomial)
: 总之, 在我们使用spline时, 被後市不是有一套没说出来的思想架构呢???
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.231.2.35