如何应用样条基矩阵?

1)我有一堆样条控制点,范围从P0到PN。 2)我有一个样条基矩阵。 在给定2个控制点索引和t值的情况下,如何应用基矩阵来获得插值位置? 现在我一直看到以下形式:
                [b00, b01, b02, b03] [p0]
                [b04, b05, b06, b07] [p1]
[t^3, t^2, t, 1][b08, b09, b10, b11].[p2]
                [b12, b13, b14, b15] [p3]
所以我假设p0等是我的控制点。我还假设这是每个组件(即x,y,z)。但是我完全不确定我正在用t值做什么。 有人能为我解释一下吗?我很可能只是个白痴:) 我正在使用C ++,并且有很多数学课,所以我宁愿不把数学扩展出来。了解正在发生的事情会更有用。     
已邀请:
是的,它是每个组件,所以每个p是一个数字。它们是四个连续控制点的x坐标(例如)。 你的矩阵事物只是三个矩阵的乘积:普通矩阵乘法。所以这是一个总和:t ^ 3.(b00.p0 + b01.p1 + ...)+ t ^ 2.(b04.p0 + b05.p1 + ...)+等等这是你给定值的坐标值of。 (当然,(t ^ 3表示t * t * t而不是C中的XOR 3)。 在样条的每个片段上,t的值范围通常为0到1。那么b值将使得一个段的t = 1处的值等于下一个段的t = 0处的值(因此不依赖于第一段的第一控制点或最后一个控制点)下一个)。     

要回复问题请先登录注册