程序课程设计报告Bezier曲线_第1页
程序课程设计报告Bezier曲线_第2页
程序课程设计报告Bezier曲线_第3页
程序课程设计报告Bezier曲线_第4页
程序课程设计报告Bezier曲线_第5页
已阅读5页,还剩11页未读, 继续免费阅读

下载本文档

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

文档简介

1、精选优质文档-倾情为你奉上程序课程设计报告2012年 7月 11日Bezier方法与吉祥物图案设计专业:信息与计算科学班级: 信10-1吉祥物文洛克的设计题目: Bezier方法与吉祥物图案设计组长: 石玮lun组员:张益、李天宇指导教师:张彩霞时间:19周21周摘 要:本文对Bezier曲线及其性质进行研究,利用Matlab软件对吉祥物文洛克进行Sobel算子边缘提取工作,之后进行找点,通过Matlab描点绘制吉祥物文洛克的边缘。在众多的课题中,我们一眼就挑中了这个课题,因为我们觉得这项课题可能非常有意思,经过我们深入的研究,发现贝赛尔曲线很适合用来在电脑上绘制图形,用起来非常方便。贝塞尔曲

2、线是计算机图形图像造型的基本工具,是图形造型运用得最多的基本线条之一。阐述了Bezier方法在绘图上的应用, Bezier曲线具有良好的几何性质,能简洁、完美地描述和表达曲面。Abstract: In this paper, the Bezier curve and the nature of the study, use of Matlab software on the rock-mascot Sobel operator edge extraction work, after find some, through the Matlab draw some draw the edge of

3、 rock-the mascot. In many of the topic, we immediately singled out on the subject, because we feel that the subject may be very interesting, through our in-depth research, found beisaier curve is used to draw on the graphics on a computer, use rise very convenient. Bezier computer graphics image is

4、the basic tool modelling, is using the most graphic modelling is one of the basic line. Describes the method of drawing in Bezier application, Bezier curve has good geometrical properties, can concise, perfect to describe and express surface. 关键词: Bezier曲线 造型 边缘提取 曲面 Sobel算子Keywords:Bezier curve mod

5、eling Edge extraction curved surface Sobel operator1.引言 曲线的表示是计算机图形学的重要内容,它是描述物体的外形,建立所画对象的数学模型的有力工具。1962年,法国雷诺汽车公司的工程师P.E.Bezier构造了一种以逼近为基础的参数曲线和曲面设计方法,以这种方法为主完成了一个称为UNISURE的曲线和曲面设计系统,并1972年在公司投入使用。Bezier方法将函数逼近同几何表示结合起来,使得设计师在工程设计中能比较直观地意识到所给条件与设计出的曲线之间的关系,能方便地通过控制输入参数来改变曲线的形状。 本文首先Bezier曲线的造型问题做进

6、一步研究,接下来对吉祥物文洛克进行边缘提取,利用坐标纸描点,生成一系列的点集Pi,再用Matlab画出每一条逼近曲线。Bezier曲线具有良好的几何性质,能简洁、完美地描述和表达自由曲线曲面,在CADPCAM技术中得到广泛的应用。本课题研究的是Bezier方法与吉祥物图案设计,本课题研究的意义是为了论证Bezier曲线具有良好的几何性质,能简洁、完美地描述和表达曲面。本课题研究的整体框架是基于Matlab软件与Bezier算法得以画出图像的边缘。对图像实际问题做简单处理。贝塞尔曲线是计算机图形图像造型的基本工具,是图形造型运用得最多的基本线条之一。它通过控制曲线上的四个点(起始点、终止点以及两

7、个相互分离的中间点)来创造、编辑图形。其中起重要作用的是位于曲线中央的控制线。这条线是虚拟的,中间与贝塞尔曲线交叉,两端是控制端点。移动两端的端点时贝塞尔曲线改变曲线的曲率(弯曲的程度);移动中间点(也就是移动虚拟的控制线)时,贝塞尔曲线在起始点和终止点锁定的情况下做均匀移动。曲线是由锚点来控制的, 锚点的类型有 1.平滑点:有两个相关联的控制手柄,改变一个手柄的角度另一个也会变化,改变一个手柄的长度不影响另一个。这样我们就可以通过把一个平滑点的一个手柄的长度拖动为0,就是把手柄的端点拖到锚点上使其重合,来创建一个组合角点。平滑点的作用是沿路径引导路径,不会严重或突然改变路径。可以在需要比较平

