(1) 对于clamped样条曲线,节点区间的数目等于曲线段的数目。

  eg: B-样条曲线有11个控制点(即,n = 10), 3次P样条 (即, p=3)  ,由 m=n+p+1 则有15 个节点 (m = 14),又因为是clamped曲线,则其中头四个(p+1)和最后四个节点(p+1个) 都相等,即节点区间分为:7段,有效节点有15-p-p = 9个,分为8段。

  如果这8段是平均间隔,则是均匀的B-Spline曲线。否则称为不均匀的B-Spline曲线。

  可以如下表示:clamped节点向量是u0(p+1), up+1, ..., um-p-1, um(p+1)。

  一个clamped B-样条曲线经过第一个和最后一个控制点。实际上,它也与控制折线的第一边和最后一边相切。

  

(2)更低次曲线而仍然保持很多控制点, 即由m=n+p+1, 如果节点向量(m+1)不变,则如果B-spline曲线次数p减少,则控制点的数量(n+1)强增加;

(3) 曲线中的几个概念:控制点数量(n+1),节点数量(m+1),曲线次数p

  是个由13个控制点 control points (即, n = 12)和18个节点(即, m = 17)定义的4次 (即, p = 4)B-样条曲线 ;

(4)一个p次B-样条曲线在简单节点上是 Cp-1 在其他空间是无限可微的;如果这个点是t个相邻控制点重合,在那个控制点上,连续性是Cp-t

  即,如果p次曲线,且有p 个相邻控制点重合,则在那个控制点上,连续性是C0

  增加一个内部节点的重复度会减小在该节点的非零基函数的数目。实际上,如果该节点的重复度是 k, 最多在该节点上有 p - k + 1 个非零函数。而且,在该节点的基函数是Cp-k 连续的。如果 k = p, 只有一个非零基函数在该节点上,只有一个控制点有非零系数。结果,曲线通过该点。

(5)因为B-样条曲线是许多曲线段的组合,每个定义于一个节点区间上,修改一个或多个节点位置会改变相应的曲线段和节点区间,因此改变曲线的形状。

B-Spline 样条学习笔记的更多相关文章

  1. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  2. PHP-自定义模板-学习笔记

    1.  开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2.  整体架构图 ...

  3. PHP-会员登录与注册例子解析-学习笔记

    1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...

  4. 2014年暑假c#学习笔记目录

    2014年暑假c#学习笔记 一.C#编程基础 1. c#编程基础之枚举 2. c#编程基础之函数可变参数 3. c#编程基础之字符串基础 4. c#编程基础之字符串函数 5.c#编程基础之ref.ou ...

  5. JAVA GUI编程学习笔记目录

    2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...

  6. seaJs学习笔记2 – seaJs组建库的使用

    原文地址:seaJs学习笔记2 – seaJs组建库的使用 我觉得学习新东西并不是会使用它就够了的,会使用仅仅代表你看懂了,理解了,二不代表你深入了,彻悟了它的精髓. 所以不断的学习将是源源不断. 最 ...

  7. CSS学习笔记

    CSS学习笔记 2016年12月15日整理 CSS基础 Chapter1 在console输入escape("宋体") ENTER 就会出现unicode编码 显示"%u ...

  8. HTML学习笔记

    HTML学习笔记 2016年12月15日整理 Chapter1 URL(scheme://host.domain:port/path/filename) scheme: 定义因特网服务的类型,常见的为 ...

  9. DirectX Graphics Infrastructure(DXGI):最佳范例 学习笔记

    今天要学习的这篇文章写的算是比较早的了,大概在DX11时代就写好了,当时龙书11版看得很潦草,并没有注意这篇文章,现在看12,觉得是跳不过去的一篇文章,地址如下: https://msdn.micro ...

随机推荐

  1. 基数排序算法-python实现

    #-*- coding: UTF-8 -*- import numpy as np def RadixSort(a): i = 0 #初始为个位排序 n = 1 #最小的位数置为1(包含0) max ...

  2. emacs之切换h/cpp配置

    emacsConfig/switch-file-setting.el (defun switch-c () (global-set-key (kbd "<C-return>&qu ...

  3. java操作word报错及解决办法

    Exception in thread "main" java.lang.UnsatisfiedLinkError: no jacob-1.17-x86 in java.libra ...

  4. NOIP2013 Day2

    1.积木大赛 https://www.luogu.org/problemnew/show/1969 这道题在考试时暴力得比较麻烦,导致只得了80分,t了两个点. 思路为寻找一个区间内高度大于0的最低点 ...

  5. Java-Web 用html写一个简单的用户注册界面

    代码: <!doctype htpl> <html> <head> <meta charset="utf-8" /> <tit ...

  6. Autofac框架详解

    一.组件 创建出来的对象需要从组件中来获取,组件的创建有如下4种(延续第一篇的Demo,仅仅变动所贴出的代码)方式: 1.类型创建RegisterType AutoFac能够通过反射检查一个类型,选择 ...

  7. 关于&&和||

    从alert(1&&2)输出为2谈起 一.先来说说||(逻辑或),从字面上来说,只有前后都是false的时候才返回false,否则返回true. alert(true||false); ...

  8. mybatis“$”和“#”

    摘要:$ 是直接拼接# 会转义,更安全 类比Mybatis的执行流程和JDBC原有的我们使用的方法就是:Mybatis: Sqlsession -> Executor -> Stateme ...

  9. asp.net要验证的用户名和密码

    FormsAuthentication.Authenticate()方法要验证的用户名和密码必须存储在Web.config文件内.如果要验证存储在“ASP.NET成员资格数据库”中的密码,则需要调用M ...

  10. leetcode917

    class Solution { public: string reverseOnlyLetters(string S) { int len = S.length(); queue<char&g ...