一种计算机模拟动摆线的方法

文档序号:6509538阅读:376来源:国知局
专利名称:一种计算机模拟动摆线的方法
技术领域
本发明属于计算机辅助几何设计技术领域,具体涉及一种计算机模拟动摆线的方法。
背景技术
目前,在许多计算机辅助几何设计方法及安全底纹防伪的设计方法中,会经常涉及到摆线的计算机生成。所述的摆线(Cycloid)是当一个圆沿一条定直线作无滑动的滚动时,动圆圆周上一个定点的轨迹叫做摆线。定直线称为基线,动圆称为母圆,该定点称为摆点。
当一个圆在与其内切的定圆内作无滑动的滚动时,动圆圆周上一个定点的轨迹叫做内摆线(hypocycloid)。小圆内部与外部的每个定点所描绘的曲线称为内次摆线(hypotrochoid)。
当一个圆沿一个与它外切的定圆作无滑动的滚动时,动圆圆周上一个定点的轨迹叫做外摆线(epicycloid)。小圆的内部与外部的每个定点所描绘的曲线称为外次摆线(epitrochoid)。
上述的摆线可以称为定摆线,描绘了定点(也即定摆点)经过的运动轨迹形成的曲线。内外摆线的形状除了跟滚动圆与固定圆的半径之比有关外,还跟定点至滚动圆圆心的距离与滚动圆的半径之比有关。如果改变这两种比例关系就会得到丰富的图形设计。
但是现有的摆线技术中存在一定的局限性当定摆点扩展为一个轨迹上的运动的任意点时,就超出了现有技术所能解决的范围。也就是说在动圆沿着定圆作无滑动的滚动时,与滚动圆圆心有一定位置关系的摆点不再是一个定点,而是一个(相对于动圆)具有特定轨迹Ω的动摆点。当滚动圆沿着定圆运动时,动摆点也沿着动摆点自身轨迹运动,此时的摆点可以理解为一个广义的点。轨迹Ω为任意图形,可以对称的或者不规则的,可以是凹多边形或者凸多边形,可以全部在动圆的内部或者外部,甚至可以一部分在动圆的内部,另一部分在动圆的外部,本发明要解决的问题就是如何来描述动摆点A所经过的轨迹曲线(动摆线)。由于动摆点自身轨迹的不确定性,通过这种方法模拟的曲线类型也更加的丰富多样。如果将这些动摆线用于平面图形设计或者安全底纹防伪设计,同样可以得到非常理想的效果。

