曲线绘制方法和系统技术方案

技术编号:13837853 阅读:114 留言:0更新日期:2016-10-16 00:12
本发明专利技术涉及一种曲线绘制方法和系统,获取用户连续输入的第一绘制点和第二绘制点的坐标;选取第一绘制点和第二绘制点之间连线上的两个参考点,并获取两个参考点的坐标。查找上一次绘制的曲线段的终点坐标作为起始点的坐标,并将第一绘制点的坐标作为起始控制点的坐标;提取两个参考点的坐标中靠近第一绘制点的坐标作为终结控制点的坐标,提取另一参考点的坐标作为终结点的坐标。根据起始点的坐标、起始控制点的坐标、终结控制点的坐标和终结点的坐标进行贝塞尔曲线绘制,得到本次绘制的曲线段。终结点与绘制点之间的部分在下一次曲线绘制时完成,下一段曲线通过上一个绘制点调整曲线的角度,使得多条曲线的连接处光滑无锯齿,提高了曲线的平滑度。

【技术实现步骤摘要】

本专利技术涉及图像绘制
,特别是涉及一种曲线绘制方法和系统
技术介绍
在图像和视频处理的软件中通常都会带有绘制功能,用户可以根据自己的需求移动鼠标进行点的绘制,计算机根据各点进行图像绘制。传统的曲线绘制方法是收到鼠标点击的消息后,记录下来点击坐标,然后获取到鼠标移动过程的坐标,收到第二个坐标的时候在前后两个点间画出直线。当收到第三个点的坐标使用第二个和第三个点的坐标画直线,由各小段不同方向的线段组合成曲线。由于画出的曲线衔接处转折太明显,当作为一条长曲线看时有明显的锯齿,传统的曲线绘制方法存在绘制的曲线平滑度低的缺点。
技术实现思路
基于此,有必要针对上述问题,提供一种曲线平滑度高的曲线绘制方法和系统。一种曲线绘制方法,包括以下步骤:获取用户连续输入的第一绘制点和第二绘制点的坐标;选取所述第一绘制点和所述第二绘制点之间连线上的两个参考点,并获取所述两个参考点的坐标;查找上一次绘制的曲线段的终点坐标作为起始点的坐标,并将所述第一绘制点的坐标作为起始控制点的坐标;提取所述两个参考点的坐标中靠近所述第一绘制点的坐标作为终结控制点的坐标,提取另一参考点的坐标作为终结点的坐标;根据所述起始点的坐标、所述起始控制点的坐标、所述终结控制点的坐标和所述终结点的坐标进行贝塞尔曲线绘制,得到本次绘制的曲线段。一种曲线绘制系统,包括:绘制点获取模块,用于获取用户连续输入的第一绘制点和第二绘制点的坐标;参考点获取模块,用于选取所述第一绘制点和所述第二绘制点之间连线上的两个参考点,并获取所述两个参考点的坐标;起始坐标获取模块,用于查找上一次绘制的曲线段的终点坐标作为起始点的坐标,并将所述第一绘制点的坐标作为起始控制点的坐标;终点坐标获取模块,用于提取所述两个参考点的坐标中靠近所述第一绘制点的坐标作为终结控制点的坐标,提取另一参考点的坐标作为终结点的坐标;曲线绘制模块,用于根据所述起始点的坐标、所述起始控制点的坐标、所述终结控制点的坐标和所述终结点的坐标进行贝塞尔曲线绘制,得到本次绘制的曲线段。上述曲线绘制方法和系统,获取用户连续输入的第一绘制点和第二绘制点的坐标;选取第一绘制点和第二绘制点之间连线上的两个参考点,并获取两个参考点的坐标。查找上一次绘制的曲线段的终点坐标作为起始点的坐标,并将第一绘制点的坐标作为起始控制点的坐标;提取两个参考点的坐标中靠近第一绘制点的坐标作为终结控制点的坐标,提取另一参考点的坐标作为终结点的坐标。根据起始点的坐标、起始控制点的坐标、终结控制点的坐标和终结点的坐标进行贝塞尔曲线绘制,得到本次绘制的曲线段。使用贝塞尔曲线来连接坐标点,在进行曲线绘制时每次只绘制一部分,终结点与绘制点之间的部分在下一次曲线绘制时完成。由于下一段曲线通过上一个绘制点调整曲线的角度,使得多条曲线的连接处光滑无锯齿,提高了曲线的平滑度。附图说明图1为一实施例中曲线绘制方法的流程图;图2为另一实施例中曲线绘制方法的流程图;图3为一实施例中曲线绘制系统的结构图;图4为另一实施例中曲线绘制系统的结构图。具体实施方式一种曲线绘制方法,如图1所示,包括以下步骤:步骤S110:获取用户连续输入的第一绘制点和第二绘制点的坐标。接收用户输入的绘制点,并获取连续输入的第一绘制点和第二绘制的坐标。第一绘制点和第二绘制点是用户连续输入的两个绘制点,可以理解,在进行曲线绘制时,随着用户不断输入绘制点,第一绘制点和第二绘制点具体所指的点也会随之发生变化。也就是说第一绘制点和第二绘制点仅用于区分不同的点,并没有限定具体位置。例如在上一次绘制曲线时,则第一绘制点是上一次绘制时的第二绘制点。用户具体可通过点击或拖动鼠标来输入绘制点,也可以是通过触控笔、手指等点击或滑动触控屏来进行绘制点的输入,即用户输入绘制点的方式并不唯一。本实施例中第一绘制点和第二绘制点的坐标为用户点击的位置坐标,或用户操作所产生的运动轨迹的起点和终点的坐标,例如,当第一次绘制曲线段时,将鼠标点击的位置作为第一绘制点,然后获取到鼠标移动结束后点击的坐标,作为第二绘制点的坐标。而在后续的曲线段绘制过程中,可直接将用户拖动鼠标时在屏幕产生的运动轨迹的起点和终点分别作为第一绘制点和第二绘制点。步骤S120:选取第一绘制点和第二绘制点之间连线上的两个参考点,并获取两个参考点的坐标。在确定第一绘制点和第二绘制点的坐标后,可对两者进行虚拟连线,选取连线上的两个点作为参考点并进行坐标提取。参考点在连线上的位置可根据实际情况调节,本实施例中步骤S120具体包括:获取第一绘制点和第二绘制点之间距离的三等分点作为参考点,并获取两个参考点的坐标。对第一绘制点和第二绘制点之间的距离三等分,得到中间的两个坐标作为两个参考点的坐标,便于坐标计算和提取,且在后续的曲线绘制时只画出2/3的曲线,剩余1/3的距离用作对下一段曲线进行曲线角度的调整,使得各曲线段的连接处光滑过度。步骤S150:查找上一次绘制的曲线段的终点坐标作为起始点的坐标,并将第一绘制点的坐标作为起始控制点的坐标。上一次绘制的曲线段是指在同一次曲线绘制中的上一曲线段,可将鼠标停
止点击或移动作为绘制停止指令,两次绘制停止指令之间用户连续点击鼠标或移动鼠标的动作作为同一次曲线绘制。曲线段的终点坐标即指在一次曲线段绘制完成后,该曲线段的绘制终点的坐标。以同一次曲线绘制中的第一个曲线段为基础,每次确定两个连续的绘制点以及绘制点之间的参考点之后,找到上一次曲线绘制时得到的曲线段,并获取曲线段的终点坐标作为起始点的坐标,并将第一绘制点的坐标作为起始控制点的坐标,用作后续进行曲线绘制。步骤S160:提取两个参考点的坐标中靠近第一绘制点的坐标作为终结控制点的坐标,提取另一参考点的坐标作为终结点的坐标。在得到两个绘制点之间的参考点的坐标之后,将靠近前一绘制点的坐标作为终结控制点的坐标,靠近后一绘制点的坐标作为终结点的坐标,用作后续进行曲线绘制。步骤S170:根据起始点的坐标、起始控制点的坐标、终结控制点的坐标和终结点的坐标进行贝塞尔曲线绘制,得到本次绘制的曲线段。根据前面步骤确定的起始点的坐标、起始控制点的坐标、终结控制点的坐标和终结点的坐标进行贝塞尔曲线绘制,即可完成本次的曲线段绘制。起始点和终结点分别为曲线段的绘制起点和绘制终点,起始控制点和终结控制点为绘制曲线段时的控制节点,用于提供方向资讯,在由起始点到终结点绘制曲线段的过程中牵制曲线形状路径。贝塞尔曲线绘制是依据四个位置任意的点坐标绘制出的一条光滑曲线,使用贝塞尔曲线公式画曲线来消除锯齿。曲线起于起始点走向起始控制点,并从终结控制点的方向来到终结点,一般不会经过起始控制点和终结控制点,这两个点用作提供方向资讯,起始点与起始控制点之间的间距决定了曲线在转而趋进终结点之前,走向终结控制点方向的“长度有多长”。利用三次贝塞尔曲线原理进行曲线段的绘制,避免曲线出现锯齿,提高曲线平滑度,操作简便且可靠性高。在其中一个实施例中,如图2所示,步骤S120之后,步骤S150之前,曲线绘制方法还包括步骤S130。步骤S130:判断是否存在上一次绘制的曲线段;若是,则进行步骤S150。在步骤S150之前进行查找,检测是否存在上一次绘制的曲线段,若是,则
说明本次曲线绘制不是第一次绘制,进行步骤本文档来自技高网
...

