实验五01Bezier曲线和样条曲线的生成算法

实验五01Bezier曲线和样条曲线的生成算法

ID:38698641

大小:299.50 KB

页数:6页

时间:2019-06-17

实验五01Bezier曲线和样条曲线的生成算法_第1页
实验五01Bezier曲线和样条曲线的生成算法_第2页
实验五01Bezier曲线和样条曲线的生成算法_第3页
实验五01Bezier曲线和样条曲线的生成算法_第4页
实验五01Bezier曲线和样条曲线的生成算法_第5页
资源描述:

《实验五01Bezier曲线和样条曲线的生成算法》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、计算机图形学实验指导书陈华光、陈多、刘长松编专业班级计算机0902_姓名 田  鹏_学号 200903010225_湖南工程学院二○一二年六月计算机图形学实验报告五实验名称Bezier曲线和样条曲线的生成算法评分      _实验日期2012年6月13日指导教师 刘 长 松  _姓名朱 福 兵专业班级计算机0902学号 200903010211 _一、实验目的1、复习Bezier曲线和B样条曲线的参数表示法。2、编程实现用二次Bezier曲线绘制。3、编程实现用三次Bezier曲线绘制和分段光滑Bezier曲线图形的绘制。4、用三次B样条函数绘制曲线。二

2、、实验要求1、编程实现在屏幕上绘制出两次Bezie曲线的几何图形和特征多边形图形,对于直线和曲线设置不同的线形和颜色。2、现在屏幕上绘制出三次Bezie曲线的几何图形和特征多边形图形,对于直线和曲线设置不同的线形和颜色。3、编程实现用分段三次Bezier曲线绘制光滑Bezier曲线图形。4、编程实现在屏幕上绘制出三次B样条函数绘制曲线。5、编程实现在屏幕上绘制出光滑连接的三次B样条曲线。三、关键算法及实现原理1、二次Bezier曲线的计算公式为:P(t)=(P0-2P1+P2)t2+(-2P0+2P1)t+P0X(t)=(X0-2X1+X2)t2+(-2

3、X0+2X1)t+X0Y(t)=(Y0-2Y1+Y2)t2+(-2Y0+2Y1)t+Y0其中P0、P1、P2为三个已知的点,坐标分别为(X0、Y0)、(X1、Y1)、(X1、Y2)。2、次Bezier曲线的计算公式为:P(t)=(-P0+3P1-3P2+P3)t3+(3P0-6P1+3P2)t2+(-3P0+3P1)t+P0X(t)=(-X0+3X1-3X2+X3)t3+(3X0-6X1+3X2)t2+(-3X0+3X1)t+X0Y(t)=(-Y0+3Y1-3Y2+Y3)t3+(3Y0-6Y1+3Y2)t2+(-3Y0+3Y1)t+Y0其中P0、P1、P

4、2、P3为四个已知的点,坐标分别为(X0、Y0)、(X1、Y1)、(X1、Y2)、(X3、Y3)。1、三次B样条函数绘制曲线的计算公式为:P(t)=[(-P0+3P1-3P2+3P3)t3+(3P0-6P1+3P2)t2+(-3P0+3P2)t+(P0+4P1+P2)]/6X(t)=[(-X0+3X1-3X2+3X3)t3+(3X0-6X1+3X2)t2+(-3X0+3X2)t+(X0+4X1+X2)]/6Y(t)=[(-Y0+3Y1-3Y2+3Y3)t3+(3Y0-6Y1+3Y2)t2+(-3Y0+3Y2)t+(Y0+4Y1+Y2)]/6其中P0、P1

5、、P2、P3为四个已知的点,坐标分别为(X0、Y0)、(X1、Y1)、(X1、Y2)、(X3、Y3)。2、三次B样条函数绘制曲线的光滑连接条件为:对于N个顶点,取P1、P2、P3、P44个顶点绘制在第一段三次样条曲线,再取P2、P3、P4、P54个顶点绘制在第二段三次样条曲线,总计可绘制n-3段光滑连接的三次样条曲线。5、程序设计方法根据Bezier曲线的定义,输入Bezier曲线的特征多边形(例如三次Bezier曲线输入四个型值点),然后把t从0~1分成n等分,按相应的Bezier曲线公式计算出Bezier曲线上的点,用绘直线段的方法依次这些点连接起来

6、,就得到Bezier曲线。如果要画多段Bezier曲线,可设置一些变量存放Bezier曲线的条数,按条数依次绘制出来即可。四、程序调试中的问题根据Bezier曲线的定义,输入Bezier曲线的特征多边形(例如三次Bezier曲线输入四个型值点),然后把t从0~1分成n等分,按相应的Bezier曲线公式计算出Bezier曲线上的点,用绘直线段的方法依次这些点连接起来,就得到Bezier曲线。如果要画多段Bezier曲线,可设置一些变量存放Bezier曲线的条数,按条数依次绘制出来即可。五、实验收获及体会一般的矢量图形软件通过它来精确画出曲线,贝兹曲线由线段

7、与节点组成,节点是可拖动的支点,线段像可伸缩的皮筋,我们在绘图工具上看到的钢笔工具就是来做这种矢量曲线的。当然在一些比较成熟的位图软件中也有贝塞尔曲线工具,如PhotoShop等。根据Bezier曲线的定义,输入Bezier曲线的特征多边形(例如三次Bezier曲线输入四个型值点),然后把t从0~1分成n等分,按相应的Bezier曲线公式计算出Bezier曲线上的点,用绘直线段的方法依次这些点连接起来,就得到Bezier曲线。如果要画多段Bezier曲线,可设置一些变量存放Bezier曲线的条数,按条数依次绘制出来即可。六、程序运行结果或数据#inclu

8、de#include#include

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。