发明内容
本发明的目的是针对现有技术中的缺陷,提出了一种计算机模拟动摆线的方法。该方法中能使动摆点相对于滚动圆不再是一个固定不变的点,而是具有特定轨迹的动点,且由于动摆点自身轨迹的不确定性,该方法所描绘的动摆线也是更加的丰富多样,具有很好的可扩展性,从而能更好地应用于计算机辅助平面图形设计或者安全底纹防伪设计。
为达到以上目的,本发明采用的技术方案是一种计算机模拟动摆线的方法,包括以下步骤(1)选取固定圆和滚动圆的半径分别为R和r,从而可以确定摆线的周期T,令k表示R与r的比率;(2)将摆点扩展为一个广义的点即动摆点,它在滚动圆运动的过程中,具有自己特定的轨迹曲线,并且轨迹曲线的类型可以任意,并确定动摆点自身轨迹Ω的形状;(3)计算动摆点与自身轨迹形状Ω重心的距离d[i]和旋转角度angle[i],i=0,1,2......;(4)记录动摆点离散成定摆点后的轨迹点集把动摆点离散成定摆点后的摆线点集可以如下得到X(i)=(k-ε)*r*cost+d[i]*cos((k-ε)t-angle[i])Y(i)=(k-ε)*r*sint-ε*d[i]*sin((k-ε)t-angle[i])其中动摆点的标识(d[i],angle[i])是不断变化的,依次记录每个动点后得到点的集合II={(xi,yi)|i=0,1,2,3,4......},ε为1或者-1,t为有向角的弧度值,r为滚动圆的半径;(5)根据最小二乘法原理,将集合II中的离散点拟合成三次的Bezier曲线f(x)=a1x3+a2X2+a3x+a4,其中f(x)所表示的曲线即为本发明所模拟的动摆线的轨迹,其中a1,a2,a3,a4为系数。
进一步来说,步骤(1)中的k等于q∶p,其中p与q是一对互质的正整数。在本发明的方法中若k=q/p,且p与q是一对互质的正整数,则滚动圆与固定圆的圆周长之比为q∶p,于是,当滚动圆转动q圈时,滚动圆上的摆点会回到原始的出发点,此时,滚动圆恰好环绕固定圆p圈,则摆点所描绘的图形轨迹是一条封闭的曲线;另一方面,因为p与q互质,所以,当滚动圆转动的图数不到q圈时,摆点决不会回到出发点,则摆线所描绘的图形轨迹是一条开放的曲线。
步骤(2)中,动摆点自身轨迹形状Ω是规则的几何图形或者是不对称的图元对象。
在步骤(2)中,动摆点的自身轨迹形状Ω是凸图形,若动摆点的轨迹Ω完全在滚动圆的内部或者外部,滚动圆在绕固定圆运动时,动摆点遵循凸图形运动规律;若动摆点的轨迹Ω一部分在滚动圆的内部,另一部分在滚动圆的外部时,Ω上距离M点最近的点就不是唯一的,出现最小距离相同的点数多于一个,此处任选其中之一,所述的M点为滚动圆与固定圆的切点。
步骤(2)中,动摆点的自身轨迹形状是凹图形,动摆点在轨迹Ω上的点和滚动圆上点建立一一对应,滚动圆在绕固定圆运动时,动摆点遵循凹图形运动规律。
再进一步,若动摆点的轨迹Ω为凸图形,则遵循凹图形运动规律;若动摆点的轨迹Ω为凹图形,则遵循凸图形运动规律。
步骤(1)中,确定固定圆半径R和滚动圆半径r,计算R和r的最小公倍数L,并令T=L/r,滚动圆运行T圈后,动摆点回到出发点,从而得到一条封闭的动摆线。
固定圆半径R与滚动动圆半径r比较接近时,在凹图形运动规律生成的摆线的每个组成部分形状接近所选定的图元对象的形状,摆线此时可以看成是数个相似图元首位相连而成的曲线轨迹。
与现有技术相比,本发明的效果在于采用本发明所述的方法生成的动摆线可以更加的丰富多样,摆点在滚动圆运动的过程中不再局限为一个固定点,而是可以有任意的轨迹曲线,从而具有很好的可扩展性,可以广泛地应用于计算机辅助几何图形设计及安全防伪底纹的设计。
本发明之所以具有上述的显著效果,主要在于以下原因本发明中,滚动圆沿固定圆运动时,摆点也相对于滚动圆以轨迹为Ω做运动,此时动摆点可以看作离散的定摆点,定摆线将得到进一步的扩展,动摆点自身轨迹Ω的重心在动圆滚动的过程中,相对于动圆而言始终是静止的,考虑动摆线时就可以只考虑动摆点的自身轨迹Ω上的点,d为Ω的重心到滚动圆圆心O的距离,定摆点的距离和角度的极坐标表示为(d,angle),相应的起始极坐标为(d,0),而扩展为动摆点后,某时刻动摆点与Ω重心的距离和旋转角度的极坐标可以表示为(d[i],angle[i])i=1,2,3,4......,由此可以看出在运动的过程中动摆点与Ω重心的距离和旋转角度不断发生变化,由于d[i]和angle[i]的不同,最终的曲线轨迹将会更加丰富。


