1、指导教师:张彩霞 时间:19周21周摘 要:本文对Bezier曲线及其性质进行研究,利用Matlab软件对吉祥物文洛克进行Sobel算子边缘提取工作,之后进行找点,通过Matlab描点绘制吉祥物文洛克的边缘。在众多的课题中,我们一眼就挑中了这个课题,因为我们觉得这项课题可能非常有意思,经过我们深入的研究,发现贝赛尔曲线很适合用来在电脑上绘制图形,用起来非常方便。贝塞尔曲线是计算机图形图像造型的基本工具,是图形造型运用得最多的基本线条之一。阐述了Bezier方法在绘图上的应用, Bezier曲线具有良好的几何性质,能简洁、完美地描述和表达曲面。Abstract: In this paper, t
2、he 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 rock-the mascot. In many of the topic, we immediately singled out on the subject, because we feel that the subjec
3、t 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 the basic tool modelling, is using the most graphic modelling is one of the basic line. Describes the method of dr
4、awing in Bezier application, Bezier curve has good geometrical properties, can concise, perfect to describe and express surface. 关键词: Bezier曲线 造型 边缘提取 曲面 Sobel算子Keywords:Bezier curve modeling Edge extraction curved surface Sobel operator1.引言 曲线的表示是计算机图形学的重要内容,它是描述物体的外形,建立所画对象的数学模型的有力工具。1962年,法国雷诺汽车公
5、司的工程师P.E.Bezier构造了一种以逼近为基础的参数曲线和曲面设计方法,以这种方法为主完成了一个称为UNISURE的曲线和曲面设计系统,并1972年在公司投入使用。Bezier方法将函数逼近同几何表示结合起来,使得设计师在工程设计中能比较直观地意识到所给条件与设计出的曲线之间的关系,能方便地通过控制输入参数来改变曲线的形状。 本文首先Bezier曲线的造型问题做进一步研究,接下来对吉祥物文洛克进行边缘提取,利用坐标纸描点,生成一系列的点集Pi,再用Matlab画出每一条逼近曲线。Bezier曲线具有良好的几何性质,能简洁、完美地描述和表达自由曲线曲面,在CADPCAM技术中得到广泛的应用
6、。本课题研究的是Bezier方法与吉祥物图案设计,本课题研究的意义是为了论证Bezier曲线具有良好的几何性质,能简洁、完美地描述和表达曲面。本课题研究的整体框架是基于Matlab软件与Bezier算法得以画出图像的边缘。对图像实际问题做简单处理。它通过控制曲线上的四个点(起始点、终止点以及两个相互分离的中间点)来创造、编辑图形。其中起重要作用的是位于曲线中央的控制线。这条线是虚拟的,中间与贝塞尔曲线交叉,两端是控制端点。移动两端的端点时贝塞尔曲线改变曲线的曲率(弯曲的程度);移动中间点(也就是移动虚拟的控制线)时,贝塞尔曲线在起始点和终止点锁定的情况下做均匀移动。曲线是由锚点来控制的, 锚点
7、的类型有 1.平滑点:有两个相关联的控制手柄,改变一个手柄的角度另一个也会变化,改变一个手柄的长度不影响另一个。这样我们就可以通过把一个平滑点的一个手柄的长度拖动为0,就是把手柄的端点拖到锚点上使其重合,来创建一个组合角点。平滑点的作用是沿路径引导路径,不会严重或突然改变路径。可以在需要比较平滑的曲线处加平滑点然后拖动平滑点的控制手柄来进一步控制曲线走向。2.直角点:两条直线的交点,它不存在控制手柄,只能通过改变它的位置来调整直线的一些走向。3.曲线角点:两条不同的曲线段在一个角交汇处的锚点。这样的锚点也是有两个控制手柄,但是之间没有任何联系,它们分别控制曲线角点两边的不同的两条曲线。注意:可
8、能有人会觉得画不出两条曲线连在一起,更不要说产生控制两条曲线的曲线角点了。我们可以在一条曲线中间加一个锚点,这是产生的是一个平滑点,然后拖动其中一个手柄时按住alt键或者用转锚点类型的工具,打破两个手柄的联系,这样你就成功的创建了一个曲线角点。4.组合角点:是曲线和直线的焦点,只有一条控制曲的手柄。组合角点是如何创建的在上面已经讲过了。2.课题中涉及的算法的基本思想或基本原理(1)一次贝济埃曲线曲线形状仅与特征多边形各顶点P1有关。当n=1时,方程式为:P(t)=(1-t)P0+tP1 (0=t K=rgb2gray(I);BW1=-1,-2,-1;0,0,0;1,2,1;BW2=-1,0,1
9、;-2,0,2;-1,0,1;J1=filter2(BW1,K);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)
10、 p1(2) p2(2),b),hold 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,
11、 4.6,5.8,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,bezie
12、r2(1.5,9.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
13、)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,4.6,9.9) %yan jinghold on,bezier2(4.6,9.9,5.6,10,5.6,9)hold on,bezier2(5.6,9,5.4,7.9,4.2,8)hold on,bezier2(4.2,8,3.2,8.1,3.2,9.4)hold on,bezier2(4,9.25,4,9,4.25,9)hold on,bezier2(4.25,9,4.5,9,4.5,9.25)hold on,bezier2(4.5,9.25,4.5,9.5,4.25,9.5)hold on,bezier2(4.25,9.5,4,9.5,4,9.25)