Knot Vectors

简介: 在前面的章节中,我提到过节点矢量有两种类型:open和periodic。还分为均匀的和非均匀的。我将对此进和详细讲解,并推出它们所表示的基函数。我只给出k次基函数,当然你也可以根据需要推导出低次基函数。

在前面的章节中,我提到过节点矢量有两种类型:open和periodic。还分为均匀的和非均匀的。我将对此进和详细讲解,并推出它们所表示的基函数。我只给出k次基函数,当然你也可以根据需要推导出低次基函数。本节中的每张图片都是由本章程序所产生的。在本章的结尾,我将会对显示任意次数的基函数进行解释。

Open节点矢量推导出的基函数跟上节中的基函数很像,所以就以此开始吧。

准均匀节点矢量 Open Knot Vectors

准均匀节点矢量的节点序列中两端节点具有重复度k,剩余的其它节点序列可以是均匀也可以是非均匀的。举例如下:

k = 3 [X] = [0 0 0 1 2 3 3 3] (uniform)

k = 4 [X] = [0 0 0 0 1 1 1 1] (uniform)

k = 3 [X] = [0 0 0 1 1 2 2 2] (nonuniform)

k = 2 [X] = [0 0 1 2 3 3 3 4 5 6 6] (nonuniform)

节点矢量端部的重复值是为确保曲线上的首未两点与第一个和最后一个控制顶点对应。他们的作用就是把曲线的端部拉到控制多边形的端部。这是由于重复的节点矢量值可以把曲线的首未点值限制。也可确保端部的斜率等于控制多边形首未侧的斜率。这样以来,端部条件和Bezier曲线一样,就便于曲线的拼接。

在上一节点,我说过Bezier曲线就是B样条曲线的节点矢量为准均匀时的特例。你若要通过四个控制顶点,并且节点矢量的端部条件由准均匀节点矢量确定来定义一个三次B样条曲线,其实这就是Bezier曲线。B样条曲线的优势在于你可用多个控制顶点并且保证端部条件,还可以设置曲线的次数。如有10个控制顶点的Bezier曲线将会推导出一个9次曲线。相应的B样条曲线的节点矢量为:[X] = [0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1]。有10个控制顶点和B样条曲线若用如下的节点矢量可能会推导出一个三次曲线。[X] = [0 0 0 0 1 2 3 4 5 6 6 6 6]

有几个优点:你可以控制曲线的次数;也有更多的局部修改功能。图4.8所示为k=10的Bezier曲线和k=4的B样条曲线。观察一下局部修改的能力:

Comparing

选择使用准均匀节点矢量的主要原因是可以把曲线的端点限制在控制多边形的端点上。这在曲线拼接时特别有用,但是这也是把双刃剑。图4.9所示为绘制图4.8的B样条曲线的基函数的图形。如图所示,每个基函数有点不同。

Basis Functions

周期性节点矢量 Periodic Knot Vectors

在第二章的“三角函数”中,我引入了周期函数,像正弦函数和余弦函数。这些函数是周期性因为每个周期的波形都可以认为是相同的波形在重复。若可以由节点矢量推导出周期性的基函数,则节点矢量也是周期性的。如下为均匀周期节点矢量(k=4, N=10)可推出周期性的基函数如图4.10所示。

[X] = [1 2 3 4 5 6 7 8 9 10 11 12 13 14]

Periodic basis functions

周期性的节点矢量也不一定是均匀的。如图4.11所示为由非均匀节点矢量(k=4, N=10)推导出的周期性基函数。尽管在图4.11中可能很难看出,每个基函数都是一样的,只是偏移了,只能看到它的部分。

Periodic basis functions

目录
相关文章
|
6月前
|
机器学习/深度学习 自然语言处理 TensorFlow
Next Sentence Prediction,NSP
Next Sentence Prediction(NSP) 是一种用于自然语言处理 (NLP) 的预测技术。
158 2
|
8月前
|
机器学习/深度学习 移动开发 分布式计算
IS ATTENTION BETTER THAN MATRIX DECOMPOSITION
目前self-attention机制已经在深度学习领域发挥着至关重要的作用。在建模全局信息时,attention机制是不是能够被取代,或者有更好的方法?
86 0
|
机器学习/深度学习 数据挖掘
|
机器学习/深度学习 自然语言处理 算法
【CS224n】(lecture2~3)Word Vectors, Word Senses, and Neural Classifiers
上次对word2vec开了个头,也说了为了优化训练速度,可以用SGD,即Stochastic gradient descent 随机梯度下降。迭代地在每个滑动窗口为SGD取梯度;由于每个窗口只有 2m+1 个单词,所以该向量会很稀疏:
103 0
【CS224n】(lecture2~3)Word Vectors, Word Senses, and Neural Classifiers
Can not squeeze dim[1], expected a dimension of 1, got 21
Can not squeeze dim[1], expected a dimension of 1, got 21
429 0
|
Linux TensorFlow 算法框架/工具
Using side features: feature preprocessing
One of the great advantages of using a deep learning framework to build recommender models is the freedom to build rich, flexible feature representations.
132 0
|
机器学习/深度学习 算法 数据挖掘
Machine Learning Vocabulary
Some words for Machine Learning
Machine Learning Vocabulary
|
机器学习/深度学习 算法
Matrix Factorization
Matrix Factorization ①linearNetwork Hypothesis 机器学习的作用就是要从一堆数据中学习到学习到某种能力,然后用这种skill来预测未来的结果。
1012 0