绘制平行曲线的方法和设备与流程

文档序号:12836600阅读:374来源:国知局
绘制平行曲线的方法和设备与流程
本发明涉及计算机领域,特别涉及一种绘制平行曲线的方法和设备。

背景技术:
随着计算机的广泛应用,越来越多的设计师利用计算机绘制图形。绘制图像的过程中往往涉及到曲线的绘制,尤其是平行曲线的绘制,平行曲线是指第一曲线任一切线的切点,与之对应第二曲线的切点,两个切点的切线平行,两个切点之间的距离处处相等,且等于预设宽度,如何将绘制出的平行曲线达到曲线平行的效果,一直是人们关注的焦点和致力于解决的问题。现有技术在绘制平行曲线时,首先获知曲线的起始点、控制点和终点,根据该起始点、控制点和终点绘制出辅助曲线,以辅助曲线为中心线在辅助曲线的两侧绘制相同宽度的两条曲线,这两条曲线即为绘制出的平行曲线。在实现本发明的过程中,发明人发现现有技术至少存在以下问题:两条曲线的长度越长,两条曲线会出现明显的不平行效果,且曲线的倾斜度不同,两条曲线的宽度会有差异,出现明显的不平行效果。

技术实现要素:
为了绘制出完美的平行曲线,本发明实施例提供了一种绘制平行曲线的方法和设备。所述技术方案如下:一方面,本发明实施例提供了一种绘制平行曲线的方法,所述方法包括:根据贝塞尔关系式、第一起始点、第一控制点和第一终点绘制出第一贝塞尔曲线;判断所述第一贝塞尔曲线是否满足切分条件;当所述第一贝塞尔曲线满足切分条件时,对所述第一贝塞尔曲线进行切分操作得到切分后的第二贝塞尔曲线和第三贝塞尔曲线,并分别判断所述第二贝塞尔曲线和/或所述第三贝塞尔曲线是否满足切分条件;当所述第二贝塞尔曲线和/或所述第三贝塞尔曲线满足切分条件时,则执行切分操作,直到切分后的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的整数;第二绘制模块,用于对所述第二执行模块得到的每段曲线为已知曲线,根据所述已知曲线和预设的宽度值,绘制出平行曲线。其中,所述判断模块,具体用于判断所述第一绘制模块绘制出的所述第一贝塞尔曲线的第一控制点到所述第一起始点的第一连线,与所述第一控制点到所述第一终点的第二连线之间的夹角是否小于预设角度。其中,所述第一执行模块具体包括切分单元和判断单元;所述切分单元,用于当所述判断模块判断出的所述第一贝塞尔曲线满足切分条件时,对所述贝塞尔曲线的变量取预设值,得到切分点;并在所述切分点对所述第一贝塞尔曲线进行切分操作得到第二贝塞尔曲线和第三贝塞尔曲线;所述判断单元,用于分别判断所述第二贝塞尔曲线和所述第三贝塞尔曲线是否满足切分条件。其中,所述第一执行模块具体包括切分单元和判断单元;所述切分单元,用于当所述判断模块判断出的所述第一贝塞尔曲线满足切分条件时,对所述贝塞尔曲线的变量取预设值,得到切分点;并在所述切分点对所述第一贝塞尔曲线进行切分操作得到第二贝塞尔曲线和第三贝塞尔曲线;所述判断单元,用于根据所述第二贝塞尔曲线和所述第一贝塞尔曲线得到所述第二贝塞尔曲线的第二控制点,以所述切分点为所述第二贝塞尔曲线的第二终点,以所述第一起始点为所述第二贝塞尔曲线的第二起始点;判断所述第二控制点到所述第一起始点的第三连线,与所述第二控制点到所述第二终点的第四连线之间的夹角是否小于预设角度;当所述第三连线与所述第四连线之间的夹角小于预设角度时,则判断出所述第二贝塞尔曲线满足切分条件;和/或,所述判断单元,用于根据所述第一贝塞尔曲线和所述第三贝塞尔曲线得到所述第三贝塞尔曲线的第三控制点,以所述切分点为所述第三贝塞尔曲线的第三终点,以所述第一终点为所述第三贝塞尔曲线的第三起始点;判断所述第三控制点到所述第一终点的第五连线,与所述第三控制点到所述第三终点的第六连线之间的夹角是否小于预设角度;当所述第五连线与所述第六连线之间的夹角小于预设角度时,则判断出所述第三贝塞尔曲线满足切分条件。其中,所述判断单元具体包括确定控制点子单元、确定子单元和判断子单元;所述确定控制点子单元,用于以所述第一起始点为切点,对所述第一贝塞尔曲线做第一切线;并以所述第二终点为切点,对所述第二贝塞尔曲线做第二切线;所述第一切线和所述第二切线的交点作为所述第二贝塞尔曲线的第二控制点;所述确定子单元,用于以所述切分点为所述第二贝塞尔曲线的第二终点;所述判断子单元,用于判断所述第二控制点到所述第一起始点的第三连线,与所述第二控制点到所述第二终点的第四连线之间的夹角是否小于预设角度;当所述第三连线与所述第四连线之间的夹角小于预设角度时,则判断出所述第二贝塞尔曲线满足切分条件;和/或,所述确定控制点子单元,用于以所述第一终点为切点,对所述第一贝塞尔曲线做第三切线;并以所述切分点为切点,对所述第三贝塞尔曲线做第四切线;所述第三切线和所述第四切线的交点作为所述第三贝塞尔曲线的第三控制点;所述确定子单元,用于以所述切分点为所述第三贝塞尔曲线的第三终点;所述判断子单元,用于判断所述第三控制点到所述第一终点的第五连线,与所述第三控制点到所述第三终点的第六连线之间的夹角是否小于预设角度;当所述第五连线与所述第六连线之间的夹角小于预设角度时,则判断出所述第三贝塞尔曲线满足切分条件。其中,所述第二绘制模块,用于在所述已知曲线的两侧,与所述已知曲线距离所述宽度值的一半处分别绘制一条曲线得到第一曲线和第二曲线;所述第一曲线和所述第二曲线构成平行曲线。本发明实施例提供的技术方案带来的有益效果是:通过在绘制平行曲线时,将曲线分为多段,并对分段后的曲线采用端点切线平行的方法绘制出曲线,从而绘制出完美的平行曲线,且对于长度很长的曲线,也能绘制出理想的平行曲线。附图说明为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本发明实施例1提供的绘制平行曲线的方法流程图;图2是本发明实施例2提供的绘制平行曲线的方法流程图;图3是本发明实施例2提供的第一贝塞尔曲线的示意图;图4a是本发明实施例2提供的第二贝塞尔曲线的示意图;图4b是本发明实施例2提供的第三贝塞尔曲线的示意图;图5是本发明实施例3提供的绘制平行曲线的设备的结构示意图;图6是本发明实施例3提供的绘制平行曲线的设备的另一结构示意图。具体实施方式为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。实施例1参见图1,本发明实施例提供了一种绘制平行曲线的方法,所述方法包括:101:根据贝塞尔关系式、第一起始点、第一控制点和第一终点绘制出第一贝塞尔曲线;102:判断第一贝塞尔曲线是否满足切分条件;103:当第一贝塞尔曲线满足切分条件时,对第一贝塞尔曲线进行切分操作得到切分后的第二贝塞尔曲线和第三贝塞尔曲线,并分别判断第二贝塞尔曲线和/或第三贝塞尔曲线是否满足切分条件;104:当第二贝塞尔曲线和/或第三贝塞尔曲线满足切分条件时,则执行切分操作,直到切分后的N段曲线不满足切分条件为止,N为大于2的整数;105:以切分后的每段曲线为已知曲线,根据已知曲线和预设的宽度值,绘制出平行曲线。其中,本实施例中,切分条件具体为:第一控制点到第一起始点的第一连线,与第一控制点到第一终点的第二连线之间的夹角小于预设角度。其中,对第一贝塞尔曲线进行切分操作得到切分后的第二贝塞尔曲线和第三贝塞尔曲线,具体包括:对贝塞尔曲线的变量取预设值,得到切分点;在切分点对第一贝塞尔曲线进行切分操作得到第二贝塞尔曲线和第三贝塞尔曲线。其中,贝塞尔关系式具体为: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度。其中,判断第二贝塞尔曲线和/或第三贝塞尔曲线是否满足切分条件,具体包括:根据第二贝塞尔曲线和第一贝塞尔曲线得到第二贝塞尔曲线的第二控制点,以切分点为第二贝塞尔曲线的第二终点,以第一起始点为第二贝塞尔曲线的第二起始点;判断第二控制点到第一起始点的第三连线,与第二控制点到第二终点的第四连线之间的夹角是否小于预设角度;当第三连线与第四连线之间的夹角小于预设角度时,则判断出第二贝塞尔曲线满足切分条件;和/或;根据第一贝塞尔曲线和第三贝塞尔曲线得到第三贝塞尔曲线的第三控制点,以切分点为第三贝塞尔曲线的第三终点,以第一终点为第三贝塞尔曲线的第三起始点;判断第三控制点到第一终点的第五连线,与第三控制点到第三终点的第六连线之间的夹角是否小于预设角度;当第五连线与第六连线之间的夹角小于预设角度时,则判断出第三贝塞尔曲线满足切分条件。其中,根据第二贝塞尔曲线和第一贝塞尔曲线得到第二贝塞尔曲线的第二控制点,具体包括:以第一起始点为切点,对第一贝塞尔曲线做第一切线;以第二终点为切点,对第二贝塞尔曲线做第二切线;第一切线和第二切线的交点作为第二贝塞尔曲线的第二控制点。其中,根据已知曲线和预设的宽度值,绘制出平行曲线,具体包括:在已知曲线的两侧,与已知曲线距离宽度值的一半处分别绘制一条曲线得到第一曲线和第二曲线;第一曲线和第二曲线构成平行曲线。本发明实施例提供的方法,通过在绘制平行曲线时,将曲线分为多段,并对分段后的曲线采用端点切线平行的方法绘制出曲线,从而绘制出完美的平行曲线,且对于长度很长的曲线,也能绘制出理想的平行曲线。实施例2参见图2,本发明实施例提供了一种绘制平行曲线的方法,所述方法包括:201:根据贝塞尔关系式、第一起始点、第一控制点和第一终点绘制出第一贝塞尔曲线。具体地,第一起始点、第一控制点和第一终点为已知值,贝塞尔关系式为: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,1]。第一起始点、第一控制点和第一终点的坐标均为已知,因而根据上述关系式即可绘制出一条贝塞尔曲线,此处将该贝塞尔曲线称为第一贝塞尔曲线,第一并不是对贝塞尔曲线的限定,只是为了与后面提到的其他贝塞尔曲线进行区分。如图3所示的第一贝塞尔曲线,可以理解,曲线最左边的点A为第一贝塞尔曲线的第一起始点,曲线最右边的点B为第一终点,曲线最下面的点C为第一控制点。202:判断第一贝塞尔曲线是否满足切分条件,若满足,则执行步骤203,否则步骤结束。具体地,本发明实施例根据第一贝塞尔曲线的特点将该曲线切分为两段或多段贝塞尔曲线,进而对分段后的多段贝塞尔曲线采用端点切线平行的方法进行绘制,绘制出平行曲线。本发明实施例中的切分条件具体为:将第一贝塞尔曲线的第一控制点连接到第一起始点得到第一连线,将第一控制点连接到第一终点得到第二连线,该第一连线与第二连线之间的夹角小于预设角度。当第一连线与第二连线之间的夹角小于预设角度时,则满足切分条件。具体地,此处的预设角度可以为90度,也就是说,当第一连线与第二连线之间的夹角小于90度时,对该第一贝塞尔曲线进行切分操作,对第一贝塞尔曲线进行切分后得到两条贝塞尔曲线,本发明实施例将该两条贝塞尔曲线称为第二贝塞尔曲线和第三贝塞尔曲线。203:对第一贝塞尔曲线进行切分操作得到第二贝塞尔曲线和第三贝塞尔曲线。对于该步骤,对第一贝塞尔曲线的具体切分操作如下:对上述贝塞尔关系式中,在t=0.5处进行切分,也就是说t=0.5对应的点为切分点,在该切分点出进行切分,将第一贝塞尔曲线切分为两条贝塞尔曲线。切分操作实际上是将步骤201中绘制出的第一贝塞尔曲线进行了分段处理,将长度较长的曲线分为长度较短的曲线。本发明实施例中,需要进一步判断切分后的两条贝塞尔曲线是否满足切分条件,若其中一条曲线或两条曲线满足切分条件,则对满足切分条件的曲线继续进行切分操作,此处进行递归处理,即进行上述第一次切分操作后,对第一次切分后得到的两条曲线继续进行第二次切分操作或第三次切分操作,并对第二次切分操作或第三次切分操作得到的分段曲线继续进行切分操作,直到切分后的N段曲线均不满足切分条件为止,也就是说对第一贝塞尔曲线进行多次切分操作后产生的N段曲线均不满足切分条件,此时再对该N段曲线统一进行后续处理操作。其中,此处的N为大于2的整数,N的具体数值与第一贝塞尔曲线的特征有关,本发明在此不做限定。204:分别判断第二贝塞尔曲线和/或第三贝塞尔曲线是否满足切分条件,判断出第二贝塞尔曲线和/或第三贝塞尔曲线满足切分条件时,则执行切分操作,直到切分后的N段曲线不满足切分条件为止。对于该步骤,对第一贝塞尔曲线进行切分操作得到两条贝塞尔曲线后,本发明实施例需要对切分后的这两条贝塞尔曲线继续进行切分操作,即判断这两条贝塞尔曲线是否满足切分条件,将满足切分条件的贝塞尔曲线继续进行切分处理。该步骤中的切分条件同上述步骤202中的切分条件,此处不再赘述。本发明实施例对上述第一贝塞尔曲线进行切分操作后,得到如图4a和图4b所示的两条贝塞尔曲线,为便于说明,本发明实施例将切分后的左边的曲线称为第二贝塞尔曲线,将切分后的右边的曲线称为第三贝塞尔曲线,实际应用中,也可以将切分后的左边的曲线称为第三贝塞尔曲线,将切分后的右边的曲线称为第二贝塞尔曲线,本发明实施例对此不做限定。具体地,以第一贝塞尔曲线的第一起始点A点为第二贝塞尔曲线的第二起始点,切分点C为第二贝塞尔曲线的第二终点,根据下述方法求出第二贝塞尔曲线的第二控制点,从而判断第二贝塞尔曲线的控制点到起始点之间的连线,与控制点到终点之间的连线之间的夹角是否小于90度,若小于90度,则第二贝塞尔曲线满足切分条件,继续进行切分操作。第二贝塞尔曲线的第二控制点的计算方式:根据第二贝塞尔曲线和第一贝塞尔曲线得到第二贝塞尔曲线的第二控制点,具体地,以第一起始点(如图4a中的A点)为切点,对第一贝塞尔曲线做第一切线,以切分点(如图4a中的C点)为切点,对第二贝塞尔曲线做第二切线;第一切线和第二切线会存在一个交点,本发明实施例将该交点作为第二贝塞尔曲线的第二控制点(如图4a中的D点)。同理,以第一贝塞尔曲线的第一终点B点为第三贝塞尔曲线的第三起始点,切分点C为第三贝塞尔曲线的第三终点,根据下述方法求出第三贝塞尔曲线的第三控制点,从而判断第三贝塞尔曲线的控制点到起始点之间的连线,与控制点到终点之间的连线之间的夹角是否小于90度,若小于90度,则第三贝塞尔曲线满足切分条件,继续进行切分操作。第三贝塞尔曲线的第三控制点的计算方式:根据第三贝塞尔曲线和第一贝塞尔曲线得到第三贝塞尔曲线的第三控制点,具体地,以第一贝塞尔曲线的第一终点即第三贝塞尔曲线的第三起始点(如图4b中的B点)为切点,对第一贝塞尔曲线做第三切线,以切分点即第三贝塞尔曲线的第三终点(如图4b中的C点)为切点,对第三贝塞尔曲线做第四切线;第三切线和第四切线会存在一个交点,本发明实施例将该交点作为第三贝塞尔曲线的第三控制点(如图4b中的E点)。判断第二贝塞尔曲线和第三贝塞尔曲线是否满足切分条件的判断结果,会出现四种情况:只有第二贝塞尔曲线满足切分条件;只有第三贝塞尔曲线满足切分条件;第二贝塞尔曲线和第三贝塞尔曲线均满足切分条件;第二贝塞尔曲线和第三贝塞尔曲线均不满足切分条件。该步骤中,判断出第二贝塞尔曲线和/或第三贝塞尔曲线满足切分条件时,需要对满足条件的贝塞尔曲线继续执行切分操作,直到切分后的N段曲线不满足切分条件为止。205:以切分后的每段曲线为已知曲线,根据已知曲线和预设的宽度值,绘制出平行曲线。具体地,通过上述步骤203和步骤204的切分操作后,第一贝塞尔曲线会被切分为N段贝塞尔曲线,此处以切分后的每段曲线为已知曲线,对每段已知曲线,根据预设的宽度值进行绘制曲线,绘制出每段平行曲线,从而绘制出多段平行曲线,这些多段平行曲线即构成本发明实施例要绘制的平行曲线,完成了绘制流程。下面,本发明实施例对根据切分后的每段已知曲线为例进行说明,描述绘制出一段平行曲线的具体方法,当然,对于其他分段的已知曲线,绘制各分段的平行曲线的方法均相同,本发明实施例不再赘述。根据一段已知曲线和预设的宽度值,绘制出一段平行曲线的方法如下:在已知曲线的两侧,与已知曲线距离宽度值的一半处分别绘制一条曲线得到第一曲线和第二曲线,此时绘制出的第一曲线和第二曲线即为绘制出的一段平行曲线。也就是说,本发明实施例在已知曲线的两侧均绘制一条曲线,且绘制出的每条距离已知曲线的距离相同,即预设的宽度值的一半。本发明实施例提供的方法,通过在绘制平行曲线时,将曲线分为多段,并对分段后的曲线采用端点切线平行的方法绘制出曲线,从而绘制出完美的平行曲线,且对于长度很长的曲线,也能绘制出理想的平行曲线。实施例3参见图5,本发明实施例提供了一种绘制平行曲线的设备,所述设备包括第一绘制模块301、判断模块302、第一执行模块303、第二执行模块304和第二绘制模块305:第一绘制模块301,用于根据贝塞尔关系式、第一起始点、第一控制点和第一终点绘制出第一贝塞尔曲线;判断模块302,用于判断第一绘制模块301绘制出的第一贝塞尔曲线是否满足切分条件;第一执行模块303,用于当判断模块302判断出的第一贝塞尔曲线满足切分条件时,对第一贝塞尔曲线进行切分操作得到切分后的第二贝塞尔曲线和第三贝塞尔曲线,并分别判断第二贝塞尔曲线和/或第三贝塞尔曲线是否满足切分条件;第二执行模块304,用于当第一执行模块303得到的第二贝塞尔曲线和/或第三贝塞尔曲线满足切分条件时,则执行切分操作,直到切分后的N段曲线不满足切分条件为止,N为大于2的整数;第二绘制模块305,用于对第二执行模块304得到的每段曲线为已知曲线,根据已知曲线和预设的宽度值,绘制出平行曲线。其中,判断模块302,具体用于判断第一绘制模块301绘制出的第一贝塞尔曲线的第一控制点到第一起始点的第一连线,与第一控制点到第一终点的第二连线之间的夹角是否小于预设角度。具体地,参见图6,第一执行模块303具体包括切分单元3031和判断单元3032;切分单元3031,用于当判断模块302判断出的第一贝塞尔曲线满足切分条件时,对贝塞尔曲线的变量取预设值,得到切分点;并在切分点对第一贝塞尔曲线进行切分操作得到第二贝塞尔曲线和第三贝塞尔曲线;判断单元3032,用于分别判断第二贝塞尔曲线和第三贝塞尔曲线是否满足切分条件。其中,第一执行模块303具体包括切分单元3031和判断单元3032;切分单元3031,用于当判断模块302判断出的第一贝塞尔曲线满足切分条件时,对贝塞尔曲线的变量取预设值,得到切分点;并在切分点对第一贝塞尔曲线进行切分操作得到第二贝塞尔曲线和第三贝塞尔曲线;判断单元3032,具体用于根据第二贝塞尔曲线和第一贝塞尔曲线得到第二贝塞尔曲线的第二控制点,以切分点为第二贝塞尔曲线的第二终点,以第一起始点为第二贝塞尔曲线的第二起始点;判断第二控制点到第一起始点的第三连线,与第二控制点到第二终点的第四连线之间的夹角是否小于预设角度;当第三连线与第四连线之间的夹角小于预设角度时,则判断出第二贝塞尔曲线满足切分条件;和/或,判断单元3032,用于根据第一贝塞尔曲线和第三贝塞尔曲线得到第三贝塞尔曲线的第三控制点,以切分点为第三贝塞尔曲线的第三终点,以第一终点为第三贝塞尔曲线的第三起始点;判断第三控制点到第一终点的第五连线,与第三控制点到第三终点的第六连线之间的夹角是否小于预设角度;当第五连线与第六连线之间的夹角小于预设角度时,则判断出第三贝塞尔曲线满足切分条件。其中,判断单元3032具体包括确定控制点子单元、确定子单元和判断子单元;确定控制点子单元,用于以第一起始点为切点,对第一贝塞尔曲线做第一切线;并以第二终点为切点对第二贝塞尔曲线做第二切线;第一切线和第二切线的交点作为第二贝塞尔曲线的第二控制点;确定子单元,用于以切分点为第二贝塞尔曲线的第二终点;判断子单元,用于判断第二控制点到第第一起始点的第三连线,与第二控制点到第二终点的第四连线之间的夹角是否小于预设角度;当第三连线与第四连线之间的夹角小于预设角度时,则判断出第二贝塞尔曲线满足切分条件;和/或,确定控制点子单元,用于以第一终点为切点对第一贝塞尔曲线做第三切线;并以切分点为切点,对第三贝塞尔曲线做第四切线;第三切线和第四切线的交点作为第三贝塞尔曲线的第三控制点;确定子单元,用于以切分点为第三贝塞尔曲线的第三终点;判断子单元,用于判断第三控制点到第一终点的第五连线,与第三控制点到第三终点的第六连线之间的夹角是否小于预设角度;当第五连线与第六连线之间的夹角小于预设角度时,则判断出第三贝塞尔曲线满足切分条件。其中,第二绘制模块305,用于在已知曲线的两侧,与已知曲线距离宽度值的一半处分别绘制一条曲线得到第一曲线和第二曲线;第一曲线和第二曲线构成平行曲线。本发明实施例提供的设备,通过在绘制平行曲线时,将曲线分为多段,并对分段后的曲线采用端点切线平行的方法绘制出曲线,从而绘制出完美的平行曲线,且对于长度很长的曲线,也能绘制出理想的平行曲线。需要说明的是:上述实施例提供的绘制平行曲线的设备在会在绘制平行曲线时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的绘制平行曲线的设备与绘制平行曲线的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1