水力机械计算机助设计作业.docVIP

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
水力机械计算机助设计作业

课程名称:水利机械计算机辅助设计 课程编号: SZ0104F05 课程类型: 非学位课 考核方式: 考试 学科专业: 水利工程 年 级: 12级 姓 名: 董小雪 学 号: 10076129193 河北工程大学2012~ 2013学年第2学期研究生课程论文报告 课程论文评语: 成 绩 评阅教师签名 评阅日期 年 月 日 课程论文题目(居中): 说明: 1.报告请用A4纸,正文字体用5号宋体字。 2.页边距:左、右为2.5cm,上、下为2cm 3.装订:在报告纸张上方装订(装订线标志见页面上方) Bezier曲线 一、Bezier曲线的定义 给定空间n+1个点的位置矢量Pi(i=0,1,2,…,n)则Bezier曲线可定义为: 其中,Pi构成该Bezier曲线的特征多边形,Bi,n(t)是n次Bernstein基函数:我们规定 二、Bezier曲线的性质 (1)端点性质 a)曲线端点位置矢量 由Bernstein基函数的端点性质可以推得,当t=0时,P(0)=P0 ;当t=1时,P(1)=Pn。由此可见,Bezier曲线的起点、终点与相应的特征多边形的起点、终点重合。 b) 切矢量 因为,,所以当t=0时,P’(0)=n(P1-P0),当t=1时,P’(1)=n(Pn-Pn-1),这说明Bezier曲线的起点和终点处的切线方向和特征多边形的第一条边及最后一条边的走向一致。 c) 二阶导矢 当t=0时, 当t=1时, 上式表明:2阶导矢只与相邻的3个顶点有关。事实上,r 阶导矢只与(r+1)个相邻点有关,与更远点无关。 将、及、代入曲率公式可以得到Bezier曲线在端点的曲率分别为:、 d) K阶导函数的差分表示 n次Bezier曲线的k阶导数可用差分公式为: 其中高阶向前差分矢量由低阶向前差分矢量递推地定义: (2)对称性 由控制顶点构造出的新Bezier曲线,与原Bezier曲线形状相同,走向相反。因为: 这个性质说明Bezier曲线在起点处有什么几何性质,在终点处也有相同的性质。 (3)凸包性 由于,且,这一结果说明当t在[0,1]区间变化时,对某一个t值,P(t)是特征多边形各顶点的加权平均,权因子依次是。在几何图形上,意味着Bezier曲线P(t)在 中各点是控制点Pi的凸线性组合,即曲线落在Pi构成的凸包之中,如图3.1.9所示。 (4)几何不变性 这是指某些几何特性不随坐标变换而变化的特性。Bezier曲线位置与形状与其特征多边形顶点的位置有关,它不依赖坐标系的选择。 (5)变差缩减性 若Bezier曲线的特征多边形是一个平面图形,则平面内任意直线与C(t)的交点个数不多于该直线与其特征多边形的交点个数,这一性质叫变差缩减性质。此性质反映了Bezier曲线比其特征多边形的波动还小,也就是说Bezier曲线比特征多边形的折线更光顺。 三、现以三次Bezier曲线为例介绍其计算原理 对于三次Bezier曲线,n=3,有4个控制点p0、p1、p2 、p3 ,则: 其中 为三次Bezier曲线的调和函数。 上式的矩阵表示为: 现举例说明使用Bezier方法构造曲线,并对曲线上的相关数据进行计算的过程。 设给定特征多边形的4个顶点p0(0,0,0)、 p1(1,1,0) 、p2 (2,1,0) 、p3 (3,0,0) ,试构造一条三次Bezier曲线,并计算参数时曲线上的值。 由上两式可以得到,三次Bezier曲线的参数方程为 即 将 t=0,1/3,1/2,2/3,1 参数分别代入上式,有: 四、Bezier曲线绘制的程序设计 1、程序设计功能说明 在vc++6.0程序运行的主界面通过菜单及下拉菜单的各功能项选择Bezier曲线的绘制方法 2.程序设计步骤 (1)创建工程名称为“bzier曲线”的单文档应用程序框架(如图1)。 图1 (2)编辑菜单资源。设计如(图2)所示的菜单栏。制作对话框及添加相关函数、程序。如(图3) 图2 图3 (3)添加消息处理函数。利用ClassWizard为应用程序添加与菜单项相关的消息处理函数,ClassWizard会自动完成有关的函数声明。如(图4)。点击Add Function,完成添加。 图4 (4)添加函数。在工程中添加应用函数的方法如下:首先在BezierView.h中声明需要使用的函数名称,然后在BezierView.cpp中定义此函数。同时实现各个菜单消息处理函数的既定功能。 点击图3中的Edit Code选项,进入(图5)。 图5 (5)绘制曲线的代码为: // 交互技术Vie

文档评论(0)

mk808606 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档