B-样条曲线:闭曲线

B-样条曲线条:闭曲线

B-spline Curves: Closed Curves

                                                                                                                  

上一页开曲线               回目录                        下一页重要性质    

 

 

 

 

有许多方法来产生闭曲线。简单的一种就是或者wrapping控制点或者wrapping节点向量。

 

 

 

Wrapping控制点

假设我们想构建一个p次闭(closedB-样条曲线C(u),由n+1 控制点P0, P1, ..., Pn.定义。节点数目是m+1, 其中 m = n + p + 1. 这儿是构建过程:

  1. 设计一个均匀 m+1 个节点的节点序列:u0 = 0, u1 = 1/m, u1 = 2/m, ..., um = 1。注意曲线的定义域是 [up, un-p]. 详见开(open曲线的讨论。
  2. Wrapp 个和最后p 个控制点。更准确地,设P0 = Pn-p+1, P1 = Pn-p+2, ..., Pp-2 = Pn-1 and Pp-1 = Pn. 如下图所示。

 

构建的曲线在连接点处 C(up) = C(un-p)Cp-1 连续的。.

下面举个例子图 (a) 显示了一个由10n=9)个控制点和一个均匀节点向量定义的3次开(openB-样条曲线。在图中,控制点对7, 18, 以及29放置在相互靠近的地方来说明这个构建。图 (b) 显示了使得点07重叠的结果。 曲线的形状没有太大变化。那么,控制点18重叠如图(c)所示。很显然曲线的第一点和最后一点的间距更近了。最后曲线变成一个闭曲线当控制点29重叠后,如图(d)所示。

(a)

(b)

(c)

(d)

 

Wrapping 节点

另一种构建闭B-样条曲线的方法是wrapping节点。假设我们想要构建一个由n+1个控制点P0, P1, ..., Pn定义的p 次闭B-样条曲线C(u) 。构建过程如下:

  1. 增加一个新控制点 Pn+1 = P0.因此,控制点的数目是 n+2.
  2. 找到一个合适的有 n+1节点的节点序列u0, u1, ..., un 。这些节点不必要是均匀的,an advantage over the method discussed above
  3. 增加 p+2 个节点并 wrap p+2个节点: un+1 = u0, un+2 = u1, ..., un+p = up-1, un+p+1 = up, un+p+2 = up+1 ,如下图所示。这样,我们有n+p+2 = (n+1) + p + 1 个节点。
  4. 定义在上述构建的 n+1个控制点和n+p+2 个节点上的 p 次开B-样条曲线C(u)是一个闭曲线,在连接点处C(u0) = C(un+1)Cp-1 连续性。注意闭曲线的定义域是 [u0, un+1].

 

                                                                                                                  

 

上一页开曲线               回目录                        下一页重要性质     

 

                                                                                                                                  

译注:   

 

    1.  本文翻译是“B-样条曲线(B-spline Curves)教程”中的一部分,其余翻译部分见“B-样条曲线(B-spline Curves)教程目录”。
    2.  “B-样条曲线(B-spline Curves)教程”是翻译自C.-K. Shene博士的CS3621 Introduction to Computing with Geometry Notes的第6部分“B-spline Curves”。
    3. 本文原文地址:B-spline Curves: Closed Curves   。
    4. 本文首发“博士数学家园

 


  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Catmull-Rom样条曲线是一种数学插值曲线的方法,它常用于计算机图形学和计算机动画中。这种曲线的特点是平滑且自然,可以通过一组数据点来生成连续且曲线流畅的路径。 Catmull-Rom样条曲线的计算是基于组成曲线的数据点和一个参数t的插值公式。它通过使用当前点和其相邻两个点之间的信息来计算每个点处的曲线方向和形状。具体来说,对于给定的四个数据点P0、P1、P2和P3,曲线在P1和P2之间的t值范围内插值。这个t值是一个[0, 1]之间的参数,可以控制曲线的形状。通过改变t值,我们可以调整曲线的曲率和张力,从而得到不同样式的曲线。 Catmull-Rom样条曲线具有一些优点。首先,它是C2连续的,也就是说曲线在连接点处的一阶和二阶导数都是连续的,这使得曲线更加平滑。其次,曲线通过所有给定的数据点,这使得它们在表示路径时具有较好的准确性。此外,如果我们需要在曲线某个位置添加一个新的控制点,只需更新相邻的两个数据点即可,而不会对整条曲线产生明显的影响。 Catmull-Rom样条曲线在计算机图形学和动画中有广泛的应用。它常被用于生成平滑的曲线路径,如自由摄像机移动路径、动态物体轨迹等。此外,它还可以用于生成平滑的形状、曲面等。总之,Catmull-Rom样条曲线是一种非常有用的数学工具,可以在许多计算机图形学和动画应用中发挥重要作用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值