8、滑的曲线处加平滑点然后拖动平滑点的控制手柄来进一步控制曲线走向。 2.直角点:两条直线的交点,它不存在控制手柄,只能通过改变它的位置来调整直线的一些走向。 3.曲线角点:两条不同的曲线段在一个角交汇处的锚点。这样的锚点也是有两个控制手柄,但是之间没有任何联系,它们分别控制曲线角点两边的不同的两条曲线。注意:可能有人会觉得画不出两条曲线连在一起,更不要说产生控制两条曲线的曲线角点了。我们可以在一条曲线中间加一个锚点,这是产生的是一个平滑点,然后拖动其中一个手柄时按住alt键或者用转锚点类型的工具,打破两个手柄的联系,这样你就成功的创建了一个曲线角点。 4.组合角点:是曲线和直线的焦点,只有一条控

9、制曲的手柄。组合角点是如何创建的在上面已经讲过了。2.课题中涉及的算法的基本思想或基本原理(1)一次贝济埃曲线曲线形状仅与特征多边形各顶点P1有关。当n=1时,方程式为:P(t)=(1-t)P0+tP1 (0<=t<=1)表示一条连接P0和P1的直线段。(2) 二次贝济埃曲线当n=2时,P(t)=(1-t)2P0+2t(1-t)P1+t2P2可整理为:二次贝济埃曲线为抛物线。(3) 三次贝济埃曲线当n=3时,P(t)=(1-t)3P0+3t(1-t)2P1+3t2(1-t)P2+t3P3可整理为:点Pi称作被赛尔曲线的控制点。多边形以带有线的贝塞尔点连接而成,起始于P0并以Pn终止

10、,称作贝塞尔多边形(或控制多边形)。贝塞尔多边形的convex hull包含有贝塞尔曲线。线性贝塞尔曲线函数中的 t 会经过由 P0 至P1 的 B(t) 所描述的曲线。例如当 t=0.25 时,B(t) 即一条由点 P0 至 P1 路径的四分之一处。就像由 0 至 1 的连续 t,B(t) 描述一条由 P0 至 P1 的直线。为建构二次贝塞尔曲线,可以中介点 Q0 和 Q1 作为由 0 至 1 的 t:· 由 P0 至 P1 的连续点 Q0,描述一条线性贝塞尔曲线。 · 由 P1 至 P2 的连续点 Q1,描述一条线性贝塞尔曲线。 · 由 Q0 至 Q1 的连续

11、点 B(t),描述一条二次贝塞尔曲线。 为建构高阶曲线,便需要相应更多的中介点。对于三次曲线,可由线性贝塞尔曲线描述的中介点 Q0、Q1、Q2,和由二次曲线描述的点 R0、R1 所建构:3.算法实现步骤及真实图像实验结果(1)边缘提取:首先我们先对原图进行边缘提取,我们利用Sobel算子边缘提取法(代码见附录),对原图像(图1)进行加工处理,这时我们可以得到一张轮廓分明的图像(图2)。以下是原图和边缘提取之后的图像对比,我们可以看到原图的轮廓被检测出来。图1图2(2)图像坐标化:我们将进行过边缘提取之后的图像拓印到纸上,并且建立坐标系,把它分解成为无数的曲线,并对每一条曲线做切线,用尺子量出各

12、条曲线的切点以及各切线的交点,并对它们做详细的记录,把点描在纸上,这时我们可以得到一张样图(图3)。图3(3)Matlab实现接下来我们要进行至关重要的一步了,由于我们已经有了各点详细的坐标了,所以我们要利用Matlab绘制图形了。我们在Matlab中输入代码(代码见附录),并且执行代码,便可得到我们想要的吉祥物文洛克的图像了(图4)。图44.结论:本课题研究了如何用贝塞尔曲线绘制图形,贝赛尔曲线的基本原理和算法实现。画师若想在电脑上绘制图形,必须用鼠标绘制,与手绘图形有巨大的区别,无法精确地绘制图形,而且鼠标绘制很难以掌握。利用贝赛尔曲线,可以精确绘制图像,画出的图像接近原图。贝赛尔曲线简单

