文档详情

计算机图形教学课件-自由曲线曲面.ppt

发布:2017-05-08约1.03万字共106页下载文档
文本预览下载声明
给定空间16个位置点rij,可以确定一张三次Bezier曲面 片。首先生成四条v向的三次Bezier曲线: Bézier曲面片的矩阵表达式 de Boor-Cox递推定义 K次B样条可由两个相邻的k-1次B样条的线性组合 并约定 性质 局部支承性。 权性。 微分公式。 -------凸包性 P(t)在区间 上的部分位于k个点 的凸包 内,整条曲线则位于各凸包 的并集之内。 -----分段参数多项式 P(t)在每一区间上都是次数不高于k-1的参数t的多项式 -----导数公式 ----变差缩减性 设平面内 n+1 个控制顶点 构成B样条曲线 P(t) 的特征多边形。在该平面内的任意一条直线与 P(t) 的交点个数不多于该直线和特征多边形的交点个数。 ------几何不变性 B样条曲线的形状和位置与坐标系的选择无关。 ------仿射不变性 即在仿射变换下,的表达式具有形式不变性。 ------直线保持性 控制多边形退化为一条直线时, 曲线也退化为一条直线。 --- 造型的灵活性。 用B样条曲线可以构造直线段、尖点、切线等特殊情 况.对于四阶(三次)B样条曲线.若要在其中得到一条 直线段,只要四点 位于一条直线上 ---为了使P(t)能过P_i点,只要使 重合 ---尖点: 若三重节点 ,而 不在一条直线上, 则在p_i形成角点. -----为了使曲线和某一直线L相切,只要取 位于L上及 的重数不大于2。 欲计算B样条曲线上对应一点P(t),可以利用B样条曲线 方程,但是采用de Boor 算法,计算更加快捷。 de Boor 算法的导出 ---现令 ---则 这就是著名的de Boor 算法 ---De Boor 算法的几何意义 de Boor算法有着直观的几何意义 ? 割角,即以线段 割去角 。从多边形 开始,经过 k-1 层割角,最后得到P(t)上的点 2.已知17个型值点:P 1(-360,0),P 2(315,71),P 3(-270,100),P 4(-225,71),P 5(-180,0),P 6(-135,71),P 7(-90,100),P 8(-45,71),P 9(0,0),P 10(45,-71),P 11(90,-100),P 12(135,-71),P 13(180,0),P 14(225,71),P 15(270,100),P 16(315,71),P 17(360,0),如图7-27所示。边界条件为:自由端。使用VC++编程绘制通过给定型值点的三次参数样条曲线和正弦曲线,试比较二者之间差异。 图 7-27 型值点 3.根据二次Bezier曲线的基函数,使用VC++编程绘制图7-28所示二次Bezier曲线,要求使用鼠标左键拖动控制多边形的顶点时,曲线能随之发生变化。 图7-28二次Bezier曲线 4.根据三次Bezier曲线的基函数,使用VC++编程绘制图7-29所示三次Bezier曲线。 图7-29 三次Bezier曲线 5.在屏幕上使用鼠标绘制任意控制点的控制多边形,基于de Casteliau算法根据控制多边形的阶次绘制如图7-30所示的Bezier曲线。 图7-30 de Casteliau算法 6.在屏幕上使用鼠标左键绘制数量大于4的任意顶点形成控制多边形,单击鼠标右键绘制三次B样条曲线,同时在控制多边形的每一个特征三角形内用虚线显示三次B样条曲线的几何生成原理,效果如图7-31所示,请使用MFC编程实现。 图7-31 三次B样条曲线生成原理 7.使用VC++编程,分别绘制四个顶点的三次B样条曲线和三
显示全部
相似文档