绘制平行曲线的方法和设备技术

技术编号:9336461 阅读:120 留言:0更新日期:2013-11-13 16:55
本发明专利技术公开了一种绘制平行曲线的方法和设备,属于计算机领域。所述方法包括:根据贝塞尔关系式绘制出第一贝塞尔曲线;判断出第一贝塞尔曲线满足切分条件时,对第一贝塞尔曲线进行切分操作得到切分后的第二贝塞尔曲线和第三贝塞尔曲线,并判断出第二贝塞尔曲线和/或第三贝塞尔曲线满足切分条件时,则执行切分操作,直到切分后的N段曲线不满足切分条件为止;以切分后的每段曲线为已知曲线,根据已知曲线和预设的宽度值,绘制出平行曲线。本发明专利技术通过在绘制平行曲线时,将曲线分为多段,并对分段后的曲线采用端点切线平行的方法绘制出曲线,从而绘制出完美的平行曲线,且对于长度很长的曲线,也能绘制出理想的平行曲线。

【技术实现步骤摘要】
绘制平行曲线的方法和设备
本专利技术涉及计算机领域,特别涉及一种绘制平行曲线的方法和设备。
技术介绍
随着计算机的广泛应用,越来越多的设计师利用计算机绘制图形。绘制图像的过程中往往涉及到曲线的绘制,尤其是平行曲线的绘制,平行曲线是指第一曲线任一切线的切点,与之对应第二曲线的切点,两个切点的切线平行,两个切点之间的距离处处相等,且等于预设宽度,如何将绘制出的平行曲线达到曲线平行的效果,一直是人们关注的焦点和致力于解决的问题。现有技术在绘制平行曲线时,首先获知曲线的起始点、控制点和终点,根据该起始点、控制点和终点绘制出辅助曲线,以辅助曲线为中心线在辅助曲线的两侧绘制相同宽度的两条曲线,这两条曲线即为绘制出的平行曲线。在实现本专利技术的过程中,专利技术人发现现有技术至少存在以下问题:两条曲线的长度越长,两条曲线会出现明显的不平行效果,且曲线的倾斜度不同,两条曲线的宽度会有差异,出现明显的不平行效果。
技术实现思路
为了绘制出完美的平行曲线,本专利技术实施例提供了一种绘制平行曲线的方法和设备。所述技术方案如下:一方面,本专利技术实施例提供了一种绘制平行曲线的方法,所述方法包括:根据贝塞尔关系式、第一起始点、第一控制点和第一终点绘制出第一贝塞尔曲线;判断所述第一贝塞尔曲线是否满足切分条件;当所述第一贝塞尔曲线满足切分条件时,对所述第一贝塞尔曲线进行切分操作得到切分后的第二贝塞尔曲线和第三贝塞尔曲线,并分别判断所述第二贝塞尔曲线和/或所述第三贝塞尔曲线是否满足切分条件;当所述第二贝塞尔曲线和/或所述第三贝塞尔曲线满足切分条件时,则执行切分操作,直到切分后的N段曲线不满足切分条件为止,所述N为大于2的整数;以切分后的每段曲线为已知曲线,根据所述已知曲线和预设的宽度值,绘制出平行曲线。其中,所述切分条件具体为:所述第一控制点到所述第一起始点的第一连线,与所述第一控制点到所述第一终点的第二连线之间的夹角小于预设角度。其中,所述对所述第一贝塞尔曲线进行切分操作得到切分后的第二贝塞尔曲线和第三贝塞尔曲线,具体包括:对所述贝塞尔曲线的变量取预设值,得到切分点;在所述切分点对所述第一贝塞尔曲线进行切分操作得到第二贝塞尔曲线和第三贝塞尔曲线。其中,所述贝塞尔关系式具体为:P(t)=(1-t^2)Ps+2*t(1-t)Pc+(t^2)Pe,其中,P(t)表示贝塞尔曲线,t表示贝塞尔曲线的坐标变量,t^2表示t的平方,Ps表示第一起始点,Pc表示第一控制点,Pe表示第一终点,所述t的预设值具体为0.5。其中,所述预设角度具体为90度。其中,所述判断所述第二贝塞尔曲线和/或所述第三贝塞尔曲线是否满足切分条件,具体包括:根据所述第二贝塞尔曲线和所述第一贝塞尔曲线得到所述第二贝塞尔曲线的第二控制点,以所述切分点为所述第二贝塞尔曲线的第二终点,以所述第一起始点为所述第二贝塞尔曲线的第二起始点;判断所述第二控制点到所述第一起始点的第三连线,与所述第二控制点到所述第二终点的第四连线之间的夹角是否小于预设角度;当所述第三连线与所述第四连线之间的夹角小于预设角度时,则判断出所述第二贝塞尔曲线满足切分条件;和/或;根据所述第一贝塞尔曲线和所述第三贝塞尔曲线得到所述第三贝塞尔曲线的第三控制点,以所述切分点为所述第三贝塞尔曲线的第三终点,以所述第一终点为所述第三贝塞尔曲线的第三起始点;判断所述第三控制点到所述第一终点的第五连线,与所述第三控制点到所述第三终点的第六连线之间的夹角是否小于预设角度;当所述第五连线与所述第六连线之间的夹角小于预设角度时,则判断出所述第三贝塞尔曲线满足切分条件。其中,所述根据所述第二贝塞尔曲线和所述第一贝塞尔曲线得到所述第二贝塞尔曲线的第二控制点,具体包括:以所述第一起始点为切点,对所述第一贝塞尔曲线做第一切线;以所述第二终点为切点,对所述第二贝塞尔曲线做第二切线;所述第一切线和所述第二切线的交点作为所述第二贝塞尔曲线的第二控制点。其中,所述根据所述已知曲线和预设的宽度值,绘制出平行曲线,具体包括:在所述已知曲线的两侧,与所述已知曲线距离所述宽度值的一半处分别绘制一条曲线得到第一曲线和第二曲线;所述第一曲线和所述第二曲线为构成平行曲线。另一方面,本专利技术实施例提供了一种绘制平行曲线的设备,所述设备包括:第一绘制模块,用于根据贝塞尔关系式、第一起始点、第一控制点和第一终点绘制出第一贝塞尔曲线;判断模块,用于判断所述第一绘制模块绘制出的所述第一贝塞尔曲线是否满足切分条件;第一执行模块,用于当所述判断模块判断出的所述第一贝塞尔曲线满足切分条件时,对所述第一贝塞尔曲线进行切分操作得到切分后的第二贝塞尔曲线和第三贝塞尔曲线,并分别判断所述第二贝塞尔曲线和/或所述第三贝塞尔曲线是否满足切分条件;第二执行模块,用于当所述第一执行模块得到的所述第二贝塞尔曲线和/或所述第三贝塞尔曲线满足切分条件时,则执行切分操作,直到切分后的N段曲线不满足切分条件为止,所述N为大于2的整数;第二绘制模块,用于对所述第二执行模块得到的每段曲线为已知曲线,根据所述已知曲线和预设的宽度值,绘制出平行曲线。其中,所述判断模块,具体用于判断所述第一绘制模块绘制出的所述第一贝塞尔曲线的第一控制点到所述第一起始点的第一连线,与所述第一控制点到所述第一终点的第二连线之间的夹角是否小于预设角度。其中,所述第一执行模块具体包括切分单元和判断单元;所述切分单元,用于当所述判断模块判断出的所述第一贝塞尔曲线满足切分条件时,对所述贝塞尔曲线的变量取预设值,得到切分点;并在所述切分点对所述第一贝塞尔曲线进行切分操作得到第二贝塞尔曲线和第三贝塞尔曲线;所述判断单元,用于分别判断所述第二贝塞尔曲线和所述第三贝塞尔曲线是否满足切分条件。其中,所述第一执行模块具体包括切分单元和判断单元;所述切分单元,用于当所述判断模块判断出的所述第一贝塞尔曲线满足切分条件时,对所述贝塞尔曲线的变量取预设值,得到切分点;并在所述切分点对所述第一贝塞尔曲线进行切分操作得到第二贝塞尔曲线和第三贝塞尔曲线;所述判断单元,用于根据所述第二贝塞尔曲线和所述第一贝塞尔曲线得到所述第二贝塞尔曲线的第二控制点,以所述切分点为所述第二贝塞尔曲线的第二终点,以所述第一起始点为所述第二贝塞尔曲线的第二起始点;判断所述第二控制点到所述第一起始点的第三连线,与所述第二控制点到所述第二终点的第四连线之间的夹角是否小于预设角度;当所述第三连线与所述第四连线之间的夹角小于预设角度时,则判断出所述第二贝塞尔曲线满足切分条件;和/或,所述判断单元,用于根据所述第一贝塞尔曲线和所述第三贝塞尔曲线得到所述第三贝塞尔曲线的第三控制点,以所述切分点为所述第三贝塞尔曲线的第三终点,以所述第一终点为所述第三贝塞尔曲线的第三起始点;判断所述第三控制点到所述第一终点的第五连线,与所述第三控制点到所述第三终点的第六连线之间的夹角是否小于预设角度;当所述第五连线与所述第六连线之间的夹角小于预设角度时,则判断出所述第三贝塞尔曲线满足切分条件。其中,所述判断单元具体包括确定控制点子单元、确定子单元和判断子单元;所述确定控制点子单元,用于以所述第一起始点为切点,对所述第一贝塞尔曲线做第一切线;并以所述第二终点为切点,对所述第二贝塞尔曲线做第二切线;所述第一切线和所述第二切线的交点作为所述本文档来自技高网...
绘制平行曲线的方法和设备