【技术保护点】
一种曲线绘制方法,其特征在于,包括以下步骤:获取用户连续输入的第一绘制点和第二绘制点的坐标;选取所述第一绘制点和所述第二绘制点之间连线上的两个参考点,并获取所述两个参考点的坐标;查找上一次绘制的曲线段的终点坐标作为起始点的坐标,并将所述第一绘制点的坐标作为起始控制点的坐标;提取所述两个参考点的坐标中靠近所述第一绘制点的坐标作为终结控制点的坐标,提取另一参考点的坐标作为终结点的坐标;根据所述起始点的坐标、所述起始控制点的坐标、所述终结控制点的坐标和所述终结点的坐标进行贝塞尔曲线绘制,得到本次绘制的曲线段。

【技术特征摘要】
1.一种曲线绘制方法,其特征在于,包括以下步骤:获取用户连续输入的第一绘制点和第二绘制点的坐标;选取所述第一绘制点和所述第二绘制点之间连线上的两个参考点,并获取所述两个参考点的坐标;查找上一次绘制的曲线段的终点坐标作为起始点的坐标,并将所述第一绘制点的坐标作为起始控制点的坐标;提取所述两个参考点的坐标中靠近所述第一绘制点的坐标作为终结控制点的坐标,提取另一参考点的坐标作为终结点的坐标;根据所述起始点的坐标、所述起始控制点的坐标、所述终结控制点的坐标和所述终结点的坐标进行贝塞尔曲线绘制,得到本次绘制的曲线段。2.根据权利要求1所述的曲线绘制方法,其特征在于,所述选取所述第一绘制点和所述第二绘制点之间连线上的两个参考点,并获取所述两个参考点的坐标的步骤包括:获取所述第一绘制点和所述第二绘制点之间距离的三等分点作为参考点,并获取两个所述参考点的坐标。3.根据权利要求1所述的曲线绘制方法,其特征在于,所述选取所述第一绘制点和所述第二绘制点之间连线上的两个参考点,并获取所述两个参考点的坐标的步骤之后,所述查找上一次绘制的曲线段的终点坐标作为起始点的坐标,并将所述第一绘制点的坐标作为起始控制点的坐标的步骤之前,还包括以下步骤:判断是否存在上一次绘制的曲线段;若是,则进行所述查找上一次绘制的曲线段的终点坐标作为起始点的坐标,并将所述第一绘制点的坐标作为起始控制点的坐标的步骤。4.根据权利要求3所述的曲线绘制方法,其特征在于,若不存在上一次绘制的曲线段,还包括以下步骤:将所述第一绘制点的坐标作为起始点和起始控制点的坐标,并进行所述提取所述两个参考点的坐标中靠近所述第一绘制点的坐标作为终结控制点的坐标,提取另一参考点的坐标作为终结点的坐标的步骤。5.根据权利要求1所述的曲线绘制方法,其特征在于,所述第一绘制点和
\t第二绘制点的坐标为用户点击的位置坐标,或用户操作所产生的运动轨迹的起点和终点的坐标。6.一种曲线绘制系统,其特征在于,包括:绘制点获取模块,用于获取用户连续输入的第一绘制...

【专利技术属性】
技术研发人员:薄景仁
申请(专利权)人:广州视睿电子科技有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1