13、且实用,只利用四个点便可以绘制出图形,通过编辑四点坐标便可以改变图形曲线。只要将原图画在坐标纸上,量出各切点以及各切线交叉点,便可画出各个曲线从而画出图像。通过学习了贝赛尔曲线的基本原理和算法实现,以及用matlab实现贝赛尔曲线的绘制,我们掌握了大量的关于贝赛尔曲线算法、原理及实现的知识,提高了我们自己独立研究和解决问题的水平,我们的实际动手能力及大家的团队协作能力均有很大的加强。5.参考文献:1孙立镌,计算机图形学,哈尔滨工业大学出版社2李兰友 山鹰,计算机绘图与图像处理基础,机械工业出版社3杨杰 黄朝,兵数字图象处理及Matlab实现,电子工业出版社4 Coons,S.A.,Surfac

14、e for computer-aided design of space figures,AD,19675 David McMahon,郑碧波译,Matlab揭秘6 冈萨雷斯,数字图像处理(第二版),电子工业出版社7 吕风军,数字图象处理编程入门,清华大学出版社6.附录: Sobel算子 %边缘提取I=imread('C:Documents and Settingsncutcyj桌面吉祥物.jpg');>> K=rgb2gray(I);BW1=-1,-2,-1;0,0,0;1,2,1;BW2=-1,0,1;-2,0,2;-1,0,1;J1=filter2(BW1,K

15、);J2=filter2(BW2,K);K1=double(J1);K2=double(J2);M=(abs(K1) +abs(K2);figure,imshow(uint8(M)二次Bezier曲线代码:function bezier2(p0,p1,p2)t=0:0.001:1;x=(p2(1)-2*p1(1)+p0(1)*t.2+2*(p1(1)-p0(1)*t+p0(1);y=(p2(2)-2*p1(2)+p0(2)*t.2+2*(p1(2)-p0(2)*t+p0(2);plot(p0(1) p1(1) p2(1),p0(2) p1(2) p2(2),'b'),hold

16、onplot(x,y,'r');执行:bezier2(4.1,10.9,4.3,10.5,4.6,10.9)hold on,bezier2(2.7,7,2.7,10.8,4.1,10.9)hold on,bezier2(4.6,10.9,5,11.2,5.2,10.5)hold on,bezier2(5.2,10.5,5.2,10.3,5.7,10.4)hold on,bezier2(5.7,10.4,6.3,8.5,4.9,7.1)hold on,bezier2(4.9,7.1,3.7,6.5,4.6,5.8)hold on,bezier2(4.6,5.8, 4.6,5.8,

17、6,3.6)hold on,bezier2(6,3.6,6.4,1.4,5,1.7)hold on,bezier2(5,1.7,5,0.2,4.1,0.4)hold on,bezier2(4.1,0.4,3.1,0.7,2.4,1.65)hold on,bezier2(2.4,1.65,2,2.3,2.2,3.9)hold on,bezier2(2.2,3.9,2.6,5.7,1.7,6.6)hold on,bezier2(1.7,6.6,0.8,7.5,0.8,9.1)hold on,bezier2(0.8,9.1,0.8,9.8,1.5,9.7)hold on,bezier2(1.5,9.

18、7,2,9.6,1.7,9.3)hold on,bezier2(1.7,9.3,2.3,9.9,1.8,8.9)hold on,bezier2(1.8,8.9,1,7.6,2,6.9)hold on,bezier2(2,6.9,2.8,5.8,2.7,7)hold on,bezier2(5,7.2,4.8,6.3,5.9,5.6) %zuo shouhold on,bezier2(5.9,5.6,6.7,5,6.9,4.7)hold on,bezier2(6.9,4.7,7.4,4.3,7.1,3.7)hold on,bezier2(7.1,3.7,6.9,3.1,6.4,4)hold on,bezier2(6.4,4,6.3,4.4,5.9,5.1)hold on,bezier2(5.9,5.1,5,5.8,5.3,4.7)hold on,bezier2(3.2,9.4,3.5,10.7,

温馨提示

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

最新文档

评论

0/150

提交评论