第5章 自由曲线与曲面new_第1页
第5章 自由曲线与曲面new_第2页
第5章 自由曲线与曲面new_第3页
第5章 自由曲线与曲面new_第4页
第5章 自由曲线与曲面new_第5页
已阅读5页,还剩188页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 第5章自由曲线与曲面 5 1基础知识 5 2自由曲线的数学描述 5 3自由曲面的数学描述 2 5 1基础知识一 曲线和曲面的表示形式 1 表示形式显式 y f x z f x y 如y mx b表示直线 一个x对应一个y 一般 显式很难表示封闭 多值曲线 3 隐式 f x y 0 F x y z 0例如 ax2 2bxy cy2 2dx 2ey f 0圆锥曲线 x a 2 y b 2 z c 2 1椭球面 参数式 x x t y y t x x u v y y u v z z u v 例如 x rcos y rsin 表示圆 表示椭球面 4 矢量形式 5 非参数方程的表示有以下缺点 1 与坐标轴相关 2 会出现斜率为无穷大的情况 3 非平面曲线曲面难以用常系数非参数化函数表示 4 不便于计算和编程 2 表示形式的比较 6 参数方程的优点 1 有更大的自由度来控制曲线曲面的形状 2 与坐标轴无关 3 便于处理斜率无穷大的问题 不会因此而中断计算 4 用参数表示曲线时 因为参数变量是规范化的 t的变化限制在 0 1 范围内 所以曲线总是有界的 7 关于C0 C1 C2和G0 G1 G2的连续C0和G0连续 连接点处位置相等 G1连续 连接点处位置相等 切矢方向相同 大小不等 C1连续 连接点处位置相等 切矢方向 大小均相同 G2连续 连接点处G0 G1连续 且二阶导数方向相同 大小不等 C2连续 连接点处C0 C1连续 且二阶导数大小和方向相等 二 曲线段间的连续性 8 9 三 曲线曲面的拟合 插值和逼近 在工程实践中 如飞机 汽车 船舶的外形设计时 常遇到由离散点来构造曲线和曲面的问题 解决这个问题的通常方法是 拟合 拟合包含插值和逼近两类方法 插值法 interpolation 采用完全通过原始给定的型值点构造曲线 曲面并达到某些设计要求的方法 给定的一组有序数据点 可以从某个形状测量得到 也可以是设计员计算给出 顺序通过这些点 构造曲线 曲面 10 逼近法 approximation 采用相对贴近原始给定的型值点构造曲线 曲面并达到 设计要求的方法 如果测量所得或设计员给出的数据点本身就很粗糙 要求构造一条曲线严格通过给定的一组数据点就没什么意义 这时 要求所构造的曲线在某种意义下最为贴近给定的数据点 插值法 三次样条 参数 曲线 双三次coons曲面 逼近法 Bezier曲线 曲面 B样条曲线 曲面 NURBS曲线 曲面等 11 5 2自由曲线的数学描述一 三次样条曲线 给定 n 1 个点Pi i 0 1 n 要找出一条过这些型值点的曲线C u 有两种极端情况 1 每对点 Pi PI 1 之间的线性插值 问题是只能保证各个曲线段连续 整条曲线在型值点处出现拐折现象 为什么用 三次 12 2 使用n次拉格朗日多项式插值 当Pi的点数n越多 插值多项式的次数越高 曲线会引起激烈波动 振荡 甚至扭曲 且计算量很大 另外 单一的低次多项式曲线又难以用来描述复杂形状的曲线 唯一的选择 采用分段的低次多项式插值生成低次曲线段 并在满足一定的连接条件下逐段拼接起来 大多数应用发现 三次是一个好的折衷 13 三次样条函数就是一种分段三次多项式插值 它不但能保证曲线上斜率连续 一阶导数连续 变化 而且也能保证曲率连续 二阶连续 变化 这对飞机 汽车 船舶的外形来说 已能满足要求了 14 1 三次样条函数力学背景 数学上的三次样条来自生产实践中放样员的样条 所谓的样条是一根富有弹性的均匀的细木条或塑料条 放样员先将型值点准确地点在图板上 用压铁强迫模线通过这些型值点 再适当调整这些压铁 让样条的形态发生变化 直至取得满意的形状 才沿着样条画出所需的曲线 15 如果把样条看成弹性细梁 压铁看成作用在这梁的某些点上的集中载荷 可把上述画模线的过程在力学上抽象为 求弹性细梁在外加集中载荷作用下产生的弯曲变形 切出两相邻压铁间的一段梁看 只在梁的两端有集中力作用 故弯矩在这段梁内是线性函数 与材料和形状有关的常数 16 M x 是线性函数 函数Y x 是x的三次多项式 在整个梁上Y x 是分段三次函数 但它处处二阶可导 这一力学背景 导致了数学上三次样条函数概念的建立 样条特点 1 样条本身是连续的整体 相当于函数是连续的 2 样条左右两段在压铁处的斜率相同 相当于函数是一阶连续的 3 样条左右两段在压铁处的曲率相同 相当于函数是二阶连续的 17 2 三次样条函数定义 定义 在区间 x0 xn 上给定一个分割 x0 x1 xn 1 xn插值条件为 若有函数y x 适合 1 y xi yi i 0 1 n 2 y x 在全区间 x0 xn 上二次连续可导 3 在每个子区间 xi 1 xi i 1 n 上是x的三次多项式 则称y x 是关于已知插值条件的三次样条函数 由样条函数构成的曲线称为样条曲线 18 1 三次样条曲线段 以自变量u表示的三次曲线方程为 y u a0 a1u a2u2 a3u3曲线的始末端点通过一对已知位置矢量y0和y1 已知切矢 对参数u求导 y0 和y1 则有方程 19 解出a0 a1 a2 a3 带入 整理后得到 20 6 1 其中 6 2 21 矩阵形式 其中 F0 F1 G0 G1称为Hermite基函数 作用 控制曲线段两端点的位置矢量和一价导矢对曲线形状的影响 6 3 22 2 三次样条曲线之一 现在解决区间 xi 1 xi 上带一阶导数的插值问题 设对应于区间两端的函数值与一阶导数 对x 值如图 从u 0 1 x xi 1 xi u x xi 1 hi hi xi xi 1 故 y u y xhi 对应于x xi 1 xi 仿式 6 3 第i段曲线的表达式为 6 4 i 1 2 n 用型值点处一阶导数表示 m是对x的导数 23 6 4 式确定的函数y x 本身及其一阶导数y x 在 x0 xn 上的连续性 是由各段的插值条件保证的 不论m0 m1 mn取什么值 y x y x 总是连续的 但任意地选取m0 m1 mn就不能保证y x 在 x0 xn 上连续 为保证各内节点处的y x 也连续 mi必须满足一定条件 24 将式 6 4 对x求导两次 得y i x 为u的函数 则让 第i段 xi 1 xi 曲线段的末点 在xi处 此点u 1 与第i 1段 xi xi 1 曲线段的始点 在xi处 此点u 0 25 的二阶导数连续 y i xi y i 1 xi 整理后得m关系式 imi 1 2mi imi 1 ci i 1 2 n 1 6 5 26 式 6 4 6 5 包含m0 m1 mn共n 1个未知量 对应整条曲线的x0 x1 xn的n 1型值点 式 6 5 包含n 1个方程个数 还不足以完全确定这些mi 须添加两个条件 这两个条件通常根据对边界节点x0与xn处的附加要求来提供 故称为端点条件 常见有以下几种 1 已知曲线两端点处的m0与mn 6 5 式成为关于n 1个未知量m1 mn 1的n 1个线性方程 第一个方程为 2m1 1m2 c1 1m0第n 1个方程为 n 1mn 2 2mn 1 cn 1 n 1mn 27 2 给定两端点的二阶导数M0 Mn 得 2m0 m1 C0mn 1 2mn Cn i 0代入 i n代入 28 在求得所有mi后 分段三次曲线即可由 6 4 确定 整条三次样条曲线的表达式为 y x yi x i 1 2 n 3 特别当M0 0或Mn 0时 称为自由端点条件 此时端点为切点 曲率半径无限大 例如 在曲线端点出现拐点或与一直线相切时 29 与2 方法类似 先解决u 0 1 带二阶导数的插值问题 推广到整个 x0 xn 区间 曲线段两端点四个已知条件 y0 y1 y 0 y 1 构作三次曲线段方程为 y u y0F0 u y1F1 u y 0G0 u y 1G1 u 6 6 F0 u 1 uG0 u u u 1 u 2 6F1 u uG1 u u u 1 u 1 6 6 7 3 三次样条曲线之二 用型值点处二阶导数表示 30 在区间 xi 1 xi 上带二阶导数的插值 设对应于x xi 1 xi 区间两端点的函数值与二阶导数 对x 值分别为yi 1 yi Mi 1 Mi 则该曲线段的表达式为 6 8 它适合指定的带二阶导数的插值条件 保证了函数及其二阶导数在 x0 xn 上的连续性 但为了使各内节点处的一阶导数也连续 则Mi必须适合M关系式 i 1 2 n 31 根据 yi xi u 1 yi 1 xi u 0 得M关系式 iMi 1 2Mi iMi 1 di 6 9 它是一个有n 1个方程的线性方程组 含n 1个未知数M0 M1 Mn 为了完全确定它们 必须加上两个端点条件 常用的端点条件有 32 1 两端点二阶导数值M0 Mn 当M1 Mn 0时 为自由端点条件 2 两端点二阶导数值m0 mn已知 求得Mi后 分段三次曲线可由式 6 8 确定 整条三次样条曲线可由y x yi x i 1 2 n 表示 33 3 三次样条曲线的局限性 1 大斜率曲线不能处理 受样条函数力学背景假设 dy dx 1 限制 不适合大挠度情况 与坐标系的选取有关 2 多值曲线不能处理 受样条函数定义限制 x与y须单值对应 与坐标系的选取有关 3 无局部性 从m 关系式 M 关系式可知 34 二 Bezier曲线1 Bezier曲线的定义 一条Bezier曲线由两个端点和若干个不在曲线上但能够决定曲线形状的点确定 下图表示一条三次Bezier曲线由两个端点V0 V3和另两个不在曲线上的点V1 V2确定 V0 V1 V2 V3构成了来定义曲线的特征多边形 35 一般 n次Bezier曲线由n 1个顶点构成的特征多边形确定 Bezier曲线的表达式 由特征多边形顶点的位置矢量与伯恩斯坦基函数线性组合 6 10 i 0 1 2 n 36 一次Bezier曲线 n 1 两个控制顶点 是一条直线 r u 1 u V0 uV1 u u 37 三次Bezier曲线 n 3 有四个控制顶点 B3 0 t 1 3u 3u2 u3B3 1 t 3u 6u2 3u3B3 2 t 3u2 3u3B3 3 t u3 1000 33003 630 13 31 u 6 11 6 12 MBE r u 1uu2u3 38 2 Bezier曲线的几何性质 1 端点性质位置矢量 u 0时 r 0 V0 u 1时 r 1 Vn切矢量 r 0 n V1 V0 r 1 n Vn Vn 1 二阶导矢 r 0 n n 1 V2 2V1 V0 r 1 n n 1 Vn 2Vn 1 Vn 2 Bezier曲线的起点和终点分别是特征多边形的始 末顶点 曲线在起点和终点处分别与特征多边形的第一和最后一条边相切 切矢量的模长为第一和最后边长的n倍 曲线在两端点处的k阶导矢只与它最近的 k 1 个顶点有关 39 2 对称性特征多边形的顶点位置不变 仅仅序号相反 Bezier曲线的形状不变 仅方向相反 40 3 凸包性 4 几何不变性Bezier曲线的形状和位置 仅与特征多边形的顶点位置有关 与坐标系的选择无关 41 5 变差减小性若特征多边形是一个平面图形 那么平面内的任意直线 与r u 的交点个数 不多于与特征多边形的交点个数 42 3 Bezier曲线的几何作图法及其分割 43 V01 V11 V21 V02 V12 V03 分割过程 V0V1V2V3 V00V10V20V30 V01V11V21 V02V12 V03 分割递推算法 44 voidbez to points degree npoints coeff points intdegree npoints floatcoeff points floatt delt inti floatdecas delt 1 0 float npoints steplength t 0 0 for i 0 i npoints i points i decas degree coeff t t t delt 45 floatdecas degree coeff t floatcoeff floatt intdegree intr i floatt1 floatcoeffa 10 t1 1 0 t for i 0 i degree i coeffa i coeff i for r 1 r degree r for i 0 i degree r i 46 coeffa i t1 coeffa i t coeffa i 1 return coeffa 0 47 4 Bezier曲线的拼接 以三次Bezier曲线为例 对于形状比较复杂的曲线 只用一段三次Bezier曲线描述就不够了 工程上往往用分段Bezier样条曲线描述 将分段的Bezier曲线连接起来构成三次Bezier样条曲线 其关键问题是如何保证连接处具有G1及G2连续性 48 1 位置连续 r 2 u2 0 r 1 u1 1 V0 2 V3 1 2 斜率连续 r 2 0 r 1 1 V1 2 V3 1 V2 1 V0 2 即 要求三顶点 V2 1 V3 1 V0 2 V1 2 共线 49 3 曲率连续 r 2 0 2r 1 1 r 1 1 V2 2 V3 1 2 2 2 V3 1 V2 1 2 V2 1 V1 1 表明V1 1 V2 1 V3 1 V0 2 V1 2 V2 2 五点共面 50 5 反算Bezier曲线特征点 给定n 1个型值点 Pi i 0 1 n 要求构造一条Bezier曲线通过这些点 先求过Pi的的特征多边形顶点 Vi i 0 1 n 取参数u i n代入 6 10 式 与点Pi对应 反求 Vi 51 三 均匀B样条曲线 保留Bezier方法顶点和基函数线性组合带来的直观 方便 易修改的优点 仍然采用控制顶点定义曲线 B样条与Bezier曲线比较 区别在于 Bezier曲线的次数等于控制顶点数 1 但曲线与特征多边形仍逼近不够 B样条曲线的次数与控制顶点的数量无关 曲线与特征多边形相当接近 Bezier曲线缺乏局部性质 修改一个顶点将影响整条曲线 B样条曲线具有局部性质 52 B样条曲线的定义 给定n 1个顶点V0 V1 Vn 确定的B样条曲线其中 Ni M是B样条基函数 r u 53 1 三次B样条曲线 1 三次B样条基函数 N0 4 u N1 4 u N2 4 u N3 4 u 1uu2u3 MB 6 13 u 先给出工程上常用的三次B样条基函数的矩阵表达式 54 2 三次B样条曲线段 u 6 14 端点性质 ri 0 Vi 1 Vi Vi 2 Vi 1 ri 1 Vi 2 Vi 1 Vi 3 Vi 2 55 ri 0 Vi 1 Vi Vi 2 Vi 1 56 ri 0 Vi 2 Vi ri 1 Vi 3 Vi 1 ri 0 Vi 2 Vi 1 Vi Vi 1 ri 1 Vi 3 Vi 2 Vi 1 Vi 2 6 15 57 58 3 三次B样条曲线 当特征多边形的顶点超过四个时 每增加一个顶点 相应地增加一段样条曲线 因为特征多边形中每四个相邻的顶点按 6 14 式定义一段曲线 u i 0 1 n 2 6 15 59 ri u ri 1 u u 60 2 B样条基函数定义 三次B样条基函数的Clark方法 已知n 2个顺序排列的位置矢量 V0 V1 Vn 1设Nj 4 u j 0 1 2 3 为u的三次多项式 Nj 4 u Aju3 Bju2 Cju Dj j 0 1 2 3 有16个系数 ri u N0 4 u Vi N1 4 u Vi 1 N2 4 u Vi 2 N3 4 u Vi 3 6 16 i 0 1 n 2 u 0 1 根据曲线位置 斜率 曲率连续推导 61 要求曲线段在连接处位置 斜率 曲率连续 即 ri 1 ri 1 0 ri 1 ri 1 0 ri 1 ri 1 0 根据位置矢量Vi j j 0 1 2 3 4 的系数相等条件 每式有五个方程 共有15个方程 还差一个方程 当Vi Vi 1 Vi 2 Vi 3时 ri u Vi 曲线退化为一点 N0 4 u N1 4 u N2 4 u N3 4 u 1 62 解方程组得到四个三次多项式Nj 4 u j 0 1 2 3 63 2 递推定义 定义 在参数轴x区间 a b 上取分割a x0 x1 xn b为节点 构造B样条基函数 M阶B样条基函数用Ni M x 表示 其递推关系为 表明 任意M阶B样条基函数可由两个相邻的 M 1 阶B样条基线性组合 6 17 i 1 64 式中 i为节点序号 i 0 1 n M M是B样条基函数的阶数 M 1 整数 M阶B样条基函数是一个只在M个子区间 xi xi M 非零的分段 M 1 m 次多项式 具有直到M 2阶的连续导数 1阶 0次 B样条基 i 1 65 2阶 1次 B样条基 代入 6 17 令 xi xi 1 内 u x xi Ni 2 u u Ni 2 u 1 u i 1 66 3阶 2次 B样条基 Ni 3 x 0 xi x xi 1 xi 1 x xi 2 xi xi xi 3 xi 2 x xi 3 67 在 xi x xi 1 区间 令u x xi 在 xi 1 x xi 2 区间 令u x xi 1 在 xi 2 x xi 3 区间 令u x xi 2 68 Ni 4 x 4阶 3次 B样条基 0 xi x xi 1 xi 1 x xi 2 xi 2 x xi 3 xi 3 x xi 4 xi xi xi 4 69 在 xi x xi 1 区间 令u x xi 在 xi 1 x xi 2 区间 令u x xi 1 在 xi 2 x xi 3 区间 令u x xi 2 在 xi 3 x xi 4 区间 令u x xi 3 70 3 B样条曲线几何性质 1 端点性质 以三次B样条曲线为例 2 直观性 形状决定于B特征多边形 逼近度更好 3 局部性 改变特征多边形的一顶点 只对相邻的四条曲线段产生影响 4 凸包性5 对称性 6 几何不变性7 变差减小性 71 4 基于顶点的三次B样条曲线退化情况 1 三顶点共线 起点 拐点 切点 2 四顶点共线 起点 末点 72 3 两顶点重合 端点 4 三顶点重合 V 3 V 2 73 设计时 要求 构造一段直线 则曲线与特征多边形相切 则曲线上形成尖点 则 四顶点共线 三顶点共线或两顶点重合 三顶点重合 74 始点 末点 直线段 直线段 5 用重顶点端点条件控制曲线首末端点 75 能否使B样条曲线的端点与首末顶点重合 利用重节点端点技术 实质是利用重节点条件改变B样条基函数 当节点重复ki次 曲线在该节点处的可微性下降为 重节点对B样条曲线的影响 1 在B样条曲线定义域内的重节点 重复度每增加1 曲线段数减少1 样条曲线在该重节点处的可微性降低1 2 当端节点重复度为k时 k次B样条曲线的端点将与相应的控制多边形的端点相重 并在端点处与控制多边形相切 3 当在曲线定义域内有重复度为k的节点时 k次B样条曲线插值于相应的控制顶点 76 这时的节点矢量 x0 x1 xn M 中两端节点具有重复度 k 1 M 所有内节点为均匀分布 所构造的B样条曲线称为准均匀B样条曲线 4 当端节点重复度为k 1时 k次B样条曲线就具有和k次贝齐尔曲线相同的端点几何性质 5 k次B样条曲线若在定义域内相邻的两节点都具有重复度k 可以生成在该节点区间上那段B样条曲线的贝齐尔点 6 若端节点重复度为k 1的k次B样条曲线的定义域仅有一个非零节点区间 则所定义的该k次B样条曲线就是k次贝齐尔曲线 77 6 三次参数曲线段的三种等价表示 78 Ferguson曲线 r u 1uu2u3 MC r 0 r 1 r 0 r 1 79 r u 1uu2u3 MBE B0B1B2B3 Bezier曲线 80 B样条曲线 81 均匀B Spline曲线的特点 节点等距分布 计算效率高 一般情况下可获满意效果 存在问题 1 不能贴切反映控制顶点的分布特点 2 当型值点分布不均匀时 难以获得理想的插值曲线 非均匀B样条曲线可解决这一问题 四 非均匀B Spline曲线 82 B样条的递推定义具有普遍意义 即使是计算非均匀B样条基函数 仍可由递推定义式来计算各幂次的B样基函数 1 非均匀基B样条基函数 给定控制顶点Vi i 0 1 n 欲定义一条k次非均匀B样条曲线 还必须确定它的节点矢量U u0 u1 un k 1 中具体的节点值 对于开曲线一般两端点取重复度k 1 以便具有贝齐尔曲线的端点几何性质 且通常将曲线的定义域取成规范参数域 83 2 节点矢量的确定 已知 控制顶点Vi i 0 1 n 节点矢量U u0 u1 un k 1 确定节点矢量方法 采用Riesenfeld方法 节点的分布与各B样条曲线段的长度直接相关 把特征多边形看作为样条曲线的外接多边形 使曲线的分段连接点与特征多边形的顶点或边对应起来 然后把它展直作为参数轴 并规范化 得到节点矢量 参数序列 84 1 偶次B样条曲线的节点矢量 二次B样条曲线 二次B样条曲线的节点矢量为 n k个节点 两边除去k 2条边 后另外的边的中点 85 节点矢量为 四次B样条曲线 86 2 奇次B样条曲线节点矢量 三次B样条曲线的节点矢量为 五次B样条曲线的节点矢量为 n k个节点 两边除去 k 1 2条边 后另外的n k个控制顶点 87 两种曲线相比较 非均匀B样条曲线更贴近特征多边形 即更容易控制曲线形状 非均匀B样条曲线 均匀B样条曲线 若多边形边长变化不显著 两者很接近 88 结论 1 当特征多边形边长变化不大 邻边长比值 3 时 两者接近 2 当特征多边形边长变化较大时 非均匀B样条曲线更能反映多边形特点 3 在非均匀B样条曲线情况下 顶点位置确定了节点矢量 进而决定了基函数 故修改一个顶点的位置将影响整条曲线的形状 但各段影响程度不一 4 对于三次非均匀B样条曲线 四顶点共线时 曲线内也能嵌入直线段 但其起止点不易直观确定 5 非均匀B样条曲线的计算量较大 89 3 非均匀B样条曲线及其插值 1 非均匀B样条曲线 德布尔算法 90 在某个非零节点区间 上的一组k次B样条基中仅有k 1个非零的基函数 这些B样条基由下面节点序列完全确定 91 德布尔算法 给定控制顶点di i 0 1 2 n k阶及确定节点矢量U t0 t1 tn k 后 就定义了一条k阶曲线 求曲线定义域内以参数 计算该B样条曲线上对应一点C u 92 93 bsp1 to point degree l coeff knot dense points point num floatcoeff knot points intdegree l dense point num inti ii kk floatdeboor point num 0 for i degree 1 iknot i for ii 0 ii dense ii 94 u knot i ii knot i 1 knot i dense points point num deboor degree coeff knot u i point num point num 1 floatdeboor degree coeff knot u i floatcoeff knot floatu intdegree i intk j 95 floatt1 t2 floatcoeffa 30 for j i degree 1 j i degree k 1 j t1 knot j degree k u knot j degree k knot j 1 t2 1 0 t1 coeffa j t1 coeffa j 1 t2 coeffa j return coeffa i 1 96 2 三次非均匀B样条曲线的插值 反算 方法 2 根据节点矢量上相关的节点集 分别计算基函数 3 求得反算多边形顶点方程组 4 加端点条件 解方程组 控制顶点 这与三次均匀B样条曲线反算相似 1 根据给定的型值点 构造节点矢量 97 插值特点 1 当型值点间距变化较均匀时 1 2 4 5 6 用均匀和非均匀B样条曲线插值计算 所得的特征多边形和插值曲线两者均极为相似 差异不大 均匀B样条曲线 非均匀B样条曲线 98 2 当型值点分布很不均匀时 两者差异明显 均匀B样条曲线 产生拐点 非均匀B样条曲线 保凸 型值点间距比1 1 6 1 1 99 型值点间距比1 7 1 7 1 非均匀B样条曲线 保凸 均匀B样条曲线 产生拐点 100 五 有理B样条曲线 在自由曲线设计中 经常遇到传统的圆锥曲线 但无论是均匀的还是非均匀的B样条曲线都不能对其作精确表示 只有用有理B样条曲线才能作精确表示 有理B样条方法可以对解析曲线 面和自由曲线 曲面作统一地表达 101 其中 i为权因子 亦称齐次坐标 有理B样条曲线的表示 102 1 构造具有权因子的顶点 2 在oxyw坐标系下得到一条非有理B样条曲线 3 把 103 3 权因子对曲线形状的影响 权因子作用 调节曲线形状和控制顶点之间的关系 正权因子将曲线引向顶点 负权因子对曲线起排斥作用 在二次均匀B样条曲线中 每个顶点影响三段曲线 在有理B样条曲线中 改变一个顶点的权因子只影响两段曲线 104 修改权因子 k 1 k后的曲线 105 六 NURBS曲线 如果要用统一的形式表示一条由直线 圆锥曲线和自由曲线构造的复合曲线时 则必须用非均匀有理B样条曲线表达方法 106 1 定义与性质 1 定义 NURBS曲线为一分段的矢值有理多项式函数 表达式为 Bi k u 为k次B样条基函数 等同于Ni M u 表示的 6 17 式 其中M k 1 107 递推式定义 ui i 0 1 m 为节点 由其形成节点矢量U u0 u1 um 当节点数为 m 1 幂次为k 控制顶点数为 n 1 时 m n k 1 108 U 0 0 0 uk 1 um k 1 1 1 1 k 1 u0 uk k 1 uk um 即 节点矢量两端各有k 1个相同的节点 使曲线通过控制多边形首 末端点并与首 末两边相切 对于非周期的B样条 节点矢量为 109 2 性质由有理基函数性质推得 NURBS曲线 曲面 覆盖了多项式B样条 即当全部权因子 1时 也覆盖了有理的B样条曲线 曲面 当节点矢量仅由两端的 k 1 重节点构成时 NURBS曲线 曲面 退化为有理Bezier曲线 曲面 110 2 NURBS曲线 曲面 具有多项式B样条方法所具有的一切特征 线性变换的不变性 若无内重节点 则K次B样条是k 1阶可微的 对控制顶点 网格 多边形的逼近具有局部性 B样条曲线 曲面 包含在控制顶点所形成的凸包内 具有变差减小性质 111 3 特点及其应用 用统一的表达式同时精确表示标准的解析形体 如圆锥曲线 旋转面等 和自由曲线 曲面 修改曲线 曲面形状时 既可借助调整控制顶点 又可利用权因子 所以有较大灵活性 与多项式B样条一样 NURBS方法的计算也是稳定的 4 NURBS曲线 曲面在线性变换 缩小 旋转 平移 剪切 平行与透视投影等 下是几何不变的 优点 112 缺点 定义解析曲线 曲面时 需额外的存储空间 例如 定义一整圆 常规方法 仅7个数 圆心x0 y0 z0 圆所在平面法矢 nx ny nz 和半径R NURBS方法 以外切三角形的7个控制顶点定义时 则需要38个数 即节点矢量的10节点 顶点坐标 x y z w 共28个数 113 权因子的应用虽提供设计灵活性 也对设计人员和用户提出了更高的要求 NURBS曲面求交计算困难 114 2 NURBS曲线的基本算法 1 NURBS曲线的求值直接由定义表达式求取与参数u对应的点 算法稳定可靠 115 2 NURBS曲线求导 其关键是对基函数求导 B i 0 u 0 r u iViBi k u i 0 n iBi k u i 0 n 116 可见 基函数的导数也是由递推方式定义 117 3 NURBS曲线的应用 1 用二次NURBS曲线表示圆弧 三个控制顶点的NURBS曲线 若U 0 0 0 1 1 1 则二次NURBS曲线变成 可以证明上式是圆锥曲线的方程 其中 CSF1双曲线 表示圆的条件 V0V1和V1V2是等腰三角形的两个腰 w0 w2 1 V0 V1 V2 f e w1 e f w2 1 w0 1 W1是cos V1V0V2 118 对于圆心角大于180度的 分段采用上述方法 利用从节点将几段圆弧连接起来 内部重节点用二重节点 1 i i 1 i i为小圆弧的段数 V0 V1 V2 V3 V4 i 2节点 0 0 0 1 2 1 2 1 1 1 V5 V6 V7 V8 i 4节点 0 0 0 1 4 1 4 2 4 2 4 3 4 3 4 1 1 1 119 2 复杂曲线的NURBS表示 对同时存在直线段 圆弧段 三次自由曲线段的曲线 用三次NURBS曲线统一表示的步骤 用一次 二次NURBS曲线分别准确表示各直线段 圆弧段 后将其升阶为三次NURBS曲线 计算整条曲线的节点矢量 计算三次曲线段的边界条件 用三次NURBS曲线插值各自由曲线段 120 对求出的控制顶点及其权因子按对应型值点间的相互关系排序 由计算得到的控制顶点 权因子 节点矢量定义一条三次NURBS曲线 在与直线段 圆弧段对应的各节点处 取为三重节点 121 直线 圆弧 自由曲线 组合曲线 122 多边形顶点为NURBS曲线的控制顶点 统一的三次NURBS曲线 123 5 3自由曲面的数学描述一 孔斯曲面与双三次曲面 Coons于1964年提出了由四条边界曲线定义曲面片 用曲面片光滑拼接一张曲面 只要在曲面片间相邻接的边界上 使位置 斜率 曲率 甚至于所期望的高阶偏导矢相匹配 就能保证整张曲面具有足够的光滑性 124 曲面用矢量方程表示 r u w x u w y u w z u w u w 0 1 参数u w的变化区域是uw平面上的单位正方形域 一旦参数u与w在uw平面的单位正方形域 0 1 0 1 中变化 则对应到空间 即形成一张曲面片 125 参数域点向曲面片点的映射 126 1 曲面基本参数 1 四条边界线 r u 0 r u 1 r 0 w r 1 w r u 1 r u 0 r 0 w r 1 w u w 2 四个角点的位置矢量r 0 0 r 0 1 r 1 0 r 1 1 r 0 0 r 1 0 r 0 1 r 1 1 127 3 四个角点的切矢和扭矢 r u 1 r u 0 r 0 w r 1 w u w r 0 0 r 1 0 r 0 1 r 1 1 对r u w 将w看作常数u变化时 对u求偏导 就是u线上的切矢ru u w ru u w u r u w 同理 w线上的切矢 rw u w w r u w r u w rw u w ru u w 128 ru u 1 rw 0 w rw 1 w 均为边界曲线上的切矢 rw u 1 ru 0 w ru 1 w 均为边界曲线的跨界斜率 129 r u 1 r u 0 r 0 w r 1 w u w r 0 0 r 1 0 r 0 1 r 1 1 r u w rw u 0 ru 1 w 130 u r u w u 0w 0 w r u w u 0w 0 称为角点r 0 0 的u向 w向切矢 ru 0 0 rw 0 0 u r u w u 1w 0 w r u w u 1w 0 称为角点r 1 0 的u向 w向切矢 ru 1 0 rw 1 0 131 u r u w u 0w 1 w r u w u 0w 1 称为角点r 0 1 的u向 w向切矢 ru 0 1 rw 0 1 u r u w u 1w 1 w r u w u 1w 1 称为角点r 1 1 的u向 w向切矢 ru 1 1 rw 1 1 132 rw 0 0 ru 0 0 r u 1 r u 0 r 0 w r 1 w u w r 0 0 r 1 0 r 0 1 r 1 1 r u w rw 1 1 ru 1 1 133 u w 134 135 2 具有给定边界的孔斯曲面 1 曲面片 给出两组边界 r 0 w r 1 w 和r u 0 r u 1 0 u w 1 要求构造这四条边界所围的曲面片方程r u w 136 先构造具有边界r 0 w 与r 1 w 的曲面片r1 u w r1 u w F0 u r 0 w F1 u r 1 w 当u 0时 r1 u w r 0 w 当u 1时 r1 u w r 1 w 若令F0 u 1 u F1 u u 则r1 u w 为两条边界的线性插值 得直纹曲面 所以 混合函数不唯一 混合函数为F0 u F1 u r 0 w r 1 w r1 u w 137 再构造具有边界r u 0 r u 1 的曲面片r2 u w r2 u w F0 w r u 0 F1 w r u 1 混合函数为F0 w F1 w 构造具有四条边界的曲线片 是否就是 r1 r2 的结果 当w 0 w 1时 r1 r2对应边界是 138 w 0 r1 u 0 r2 u 0 r u 0 F0 u r 0 0 F1 u r 1 0 w 1 r1 u 1 r2 u 1 r u 1 F0 u r 0 1 F1 u r 1 1 多余项 为了去掉多余项 构造r3曲面片 使之当w 0和w 1时 具有对应的边界 F0 u r 0 0 F1 u r 1 0 F0 u r 0 1 F1 u r 1 1 139 r3 F0 w F0 u r 0 0 F1 u r 1 0 F1 w F0 u r 0 1 F1 u r 1 1 r u w r1 r2 r3为所求曲面片 6 18 140 u 0 1 w 0 1验证 将得到正确的边界信息 由此构造出来的曲面片称为简单曲面片 基本曲面 除了给出的四条边界以外 再没别的限制 所以说 简单曲面片是相当一般 相当灵活的一类曲面 改造为孔斯曲面表达式 6 19 边界信息方阵 141 2 曲面片拼接 式 6 18 的两边对w求偏导 令w 0 且有混合函数性质 F 0 0 F 0 0 0 有 rw u 0 F0 u rw 0 0 F1 u rw 1 0 这是r u 0 上任一点处的跨界斜率 可见等于这条边界的两个端点上的跨界斜率的线性组合 而与边界曲线r u 0 本身的形状无关 142 类似地 其它三条边界的跨界斜率为 rw u 1 F0 u rw 0 1 F1 u rw 1 1 ru 0 w F0 w ru 0 0 F1 w ru 0 1 ru 1 w F0 w ru 1 0 F1 w ru 1 1 简单曲面片之间的拼接问题 两曲面片r 1 r 2 有一公共边 所以 r 1 u 1 r 2 u 0 0 u 1 为了保证两曲面拼接光滑 要求它们的跨界切矢共线 保证跨界斜率相协调 143 设公共边界的两端点上 两曲面片的两对边界分别相切 即切矢共线 rw 1 0 1 rw 2 0 0 rw 1 1 1 rw 2 1 0 于是有 rw 1 u 1 F0 u rw 1 0 1 F1 u rw 1 1 1 F0 u rw 2 0 0 F1 u rw 2 1 0 rw 2 u 0 即 表明公共边界上各点的跨界切矢共线 故光滑 144 3 具有给定边界及其跨界斜率的孔斯曲面 四条边界曲线为 r u 0 r u 1 r 0 w r 1 w 四条边界上跨界斜率为 rw u 0 rw u 1 ru 0 w ru 1 w 145 构造 以r 0 w r 1 w 为边界 以ru 0 w ru 1 w 为两边界上的跨界斜率 的曲面片 构造 以r u 0 r u 1 为边界 以rw u 0 rw u 1 为两边界上的跨界斜率 曲面片 146 用角点信息构造r3 把相同的插值方法应用于u向 w向两个方向 147 r1 r2 减去r3 构造新的曲面片 148 6 20 边界信息方阵 149 4 双三次曲面 双三次曲面片的基函数F0 u 2u3 3u2 1F1 u 2u3 3u2G0 u u3 2u2 uG1 u u3 u2 双三次曲面的形成可看成一条动的三次样条曲线r u w 沿w向在整个矩形域上扫描而成 r u w ru 1 w ru 0 w 仿照带一阶导数的插值曲线 把它当成曲面的u线 150 这条u线作为 动母线 在两条 基线 r 0 w r 1 w 上滑动 让w从0变到1 这样就得到了全部u线 也就是扫出了整张曲面片 两端点矢量 两W线的跨界斜率 6 21 151 其中 两端点矢量 152 两W线的跨界斜率 153 代入式 6 21 得曲面方程 r u w F0 u F1 u G0 u G1 u 6 22 角点信息方阵C 154 令 U 1uu2u3 W 1ww2w3 r u w UMcCMcTWT 分量为Cx Cy Cz 6 22 155 一般所提的 孔斯曲面 多半指这种双三次曲面 实际上它只是几类孔斯曲面的一种特定情况下的特殊形式 角点信息方阵C 由曲面片角点处的ru rw和ruw确定ru 0 w 和ru 1 w 角点处的rw和ruw确定ru u 0 和rw u 1 即跨界斜率有着重大的意义 156 曲面片合成曲面时 为达到边界跨界斜率连续 只需要相邻曲面片的相应角点处的三个矢量 ru rw和ruw 匹配就行 从r 0 w r 1 w r u 0 和r u 1 的矩阵形式看出 扭矢对曲面片的边界并无影响 调整扭矢只会改变曲面片四条边界的跨界斜率 引起曲面内部形状发生变化 费格森双三次曲面片 将C矩阵的右下四个扭矢取为零 曲面较平坦 孔斯双三次曲面片 允许角点扭矢为非零矢量 157 二 Bezier曲面1 Bezier曲面片 与构造双三次曲面片思路类似 把三次Bezier曲线拓广成双三次Bezier曲面 给出16个空间顶点Vij i j 0 1 2 3 将这些点沿参数u w方向连接起来 构成一个空间特征网格 特征多面形 这些点称为网格 多面形 顶点 158 16个顶点的位置矢量排成一个4 4阶方阵 形成 顶点信息方阵 方阵中的每一列元素作顶点连成特征多边形 相应地定义四条以u为参数的三次Bezier曲线 159 160 S0 u S1 u S2 u S3 u 对四条三次Bezier曲线 同时给定相同的某个u值 得到四个点S0 u S1 u S2 u S3 u 形成w向的新特征多边形 又构成一条w为参数的三次Bezier曲线 0 w 1 161 设想以Q w 为动线 把S0 u S1 u S2 u S3 u 作为基线 当u从0 1时 则扫出了一张双三次Bezier曲面片 0 u w 1 6 24 162 Bezier曲面片方程可写成 r u w UMBEVMBETWT B30 u B31 u B32 u B33 u 1uu2u3 MBE令W 1ww2w3 6 25 6 26 163 对式 6 24 计算可知 r 0 0 V00 r 0 1 V03 r 1 0 V30 r 1 1 V33这说明四个角顶点落在曲面上 并成为曲面的四个角点 而特征网格的其它顶点一般不落在曲面上 还可算出曲面片的四条边界为 164 这表明最外面的一圈顶点决定了曲面片的四条边界 而中间的顶点与边界曲线无关 2 Bezier曲面片和coons曲面片的等价表示 对于同一张双三次参数曲面 可以用Bezier Coons两种形式表示 有 UMcCMcTWT UMBEVMBETWT 0 u w 1 C Mc 1MBE V Mc 1MBE T KVKT 165 166 167 对照两边矩阵的块矩阵 有 ru 0 0 3 V1 0 V0 0 ru 0 1 ru 1 0 ru 1 1 由左下角块矩阵各元素表示rw 0 0 3 V0 1 V0 0 同理得 rw 0 1 rw 1 0 rw 1 1 ruw 0 0 9 V0 0 V0 1 V1 0 V1 1 表明ruw 0 0 除了与V0 0角点和网格边上靠近它的两个顶点V0 1 V1 0有关外 还和中央顶点V1 1有关 另三个扭矢有同样的性质 168 四个角点的扭矢 与双三次Bezier曲面特征网格的中央四个顶点V1 1 V1 2 V2 1 V2 2有密切关系 可由它们调整扭矢 改变曲面的内部形状 因此 用Bezier形式直观性更强 169 高次Bezier曲面 r u w Bn i u Bm j w Vij i 0 j 0 nm 0 u w 1 特征网格顶点的作用 网格四个顶点落在曲面上 网格最外一圈顶点定义曲面的四条边界 曲面边界跨界斜率只与定义这一条边界的顶点和与它相邻的另一排顶点有关 170 曲面边界跨界曲率只与定义这一条边界的顶点和与它相邻的另外两排顶点有关 3 Bezier曲面的合成 两曲面片 r 1 u w UMBEV 1 MBETWTr 2 u w UMBEV 2 MBETWT 171 位置连续 即 r 1 1 w r 2 0 w 0 w 1 V 1 3 i V 2 0 i i 0 1 2 3 即两曲面片要有一条公共边界曲线 必须使两个特征网格具有一条公共边界 特征多边形 172 跨界斜率连续 要求两曲面片连续边界处切平面重合 即 曲面法线的方向跨界连续 ru 2 0 w rw 2 0 w w ru 1 1 w rw 1 1 w 因条件 rw 2 0 w rw 1 1 w 故得两个解 ru 2 0 w w ru 1 1 w 173 和ru 2 0 w w ru 1 1 w w rw 1 1 w 第一解 要求两曲面片的连接线的各w处 跨界有切线u方向的连续性 可推出 V1 i 2 V0 i 2 V3 i 1 V2 i 1 i 0 1 2 3 此式表明 要求两特征多面形在边界上相遇的四对边必须共线 限制条件苛刻 174 u w 175 第二解 要求跨界切矢ru 2 0 w 位于ru 1 1 w 和rw 1 1 w 所在的同一平面内 即在连接边界线上该wi处的切平面内 故跨界切矢ru 2 0 w 在跨越曲面片的边

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论