一种旋转椭圆弧的绘制方法

文档序号:6483086阅读:483来源:国知局

专利名称::一种旋转椭圆弧的绘制方法
技术领域
:本发明涉及一种图形绘制技术,尤其涉及一种椭圓弧的绘制技术。技术背景对同一个矢量图形可以有多种的数学描述,以椭圆弧为例,一般情况下软件绘制的椭圓弧都是没有经过旋转的椭圓弧,即椭圓弧的长轴或短轴分别平行于直角坐标系的x轴或y轴(以下筒称为标准的椭圆弧)。如图l所示,描述一个标准椭圆弧的参数有椭圓长轴长度a、椭圓短轴长度b、椭圓的外切矩形的左上角顶点的坐标(x,y)、椭圆弧的起始角度cc、和椭圓弧起始角度与终止角度的夹角P。标准椭圆弧由于已经建立了数学模型,所以能够得到椭圆弧上各点的坐标,进而完成弧线的绘制。具体地说,目前已经有了完整的椭圆的数学模型,包括成熟的椭圆方程,+,=i,其中,(x0,yO)为椭圓圓心,a为椭圓横轴,b为椭圓纵轴。根据该方程,可以确定一个标准椭圓上的各点坐标,再结合标准椭圆弧的起始角度、和起始角度与终止角度的夹角,可以确定标准椭圓弧上各点坐标,进而在显示屏上绘制该标准椭圓弧。然而,在许多情况下,用户需要绘制的椭圆弧并非是标准的,而是存在一定旋转角度的。也就是说,旋转椭圓弧对应的椭圆为旋转椭圓,其长轴与短轴并不平行于直角坐标系的x轴和y轴,而是与x轴和y轴形成一定角度,称为旋转角度。如在SVG(可放缩的矢量图形)中,就存在与X轴形成一定角度的旋转椭圓瓜。械圓瓜的4苗述参凄史为rx、ry、x—axis—rotation、large—arc—flag、sweep—flag、xl、yl、x2、y2。其中,x—axis—rotation为S走專令角度,即为jt匕^:弧所在的椭圓的x轴与水平方向的夹角;rx为椭圓的半长轴长度;ry为椭圓的半短轴长度;large-arc-Hag和sweep-flag决定了椭圆弧的绘制方向,值是0或1,large-arc-flag为1表示大角度弧线,为0代表小角度弧线;sweep-flag为1代表/人起点到终点弧线绕椭圓中心顺时针方向,为0代表逆时针方向;xl、yl是起点坐标,x2、y2是终点坐标。举例而言,如图2所示的椭圆弧起点A,终点B,半长轴a,半短轴b,旋转角度为r(范围0-180度),large-arc-flag为1:耳又大圓亍瓜,swe印-flag为0:逆时针方向(从A到B逆时针绘制)。如图3所示的椭圆弧起点A,终点B,长轴a,短轴b,旋转角度为r(范围Q-180度),large-arc-flag为1:取大圓弧,swe印-flag为1:顺时针方向(从A到B顺时针绘制)。由于目前对于旋转椭圓并没有成型的数学模型,也没有对应的旋转椭圓的公式,所以软件无法直接得到旋转椭圆上各点坐标,从而无法直接绘制旋转椭圓弧,只能绘制长轴或短轴(即横轴和纵轴,可以橫轴为长轴,也可以短轴为长轴)与水平轴平行的标准椭圓弧。另外,由于旋转椭圓的计算十分复杂,如果通过计算旋转椭圓的方程,然后再绘制旋转椭圓弧,将降低旋转椭圆弧的绘制速度。
发明内容本发明主要解决的技术问题是提供一种旋转椭圆弧的绘制方法,使得軟件能够通过较小的运算量,简便且快速地绘制旋转椭圆弧。为了解决上述技术问题,本发明提供了一种旋转椭圓弧的绘制方法,包含以下步骤将旋转椭圓弧对应的旋转椭圆分解为标准椭圆、和将该标准椭圆变换成该旋转椭圓所需的变换矩阵,所述标准椭圓的长轴或短轴平行于水平轴;确定所述;^走转椭圆弧在所述标准椭圓上对应的各点坐标,将所述标准椭圓上对应的各点坐标与所述变换矩阵相结合,得到旋转椭圆弧上各点坐标;根据所述旋转椭圆弧上各点坐标,在显示屏上绘制所述旋转椭圓弧。作为上述技术方案的改进,所述将旋转椭圆弧对应的旋转椭圓分解为标准椭圓和变换矩阵的步骤中,可以包含以下子步骤A获取待绘制的旋转椭圆弧的参数,包含起点坐标、终点坐标、该旋转椭圆弧对应的旋转椭圓的半长轴长度、半短轴长度、该旋转椭圓弧的旋转角度;B根据所迷起点坐标、终点坐标和半长轴长度、半短轴长度,确定所述旋转椭圓弧对应的标准椭圓;C根据所述旋转椭圓弧的旋转角度、所述旋转椭圓弧的起点坐标和终点坐标,确定所述旋转椭圓弧在所述标准椭圓上对应的变换起点和变换终点;D根据所述旋转角度、所述旋转椭圓弧的原始起点和/或原始终点坐标、对应在所述标准椭圓上的变换起点和/或变换终点坐标,确定所述标准椭圆变换为所述旋转椭圆所需的变换矩阵。作为上述技术方案的改进,所述步骤B中,包含以下子步骤将所述原始起点坐标、原始终点坐标和半长轴长度、半短轴长度代入椭圆方程,^+1,=1,求得所述标准椭圓的圓心坐标,确定所迷标准椭圓的椭圓方程。作为上述技术方案的改进,所迷标准椭圓的圆心坐标可以为""J-气y。""x。;或者,x。=^^^,y。"+^。;其中,J"2—x':)+。2();gJ:"—";C=62+"252;2"(h-力)a(y2—乃)所述旋转椭圆弧的参数还可以包含弧线大小标示,用于标示所述旋转椭圓弧为大角度弧线或小角度弧线;绘制方向标示,用于标示所述旋转椭圓弧的起点到终点为顺时针方向或逆时针方向;所述步骤B中根据所述弧线大小标示和所述绘制方向标示,唯一确定所述标准椭圆的圓心坐标。作为上述技术方案的改进,所述步骤C中,可以包含以下子步骤根据所述旋转椭圆弧的原始起点坐标和原始终点坐标确定一条直线,将该直线逆时针旋转,旋转的角度为该旋转椭圓弧的旋转角度;将旋转后的直线在斜率不变的情况下,与标准椭圓相交,相交两点构成的玄长等于所述旋转椭圓弧原始起点坐标和原始终点坐标构成的玄长,所述相交的两点为所述旋转椭圓弧在所述标准椭圆上对应的变换起点和变换终作为上述技术方案的改进,在所述交点玄长等于所述旋转椭圆弧原始起点坐标和原始终点坐标构成的玄长的条件下,如果与所述标准椭圓相交的直线多于一条,则根据所述旋转椭圓弧的旋转角度,选择其中一条所述相交的直线,唯一确定所述旋转椭圆弧在所述标准椭圓上对应的变换起点和变换终点。作为上迷技术方案的改进,所述步骤D中,可以包含以下子步骤所述标准椭圆与所述旋转椭圆之间的变换矩阵为cos(a)-sin(a)xsin(a)cos(a)001其中,tx为水平移动的坐标值,ty为垂直移动的坐标值,a是所述旋转椭圓弧的旋转角度;将所述变换起点或变换终点沿原点旋转a角度,得到旋转后的变换起点坐标或旋转后的变换终点坐标,将所述旋转椭圆弧的原始起点坐标或原始终点坐标减去该旋转后的变换起点坐标或旋转后的变换终点坐标,得到所述标准椭圓和旋转椭圓之间水平移动的坐标值tx和垂直移动的坐标值ty。作为上述技术方案的改进,所述旋转椭圓弧的参凄t还包含弧线大小标示,用于标示所述旋转椭圓弧为大角度弧线或小角度弧线;绘制方向标示,用于标示所述旋转椭圆弧的起点到终点为顺时针方向或逆时针方向;所述确定旋转椭圓弧在所述标准椭圓上对应的各点坐标的步骤中,可以根据所述步骤B中确定的标准椭圆、所述步骤C中确定的变换起点和变换终点、所述弧线大小标示和所述绘制方向标示,得到所述旋转椭圓弧在所述标准椭圆上对应的各点坐标。本发明实施方式与现有技术相比,主要区别及其效果在于本发明利用了现有的标准椭圓的数学模型,将旋转椭圆弧对应的椭圆分解成为标准椭圓+变换矩阵,通过对应的才示准椭圆的椭圓方程,确定》走转椭圓弧在该标准椭圓上对应的各点坐标,再将这些坐标与变换矩阵相结合,得到旋转椭圆弧上的各点坐标,在无需建立旋转椭圆的数学模型的前提下,通过较小的运算量,完成旋转椭圓弧的绘制,绘制方法简便且消耗系统资源少。下面结合附图和具体实施方式对本发明作进一步详细说明。图l是现有技术中标准椭圆弧的示意图;图2是现有技术中旋转椭圓弧范例1的示意图;图3是现有技术中旋转椭圓弧范例2的示意图;图4是本发明第一实施方式的旋转椭圓弧的绘制方法流程图;图5是本发明第一实施方式的旋转椭圓弧的绘制方法中旋转椭圓弧对应的标准椭圓的示意图;图6是本发明第一实施方式的旋转椭圓弧的绘制方法中标准椭圓的两个圓心的示意图;图7是本发明第一实施方式的旋转椭圆弧的绘制方法中与标准椭圓相交的两条切线的示意图。具体实施方式为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的实施方式作进一步地详细描述。本发明第一实施方式涉及一种旋转椭圓弧的绘制方法。本实施方式以SVG中的旋转椭圓弧为例,对具体的绘制方法进行描述,如图4所示。步骤401,获取待绘制的旋转椭圓弧的参数值,包含起点坐标A(xl,yl)、终点坐标B(x2,y2)、该旋转椭圆弧对应的旋转椭圓的半长轴(横轴)长度a、半短轴(纵轴)长度b、该旋转椭圓弧的旋转角度《(即是该旋转椭圓的横轴与水平轴的夹角,椭圓的横轴由水平轴逆时针转动得到则为正角度,顺时针转动得到贝'j为负角度),弧线大小标示large-arc-flag,large-arc-flag为1表示大角度弧线,为0代表小角度孤线;绘制方向标示sweep-flag,sweep-flag为1代表从起点到终点弧线绕椭圓中心顺时针方向绘制,为0代表从起点到终点弧线绕椭圓中心逆时针方向绘制。需要说明的是,本实施方式中,旋转角度为横轴与水平轴的夹角,但在具体应用中,根据定义不同,旋转角度也可以是纵轴与水平轴的夹角、纵轴与垂直轴的夹角、横轴与垂直轴的夹角。步骤402,根据起点坐标A、终点坐标B和半长轴长度a、半短轴长度b,确定旋转椭圓弧对应的标准椭圆,标准椭圓的旋转角度为零,如图5所示。具体地说,一般的标准椭圓弧已经有数学模型,标准椭圓方程公式"^~+^"=1。画标准椭圆弧的方式可以为确定标准椭圓弧对应的标准椭圆公式,根据该公式,可以得到椭圓上各点的坐标,再结合椭圓弧的起点和终点,就能确定该标准椭圓弧。然而由于旋转的椭圆(即横轴与水平轴存在一定角度的椭圓)是没有数学模型的,所以在本实施方式中,需要将该旋转椭圆弧对应的旋转椭圆转换为标准椭圆+变换矩阵。本步骤中,在半长轴长度a、半短轴长度b不变的情况下,根据已知的起点坐标A和终点坐标B确定标准椭圓。c:《-v一丄Cy-yP2^基本椭圓方程公式,一+_^=1将端点A和B带入得到-;--i---=1.,,曙,,.,,.,.(i』3*b2.(2)(2)-(1)得到:.+-----=0a2b2>'。=fa:(:《—21)、(:《二-乂2)+aS(y2--y一〕y。=-^T7~-~^-+,—-,-—-令i62(x2-&)+a202-力),s—62(x「x2)2"Cv2—A)"o2-力)y。=A+Bx。(3)将(3)代入(1)得到-^-+--=1b:(x:一x。)2+a2(y丄_A斗—a2b:=02x;。+s。"+((y:-A)2--A)Bs。+B、)-(b2-0b:x-2¥:《:x。+b::《。+s2一-2a:(y:-A)Bxo+a2B2x。2-a2fc:=0令C=62+a252;"=—2a2(^—^)5—26、;£="20^—力2屮6、2—a262,4寻到:Cx0:+Dx3+E=0应用求才艮/>式,,,』一b土Vb:—4ac战"+■bx+c=0求根公式:-^-角竿方禾呈Cs。2+Dx。+E=0得.-x。=^!Z^代入(3)y。=A+Bx。求得y。。这样就确定了椭圓的圓心坐标,一共有2个符合要求的圆心坐标,分别是:一D-v,一4CEy。t=AH~B、二一一D+v'D2—4CEH二元y。2二A+fe。2其中,4=2"202—h),62(x-a:)广^,2d2."02一乃)D=—2a20,一—26、;五a20,—j)2+6、—fl262。然后根据旋转椭圓弧的弧线大小标示large-arc-flag和绘制方向标示swe印-flag,确定应该采用哪个值作为圓心假设确定的两个圓心分别为針32,如图6所示。分别计算A:B":(以逆时针14为正方向)的角度为aLa2,可以根据相似原理得出cd,cfi两个角度相加等于360度。以下分情况讨i仑:<table>tableseeoriginaldocumentpage15</column></row><table>表l将该椭圆弧的参数与表1相对比,可以唯一确定该标准椭圓的圆心,进而唯一确iL该标准椭圓的椭圓/>式。在步骤403中,根据该旋转椭圆弧的旋转角度,确定该旋转椭圓弧在该标准椭圆上对应的变换起点A'和变换终点B'。具体地说,步骤402中得到的标准椭圓是旋转椭圓反向逆转《(旋转椭圓弧的旋转角度)得到的,然而从图5可以看出,该旋转椭圓逆转为标准椭圆的过程中,并非是沿着椭圓圓心或某个固定点转动。虽然旋转椭圓到标准椭圓并非绕某点固定旋转,但可以将其视为先绕椭圓圆心旋转,旋转后再发生平移。同样,旋转椭圓弧的起点A和终点B也可以看成先绕椭圆圓心旋转,旋转后再发生平移,对应到标准椭圓上的起点A',终点B'。旋转的角度是已知的,即为-",平移的位置是无法确定的,可以通过先旋转由旋转椭圓弧起点和终点组成的直线AB,旋转的角度为-",再将旋转后的直线在斜率不变的情况下与标准椭圆相交,相交两点构成的玄长等于旋转椭圓弧原始起点A和原始终点B构成的玄长AB,通过该方法得到的相交的两点即为旋转椭圓弧在该标准椭圆上对应的变换起点A'和变换终点B'。具体如下1)首先计算AB两点的玄长<formula>formulaseeoriginaldocumentpage16</formula>2)然后通过A、B两点坐标确定直线AB的斜率^=",得到直线AB与水平x轴的夹角to^=得0=arctany^。将直线AB逆时针旋转",得到总的角度为<formula>formulaseeoriginaldocumentpage16</formula>将旋转后的直线方程y=k2x+1代入标准椭圓方程a:+w=1,得到旋转后直线与标准椭圓的交点<formula>formulaseeoriginaldocumentpage16</formula>则方程变为<formula>formulaseeoriginaldocumentpage16</formula>求根公式,得旋转后直线与标准椭圓的交点的坐标,即旋转椭圆弧的起点A(xl,yl)和终点B(x2,y2)在标准椭圆上对应的起点A'(x3,y3)和终点B'(x4,y4)的坐才示<formula>formulaseeoriginaldocumentpage16</formula>y=M+t;(即y3、y4)这时,t还没求解。根据弦长公式L=v'(xs-x4)2+(j'3_>、)2=Yfe一W:十(k2X'广k-D:=v(i+k:)(xs—x4p=i(i+k"((-^->么—4-^-〕、(1+k2)({-p-T—4-p-)=L'(1+k2)(《G+2a:k:t:):-4F(H+a:(t:_>'。"))=L:FZL中((G+2s:k2t》-4F(H+a2(t-y。))〕=(i十k:)L2F2G:+4Ga:k:t十4a4k2、:—4FH-4Fa:(f—y。)2=(1+ks)G2十4Ga:fe,t十4a4k,¥—4FH—4Fa2(t2-2v0t+v0r)=tttt^G2+4Ga%t+4a4k2:t:-4FH-4Fa:t:+5y。Fa:卜4Fa、)(l化)〔4fc22—4Fa:)t:+(4C'a%:+8y。Fa:)t斗G2—4FH—4Ps—t^hT!=0[=4^fc:2—4Fa2;=4Ga2k2+8》'。Fs2;:K=G2—4FH—4Fa2》'。2—L=,d&2一^r廿;j=^td&2*ro》'0sj\—u—,rn,re》G一〖、復^则方程变为It2+〗t+K=0解得方程两个根r=~17总的可以得到两组解,分別对应图7中的两条直线/1、/2。通过直线的斜率可以确定两条直线式平行关系,进而可以确定两直线的上下关系。如果旋转角度是0-180度,则取上面的直线/1,"—'+:_础,如果是180-360或-180-0度则取下面的直线/2,^"。取"=~^~代入公式(5)得到,旋转角度是0-180度时,旋转椭圆弧的起点A和终点B在标准椭圓上对应的起点A'和终点B'的坐标为口-^-ii-(即x3,x4)"M十~^~(即y3,y4)取f=,,代入公式(5)得到,旋转角度是180-360或-180-0度时,旋转椭圓弧的起点A和终点B在标准椭圆上对应的起点A'和终点B'的坐标为一(CZZr^fZZ^个^〔Zi^lE^)〕:—,—-、_y:;:)口~--5-(即x3,x4)在步骤404中,根据该旋转椭圆弧的旋转角度、该旋转椭圆弧的起点或终点坐标、对应在该标准椭圆上的起点或终点坐标,确定该标准椭圓与该4t转椭圆之间的变换矩阵。该变换矩阵由平移和旋转两部分组成,现有的计算机图形变换的矩阵表现形式如下平移矩阵:10"01(y001;旋转矩阵:既有平移又有旋转的变换矩阵为cos(a)-sin(a)0sin(a)cos(a)0001cos(a)-sin(a)ttsin(a)cos(a)(y001其中,tx为水平移动的坐标值,ty为垂直移动的坐标值;a为旋转的角度。本实施方式中该标准椭圓变换为该旋转椭圆所旋转的角度即为该旋转椭圓弧的横轴与水平轴的夹角,对应的旋转矩阵为坐标值是未知的。cos(a)-sin(oO0sin(")cos(")0001;平移的位移本步骤中,首先将A'坐标点(x3,y3)设置为34矩阵,再将旋转矩阵cos()-sin(a)0sin(a)cos(oO0001点乘A'坐标矩阵得到旋转后的A"坐标矩阵。其中x5=cos(a)x3-sin(a).y3;h=sin()x3+cos(a)jv3。将A点坐标(xl,yl)减去A"坐标(x5,y5),就得到平移坐标了。根据该平移坐标和旋转角度,可以确定该标准椭圓与该旋转椭圆之间的变换矩阵cos(a)-sin(a)fxsin(a)cos(a)001tx为水平移动的坐标值(即xl-x5),ty为垂直移动的坐标值(即yl-y5);a是旋转角度a。在步骤405中,根据步骤402中计算得到的标准椭圓的方程、以及步骤403中确定的旋转椭圓弧在该标准椭圆上对应的起点和终点,得到旋转椭圓弧在该标19准椭圆上对应的各点坐标,将这些点坐标与步骤404中确定的变换矩阵相乘,得到旋转椭圓弧上各点坐标。在步骤406中,根据旋转椭圆弧上各点坐标,在显示屏上绘制该旋转椭圓弧。具体可以利用纟会图工具,如GDI(GraphicsDeviceInterface:图形"i殳备接口),GDI+,openGl(高性能图形算法行业标准)等,直接绘制这些坐标点,将这些坐标点形成椭圓弧。综上所述,本实施方式利用了现有的标准椭圆的数学模型,将旋转椭圓弧对应的椭圆分解成为标准椭圓+变换矩阵,通过对应的标准椭圓的椭圓方程,确定旋转椭圆弧在该标准椭圓上对应的各点坐标,再将这些坐标与变换矩阵相结合,得到旋转椭圆弧上的各点坐标,从而在无需建立旋转椭圓的数学模型的前提下,通过较小的运算量,完成旋转椭圓弧的绘制,绘制方法简便且消耗系统资源少。需要说明的是,本实施方式以SVG图形为例对旋转椭圓弧的绘制方法进行了说明,在实际应用中,同样可以使用本发明绘制除SVG图形以外的其他格式的旋转椭圓弧。虽然通过参照本发明的某些优选实施方式,已经对本发明进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。权利要求1.一种旋转椭圆弧的绘制方法,其特征在于,包含以下步骤将旋转椭圆弧对应的旋转椭圆分解为标准椭圆、和将该标准椭圆变换成该旋转椭圆所需的变换矩阵,所述标准椭圆的长轴或短轴平行于水平轴;确定所述旋转椭圆弧在所述标准椭圆上对应的各点坐标,将所述标准椭圆上对应的各点坐标与所述变换矩阵相结合,得到旋转椭圆弧上各点坐标;根据所述旋转椭圆弧上各点坐标,在显示屏上绘制所述旋转椭圆弧。2.根据权利要求1所述的旋转椭圓弧的绘制方法,其特征在于,所述将旋转椭圓弧对应的;^走转椭圆分解为标准椭圆和变换矩阵的步骤中,包含以下子步骤A获取待绘制的旋转椭圓弧的参数,包含起点坐标、终点坐标、该旋转椭圓弧对应的旋转椭圓的半长轴长度、半短轴长度、该旋转椭圓弧的旋转角度;B根据所述起点坐标、终点坐标和半长轴长度、半短轴长度,确定所述旋转椭圆弧对应的标准椭圓;C根据所述旋转椭圓弧的旋转角度、所述旋转椭圓弧的起点坐标和终点坐标,确定所述旋转椭圓弧在所述标准椭圓上对应的变换起点和变换终点;D根据所述旋转角度、所述旋转椭圆弧的原始起点和/或原始终点坐标、对应在所述标准椭圆上的变换起点和/或变换终点坐标,确定所述标准椭圆变换为所述旋转椭圆所需的变换矩阵。3.根据权利要求2所述的旋转椭圆弧的绘制方法,其特征在于,所述步骤B中,包含以下子步骤将所述原始起点坐标、原始终点坐标和半长轴长度、半短轴长度代入椭fx—:,;Y—y,、"2,圓方程^"+f=1,求得所述标准椭圆的圆心坐标,确定所述标准椭圆的椭圓方程。4.根据权利要求3所述的旋转椭圓弧的绘制方法,其特征在于,所述标准椭圆的圓心坐标为x。—""2—4C£,j。"+^。;或者,x。=-""2-4C五,_y0=J+&0;其中,j=^!^Va2"2-h2);:(");c=&2+"2^;Z)=—2a2(^—爿)5—262;c';五=a2(》,—爿)2+ft2;^—a2Z)2;所述旋转椭圓弧的参数还包含弧线大小标示,用于标示所述旋转椭圓弧为大角度弧线或小角度弧线;绘制方向标示,用于标示所述旋转椭圆弧的起点到终点为顺时针方向或逆时针方向;所述步骤B中根据所述弧线大小标示和所述绘制方向标示,唯一确定所述标准椭圓的圓心坐标。5.根据权利要求2所述的旋转椭圓弧的绘制方法,其特征在于,所述步骤C中,包含以下子步骤根据所述旋转椭圆弧的原始起点坐标和原始终点坐标确定一条直线,将该直线逆时针旋转,旋转的角度为该旋转椭圓弧的旋转角度;将旋转后的直线在斜率不变的情况下,与标准椭圓相交,相交两点构成的玄长等于所述旋转椭圆弧原始起点坐标和原始终点坐标构成的玄长,所述相交的两点为所述旋转椭圓弧在所述标准椭圓上对应的变换起点和变换终点。6.根据权利要求5所述的旋转椭圓弧的绘制方法,其特征在于,在所述交点玄长等于所述旋转椭圓弧原始起点坐标和原始终点坐标构成的玄长的条件下,如果与所述标准椭圓相交的直线多于一条,则根据所述旋转椭圆弧的旋转角度,选择其中一条所述相交的直线,唯一确定所述旋转椭圆弧在所述标准椭圓上对应的变换起点和变换终点。7.根据权利要求2所述的旋转椭圓弧的绘制方法,其特征在于,所述步骤D中,包含以下子步骤所述标准椭圓与所述旋转椭圓之间的变换矩阵为cos(a)-sin(a)sin(a)cos(a)^001其中,tx为水平移动的坐标值,ty为垂直移动的坐标值,a是所述旋转椭圓弧的旋转角度;将所述变换起点或变换终点沿原点旋转a角度,得到旋转后的变换起点坐标或旋转后的变换终点坐标,将所述旋转椭圆弧的原始起点坐标或原始终点坐标减去该旋转后的变换起点坐标或旋转后的变换终点坐标,得到所述标准椭圓和旋转椭圆之间水平移动的坐标值tx和垂直移动的坐标值ty。8.根据权利要求2所述的旋转椭圓弧的绘制方法,其特征在于,所述旋转椭圆弧的参数还包含弧线大小标示,用于标示所述旋转椭圓弧为大角度弧线或小角度弧线;绘制方向标示,用于标示所述旋转椭圓弧的起点到终点为顺时针方向或逆时4十方向;所述确定旋转椭圓弧在所述标准椭圓上对应的各点坐标的步骤中,根据所述步骤B中确定的标准椭圓、所述步骤C中确定的变换起点和变换终点、所述弧线大小标示和所述《会制方向标示,得到所述旋转椭圆弧在所述标准椭圆上对应的各点坐标。全文摘要本发明公开了一种旋转椭圆弧的绘制方法,将旋转椭圆弧对应的旋转椭圆分解为标准椭圆(即长轴或短轴平行于水平轴的椭圆)、和将该标准椭圆变换成该旋转椭圆所需的变换矩阵;通过旋转椭圆弧描述的长轴短轴可以得到对应的标准椭圆,确定旋转椭圆弧在标准椭圆上对应的各点坐标,将标准椭圆上对应的各点坐标与变换矩阵相结合,得到旋转椭圆弧上各点坐标;根据所述旋转椭圆弧上各点坐标,在显示屏上绘制所述旋转椭圆弧。使得在无需建立旋转椭圆的数学模型的情况下,快速绘制旋转椭圆弧。文档编号G06T11/20GK101625765SQ20091005776公开日2010年1月13日申请日期2009年8月18日优先权日2009年8月18日发明者俞高宇,吉林,毛礼荣申请人:上海可鲁系统软件有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1