图1基本摆线原理示意2定点到滚动圆的圆心的距离与滚动圆的半径不等时的摆线示意3固定圆与滚动圆半径之比为5∶1时的内摆线示意4固定圆与滚动圆半径之比为7∶3时的外摆线示意5内摆线示意6凸图元示意7凹图元示意8凸图元在凸图形运动规律下的内摆线示意9凸图元在凹图形运动规律下的内摆线示意10凸图元在凸图形运动规律下的内摆线组合图11凸图元在凹图形运动规律下的内摆线组合图12凹图元在凸图形运动规律下的内摆线组合图13凹图元在凹图形运动规律下的内摆线组合图14凹图元在滚动圆内部的凸图形运动规律下的内摆线图15凹图元在滚动圆外部的凹图形运动规律下的内摆线图16凹图元在滚动圆边上的凸图形运动规律的摆线图17凹图元在滚动圆边上的凹图形运动规律的摆线图18凹图元在滚动圆外部的凸图形运动规律下的内摆线图19凹图元在滚动圆外部的凹图形运动规律的内摆线图20凹图元在凸图形运动规律下的外摆线图21凹图元在凹图形运动规律下的外摆线图22本发明的流程图具体实施方式
下面结合说明书附图和具体实施方式
对本发明做进一步的描述。
首先简单介绍一下原有摆线技术的实现方法。
如图1所示,假设一定点与滚动圆的圆心的距离为d,底线是x,出发时定点的坐标为(0,a-d),其中a是滚动圆的半径。当滚动圆滚到图1所示的位置时,定点的位置在 上且与O点的距离为d。由此可知其参数方程为x=at-dmint,y=a-dcost (1)由公式(1)可以看出,a和d大小关系会引起摆线轨迹的不同,图1为a=d的情况,另外a>d和a<d的情况分别为图2中的上图和下图。
内外摆线的形状由滚动圆(即为小圆)与固定圆(即为大圆)的半径之比来决定。图3是一个内摆线,其固定圆和滚动圆的半径之比为5∶1;图4是一个外摆线,其固定圆和滚动圆的半径之比为7∶3。
内外摆线的形状除了跟滚动圆与固定圆的半径之比有关外,还跟定点至滚动圆圆心的距离与滚动圆的半径之比有关。
设滚动圆的半径为a,固定圆的半径为ka,其中k是比1大的一个固定数。又设固定圆的圆心是原点O,而滚动圆上的定点在出发时的位置是A(ka,0)。设滚动圆到达某个位置时,其圆心为J、与固定圆的切点为I,而滚动圆上的定点移动到P(x,y)。设以OA为始边、OJ为终边的有向角为t弧度,我们以t为参数(见图5)。
因为弧IP与弧IA的长度相等,所以,有向角∠PJI是kt弧度。过P与J分别作水平直线与铅垂直线,则可就t的值0≤t≤π2(k-1)]]>所属的各种范围分别讨论,而得 这就是摆线的参数方程式。
若将上述情形中的定点换成与滚动圆的圆心相距为d,且在出发时的坐标为((k-1)a+d,0),则此定点在滚动的过程中,所描绘曲线的参数方程式为 其次,若将图5中的滚动圆改成与固定圆外切,则仿照上面的处理方法,即可得外摆线的参数方程式为 其中k表示固定圆与滚动圆的半径之比,k大于1。同理,将定点改成与滚动圆圆心的距离为d,且在出发时的坐标为[(k+1)a-d,0],则可得外次摆线的参数方程式为 上述四组参数方程式可合并成下述形式
其中ε=1或-1,而k≥1、k≥ε且d≥0。当ε=1,上述参数方程式,以d=a或d≠a分别表示内摆线或内次摆线;当ε=-1时,上述参数方程式,以d=a或d≠a分别表示外摆线或外次摆线。
如图22所示,下面具体说明本发明所述的一种计算机模拟动摆线的操作步骤。
本实施例中,首先设计动摆点的自身轨迹Ω的形状,如图6是一种非对称的凸图元,图7是一种规则的凹图元情况。并记固定圆的半径为R,滚动圆的半径为r,得到封闭轨迹曲线时,滚动圆需要绕固定圆运动的圈数为T,所有的数量单位均为毫米。
当动摆点的自身轨迹形状为凸图形,滚动圆在绕固定圆运动时,动摆点同时也沿着自己的轨迹Ω运动,记滚动圆与固定圆的切点为M,但是由凸图元的特性如果动摆点的轨迹Ω完全在滚动圆的内部或者外部时,在运动的任意时刻一定可以找到Ω上距离M点最近的点A,也就是说动摆点的运动和滚动圆的运动不一定是同步的,动摆点可能在某时刻发生突变,计算此时动摆点在A处的旋转角度,从而可以得出动摆点的运动位置,将此过程称为凸图形运动规律。
当动摆点的自身轨迹形状可以是凹图形,由于凹图形的特性,动摆点的轨迹Ω上的点距离切点M最近的点不具备唯一性,此时动摆点运动方式和滚动圆完全一致;具体做法是在动摆点的自身轨迹Ω上均匀选取一定数目的离散点集S,然后以相同的段数均分滚动圆圆周,建立自身轨迹Ω与滚动圆圆周之间的一一对应关系,从而可以确定动摆点在某一时刻的位置极坐标为(d[i],angle[i]),根据动摆线的公式可以计算出此时动摆点的空间位置,将此过程称为凹图形运动规律。
固定圆半径R和滚动圆半径r确定了得到封闭轨迹时,滚动圆绕固定圆所需运动的圈数,同样给定固定圆半径R和滚动圆运行的圈数T,得到满足条件的滚动圆半径r值会多于一个,具体做法令L为R,r的最小公倍数,根据得到封闭轨迹曲线的条件,故有L=r*T,则一定存在正整数n,使得L=r*T=R*n,进而r=R*n/T。为了方便和精确,此处规定L,r,T,R,n全为正整数,并且R>r。由于R>r且n<T,所以n取值范围1,2,3......T-1;由公式r=R*n/T计算r的值,如果r是整数,就记下r的取值为ri,满足此条件的r值最多有T个,r值的不同可以得到总周期为T的一系列的轨迹曲线图形组。
下面具体介绍动摆点所描绘的轨迹曲线的生成方法,a)设置动摆线的固定圆半径R为300,滚动圆半径r为282。此处R和r的最好设置为整数,否则得到封闭轨迹曲线时,滚动圆经过的圈数将会非常大,并且结果也不理想。
b)计算T的值为50。
c)计算每一个时刻动摆点与Ω重心的距离和旋转角度的极坐标,记为(d[i],angle[i])i=1,2,3,4......。
d)通过摆线轨迹的计算公式,得到一系列离散点的集合,然后进行曲线拟合。
通过以上步骤后得到轨迹曲线如图8所示。图6所示的凸图形遵循凹图形运动规律时的效果如图9。
固定R值,改变r或者T时将会得到不同的轨迹曲线效果。图8和图9就是T为50的情况,得到轨迹曲线亦为封闭的。
固定R值,然后令T=5,由前面的叙述可知,共可以生成五条封闭轨迹曲线,而相应的滚动圆半径r分别为60、120、180和240。
(1)动摆点的自身轨迹Ω为图6所示凸图元形状,遵循凸图形运动规律得到的轨迹曲线组合如图10;遵循凹图形运动规律得到的轨迹曲线组合为图11所示。
(2)动摆点的自身轨迹Ω为图7所示凹图元形状,遵循凸图形运动规律得到的轨迹曲线组合如图12;遵循凹图形运动规律得到的轨迹曲线组合为图13所示。
由以上描述可以看出,在本发明的方法中,动摆点所经过的摆线轨迹曲线的形状跟以下因素有关固定圆的半径R、滚动圆的半径r、动摆点的自身轨迹Ω的形状、Ω几何大小、Ω与滚动圆的相互位置关系,以及动摆点的运动规律。由于这些因素的相互可能的组合非常之多,得到的轨迹曲线的样式也就丰富多样。尤其是动摆点自身轨迹Ω形状选择往往会带来意想不到的效果。
下面是凹图元对象得到的一些摆线轨迹曲线。
选取如图7所示的凹图元对象,当R为300,T设为10时,滚动圆半径有四种选择可以得到封闭的轨迹曲线,分别为30,90,210和270,此处选择r为270。通过以下方式得到如图14至图21的轨迹曲线。
当凹图元位于滚动圆的内部,在凸图形运动规律作用下得到的内摆线示意图如图14所示;
当凹图元位于滚动圆的外部,在凹图形运动规律作用下得到的内摆线示意图如图15所示;当凹图元在一部分位于滚动圆的内部,一部分位于其外部,在凸图形运动规律下的摆线示意图如图16所示;当凹图元在一部分位于滚动圆的内部,一部分位于其外部,在凹图形运动规律下的摆线示意图如图17所示;当凹图元位于滚动圆的外部,在凸图形运动规律下得到的内摆线示意图如图18所示;当凹图元位于滚动圆的外部,在凹图形运动规律下得到的内摆线示意图如图19所示;凹图元在凸图形运动规律下得到的外摆线示意图如图20所示;凹图元在凹图形运动规律下得到的外摆线示意图如图21所示;上述步骤只是本发明优选的一个实施方式,本领域技术人员不难得出其他的实施方法而不违背本发明的总体思想。
其中,动摆点自身的轨迹Ω可以设计为其他任意独特的形状;其中,图元的运动方式可以采用除凹图形运动规律和凸图形运动规律外的其他方式;其中,动摆点运动后的离散轨迹点集可以采用其他的曲线拟合算法得到最终封闭的轨迹曲线。
权利要求
1.一种计算机模拟动摆线的方法,包括以下步骤(1)选取固定圆和滚动圆的半径分别为R和r,从而可以确定摆线的周期T,令k表示R与r的比率;(2)将摆点扩展为一个广义的点即动摆点,它在滚动圆运动的过程中,具有自己特定的轨迹曲线,并且轨迹曲线的类型可以任意,并确定动摆点自身轨迹Ω的形状;(3)计算动摆点与自身轨迹形状Ω重心的距离d[i]和旋转角度angle[i],i=0,1,2......;(4)记录动摆点离散成定摆点后的轨迹点集把动摆点离散成定摆点后的摆线点集可以如下得到X(i)=(k-ε)*r*cost+d[i]*cos((k-ε)t-angle[i])Y(i)=(k-ε)*r*sint-ε*d[i]*sin((k-ε)t-angle[i])其中动摆点的标识(d[i],angle[i])是不断变化的,依次记录每个动点后得到点的集合∏={(xi,yi)|i=0,1,2,3,4......},ε为1或者-1,t为有向角的弧度值,r为滚动圆的半径;(5)根据最小二乘法原理,将集合∏中的离散点拟合成三次的Bezier曲线f(x)=a1x3+a2x2+a3x+a4,其中f(x)所表示的曲线即为本发明所模拟的动摆线的轨迹,其中a1,a2,a3,a4为系数。
2.如权利要求1所述的一种计算机模拟动摆线的方法,其特征是步骤(1)中的k等于q:p,其中p与q是一对互质的正整数。
3.如权利要求1所述的一种计算机模拟动摆线的方法,其特征是步骤(2)中,动摆点自身轨迹形状Ω是规则的几何图形或者是不对称的图元对象。
4.如权利要求3所述的一种计算机模拟动摆线的方法,其特征是在步骤(2)中,动摆点的自身轨迹形状Ω是凸图形,若动摆点的轨迹Ω完全在滚动圆的内部或者外部,滚动圆在绕固定圆运动时,动摆点遵循凸图形运动规律;若动摆点的轨迹Ω一部分在滚动圆的内部,另一部分在滚动圆的外部时,Ω上距离M点最近的点就不是唯一的,出现最小距离相同的点数多于一个,此处任选其中之一,所述的M点为滚动圆与固定圆的切点。
5.如权利要求3所述的一种计算机模拟动摆线的方法,其特征是步骤(2)中,动摆点的自身轨迹形状是凹图形,动摆点在轨迹Ω上的点和滚动圆上点建立一一对应,滚动圆在绕固定圆运动时,动摆点遵循凹图形运动规律。
6.如权利要求1或3所述的一种计算机模拟动摆线的方法,其特征是若动摆点的轨迹形状Ω为凸图形,则遵循凹图形运动规律;若动摆点的轨迹Ω为凹图形,则遵循凸图形运动规律。
7.如权利要求1所述的一种计算机模拟动摆线的方法,其特征是步骤(2)中,确定固定圆半径R和滚动圆半径r,计算R和r的最小公倍数L,并令T=L/r,滚动圆运行T圈后,动摆点回到出发点,从而得到一条封闭的轨迹曲线,称此曲线为动摆线。
8.如权利要求1所述的一种计算机模拟动摆线的方法,其特征是滚动动圆半径R与固定圆半径r比较接近时,在凹图形运动规律生成的摆线的每个组成部分形状接近所选定的图元对象的形状,摆线此时可以看成是数个相似图元首位相连而成的曲线轨迹。
全文摘要
本发明涉及一种计算机模拟动摆线的方法,属于计算机辅助几何设计技术领域。现有技术中,滚动圆绕固定圆做无摩擦运动时,摆点是与滚动圆的圆心相对位置固定的一个点,可变化的方式较少。本发明所述的方法中摆点已经扩展为一个广义的点,它在滚动圆运动的过程中,具有自己特定的轨迹曲线,并且轨迹曲线的类型可以任意。采用本发明所述的方法,摆点在滚动圆运动的过程中不再局限为一个固定点,而是可以有任意的轨迹曲线,从而具有很好的可扩展性,通过这种方法模拟的曲线类型也更加的丰富多样,可以广泛地应用于计算机辅助几何图形设计及安全防伪底纹的设计。
文档编号G06F17/50GK1622098SQ20051000058
公开日2005年6月1日 申请日期2005年1月7日 优先权日2005年1月7日
发明者亓文法, 卢书一 申请人:北京北大方正电子有限公司, 北京大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1