【技术保护点】
一种绘制平行曲线的方法,其特征在于,所述方法包括:根据贝塞尔关系式、第一起始点、第一控制点和第一终点绘制出第一贝塞尔曲线;判断所述第一贝塞尔曲线是否满足切分条件;当所述第一贝塞尔曲线满足切分条件时,对所述第一贝塞尔曲线进行切分操作得到切分后的第二贝塞尔曲线和第三贝塞尔曲线,并分别判断所述第二贝塞尔曲线和/或所述第三贝塞尔曲线是否满足切分条件;当所述第二贝塞尔曲线和/或所述第三贝塞尔曲线满足切分条件时,则执行切分操作,直到切分后的N段曲线不满足切分条件为止,所述N为大于2的整数;以切分后的每段曲线为已知曲线,根据所述已知曲线和预设的宽度值,绘制出平行曲线。

【技术特征摘要】
1.一种绘制平行曲线的方法,其特征在于,所述方法包括:根据贝塞尔关系式、第一起始点、第一控制点和第一终点绘制出第一贝塞尔曲线;判断所述第一贝塞尔曲线是否满足切分条件;当所述第一贝塞尔曲线满足切分条件时,对所述第一贝塞尔曲线进行切分操作得到切分后的第二贝塞尔曲线和第三贝塞尔曲线,并分别判断所述第二贝塞尔曲线和/或所述第三贝塞尔曲线是否满足切分条件;当所述第二贝塞尔曲线和/或所述第三贝塞尔曲线满足切分条件时,则执行切分操作,直到切分后的N段曲线不满足切分条件为止,所述N为大于2的整数;以切分后的每段曲线为已知曲线,根据所述已知曲线和预设的宽度值,绘制出平行曲线;所述切分条件具体为:所述第一控制点到所述第一起始点的第一连线,与所述第一控制点到所述第一终点的第二连线之间的夹角小于预设角度,上述曲线的绘制均由计算机实现。2.如权利要求1所述的方法,其特征在于,所述对所述第一贝塞尔曲线进行切分操作得到切分后的第二贝塞尔曲线和第三贝塞尔曲线,具体包括:对所述第一贝塞尔曲线的变量取预设值,得到切分点;在所述切分点对所述第一贝塞尔曲线进行切分操作得到第二贝塞尔曲线和第三贝塞尔曲线。3.如权利要求1所述的方法,其特征在于,所述贝塞尔关系式具体为:P(t)=(1-t^2)Ps+2*t(1-t)Pc+(t^2)Pe,其中,P(t)表示贝塞尔曲线,t表示贝塞尔曲线的坐标变量,t^2表示t的平方,Ps表示第一起始点,Pc表示第一控制点,Pe表示第一终点,所述t的预设值具体为0.5。4.如权利要求1所述的方法,其特征在于,所述预设角度具体为90度。5.如权利要求2所述的方法,其特征在于,所述判断所述第二贝塞尔曲线和/或所述第三贝塞尔曲线是否满足切分条件,具体包括:根据所述第二贝塞尔曲线和所述第一贝塞尔曲线得到所述第二贝塞尔曲线的第二控制点,以所述切分点为所述第二贝塞尔曲线的第二终点,以所述第一起始点为所述第二贝塞尔曲线的第二起始点;判断所述第二控制点到所述第一起始点的第三连线,与所述第二控制点到所述第二终点的第四连线之间的夹角是否小于预设角度;当所述第三连线与所述第四连线之间的夹角小于预设角度时,则判断出所述第二贝塞尔曲线满足切分条件;和/或;根据所述第一贝塞尔曲线和所述第三贝塞尔曲线得到所述第三贝塞尔曲线的第三控制点,以所述切分点为所述第三贝塞尔曲线的第三终点,以所述第一终点为所述第三贝塞尔曲线的第三起始点;判断所述第三控制点到所述第一终点的第五连线,与所述第三控制点到所述第三终点的第六连线之间的夹角是否小于预设角度;当所述第五连线与所述第六连线之间的夹角小于预设角度时,则判断出所述第三贝塞尔曲线满足切分条件。6.如权利要求5所述的方法,其特征在于,所述根据所述第二贝塞尔曲线和所述第一贝塞尔曲线得到所述第二贝塞尔曲线的第二控制点,具体包括:以所述第一起始点为切点,对所述第一贝塞尔曲线做第一切线;以所述第二终点为切点,对所述第二贝塞尔曲线做第二切线;所述第一切线和所述第二切线的交点作为所述第二贝塞尔曲线的第二控制点。7.如权利要求1所述的方法,其特征在于,所述根据所述已知曲线和预设的宽度值,绘制出平行曲线,具体包括:在所述已知曲线的两侧,与所述已知曲线距离所述宽度值的一半处分别绘制一条曲线得到第一曲线和第二曲线;所述第一曲线和所述第二曲线构成平行曲线。8.一种绘制平行曲线的设备,其特征在于,所述设备包括:第一绘制模块,用于根据贝塞尔关系式、第一起始点、第一控制点和第一终点绘制出第一贝塞尔曲线;判断模块,用于判断所述第一绘制模块绘制出的所述第一贝塞尔曲线是否满足切分条件;第一执行模块,用于当所述判断模块判断出的所述第一贝塞尔曲线满足切分条件时,对所述第一贝塞尔曲线进行切分操作得到切分后的第二贝塞尔曲线和第三贝塞尔曲线,并分别判断所述第二贝塞尔曲线和/或所述第三贝塞尔曲线是否满足切分条件;第二执行模块,用于当所...

【专利技术属性】
技术研发人员:侯小丽孙金阳
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

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

1