用于显示连续线的方法

文档序号:6582811阅读:820来源:国知局
专利名称:用于显示连续线的方法
技术领域
本发明涉及用于在基于光栅的显示装置上显示连续线的方法,连续线由一系列二
维支持点和线宽度定义,连接每个支持点的矩形具有由在支持点之间的距离预先决定的矩 形长度并且具有由在两个支持点之间显示的线宽度预先决定的矩形宽度。
背景技术
基于光栅的显示装置例如在汽车或飞机上使用,它们被用来显示对于操作和/或 控制汽车或飞机来说重要的信息。各个显示的信息希望尽可能清晰和快速地以明确地可识 别的方式被显示在所使用的显示装置、通常是屏幕或平板显示器上。同时,在信息显示期间 力图避免不希望的改变,诸如根据被含糊地插入的连续线的取向或位置而变化的线厚度, 因为它们会不利地分散观察者的注意力。 为了允许特别是在飞机上产生和显示希望满足由于安全有关的要求而产生的严 格的品质要求的图形显示,开发了编程语言和与其匹配的硬件部件,它们的特征在于尽可 能自然地、简单地但可靠地重现视觉上显示的信息。虽然始终在开发诸如"标准图形语 言"(SGL)那样的软件,但新的硬件部件的开发,特别是用于民用和军事飞行用途的新的硬 件部件的开发是极其昂贵的。 为了使得有可能避免具有甚至更好的性能的、用于显示这样的信息最佳化的硬 件部件的开发,正在开发和/或优化用于显示图形信息的方法,它不需要与其相匹配的任 何硬件部件,例如,它也可以结合市面上可买到的图形卡、图形处理器或图形显示装置被使 用,同时允许和保证高质量图形显示。 从实践中得知,由一系列二维支持点和由预定的线宽度定义的连续线可以用互相 连接各个相邻的支持点、并且其宽度对应于预定的线宽度的一系列矩形来代表。如果使用 标准化的图形编程语言OpenGL,则每个矩形优选地被显示为具有公共底边的两个三角形,
由于以这种图形编程语言,可以特别快速地产生和显示三角形和三角形序列。 然而,如果两个连续的矩形的互相校直明显地不同并且存在一个角度a的话,诸
如这样的矩形序列在两个连续的矩形之间的区域方面是有问题。在这种情况下,两个连续
的矩形部分重叠,而在与重叠区域相反的一侧有可见的间隙,该间隙没有被两个连续的矩
形的任一矩形覆盖。 由多个矩形组成的连续线然后不再被视为自然显示的均匀的连续线,而是视为非 连续线,例如,作为各个线段的序列,其看起来不是连续地连接的。 作为例子,US 2007/0 222 784A1公开了使用圆形分段覆盖或填充在矩形之间所 得到的间隙,以便给予连续线更自然的外观的可能性。在这种情况下,对于落在圆形分段的 区域中的所有的像素实行检验,以确定应当以什么强度显示相关的像素才是适当的。诸如 这样的方法是计算强度很高的,并且特别是不适用于显示具有包括多个像素的线宽度的许 多连续线。

发明内容
因此,本发明的目的被认为是开发用于显示连续线的、一开始提到的通用类型的 方法,它允许用尽可能小的计算复杂度和时间高品质地显示具有有限线宽度的连续线。
按照本发明,通过以下方式达到这个目的即覆盖矩形之间的间隙的三角形序列 被显示在两个连续的矩形之间,这两个矩形以一个角度a > a。互相校直。三角形序列可 以非常快速地被显示,特别是当使用图形编程语言OpenGL时。所需的只是确定限定三角形 序列的各个顶点。在连续的矩形之间的可能的相关区域内各个像素的关联和检验是不需要 的。 优选地,三角形序列包括多个三角形,每个三角形具有连接连续矩形的支持点作 为公共顶点。由于两个连续的矩形在连接支持点处相接触,两个连续的矩形在与支持点相 邻的第一区域中重叠,而间隙出现在支持点的另一侧位于第二个相反的区域中的连续的矩 形之间。矩形的各自的互相不同的校直的程度越大,在这些矩形之间的间隙越大。已经发 现,使用单个三角形来填充间隙,并不被视为在矩形之间的视觉上可感知的连接,特别是当 矩形的各个校直之间的偏差相对较大时,其中单个三角形的顶点不仅仅具有连接连续的矩 形的支持点而且也具有连续的矩形的各个相关联的顶点。为此,看来有利的是三角形序列 包括多个三角形,且外部三角形边缘尽可能接近为圆弧分段。 已经发现,在实际上出现的许多情况下,三角形序列具有三个三角形可以认为是 足够的。由于许多目标的线宽度只覆盖基于光栅的显示装置的几个像素,只有相应的小数 目的像素可能处在两个连续的矩形之间的间隙中。在大多数情况下,三个三角形的三角形 序列实际上以与圆形分段相同的方式近似填充这个间隙,以使得人的眼睛不会感知明显的 差别。三角形序列当然也可以具有三个以上的三角形,因此使得有可能在特定的情况下改 进显示器的视觉品质。 为了允许尽可能快速地显示连续线,本发明建议,连接的三角形在任何情况下均 被显示在矩形与三角形序列之间,以及在三角形序列与随后的矩形之间,连接的三角形的 顶点是所述矩形和随后的矩形的面向三角形序列的两个顶点和连接的支持点。特别是当使 用图形编程语言0penGL时,三角形可以特别容易和快速地被表示和显示。连续的三角形被 正常地显示为两个三角形的序列。由于矩形和填充这些矩形的三角形的顶点都没有连同连 接的支持点一起被使用的顶点,有利的是提供连接三角形用于分别连接到被安排在矩形之 间的三角形序列,该连接三角形的底边长度与该矩形或随后的矩形的面向三角形序列的末 端边缘重合,它的其余的顶点是位于它的底边长度上中心处的连接支持点。这导致在连接 三角形被显示时边缘长度被中分,作为其结果,为闭合间隙所需的三角形序列可以直接连 接到它,以便随后借助于另一个连接三角形再次使得边缘长度匹配于线宽度或随后的矩形 的矩形宽度,以允许这个矩形用另外两个三角形来显示。 这允许借助于连续的三角形序列,产生和成像包括填充在各个连续的线段或矩形 之间的间隙的多边形的完整的连续线。诸如这样的三角形序列可以容易地预先计算,并可 以非常快速地显示。 本发明优选地建议,根据在连续的矩形的校直之间的角度a预先确定三角形序 列的顶点。已经发现,对于相对较小的角度,其中a《20° ,在连续的矩形之间存在的任何 间隙是很难感知的。可以通过在各种情况下绘制多边形来代替两个相邻的矩形,以简单的
4方式避免或覆盖这个间隙,这些多边形的公共多边形边缘沿限定该间隙的矩形边缘的角平 分线放置。 此外,三角形序列的顶点可以以简单的近似方式被计算,例如对于特别大的方向
改变可以被计算为精确的角度a》160° ,与余角范围20。《a《160°相反,从而使得
有可能通过简化对于极其尖锐的锐角的近似而避免不必要的计算复杂度。 为了允许连续线的在视觉上吸引人的显示,本发明建议三角形序列被填充以阴
影。在相邻的矩形之间各个过渡区域中三角形序列所使用的阴影希望具有与矩形的阴影相
匹配的阴影过渡区域。 本发明优选地建议将阴影作为端点阴影的子区域。在大多数情况下,端点阴影是 半圆形的、径向对称的阴影,它匹配于连续线的线宽度和它的阴影。端点阴影的适当子区域 的使用使得有可能保证从三角形序列的阴影到与其相邻的矩形的后续阴影的平滑过渡。
本发明有利地建议,阴影是径向对称端点阴影的圆形分段。圆形分段有利地具有 圆形分段角度,它对应于在连续的矩形的校直之间的角度a。这避免了在两个互相差别很 大的几何区域之间的复杂的变换。


在下文中将更详细地说明本发明的一个示例性实施例,并以附图示出,其中 图1显示连接两个支持点的矩形的示意图, 图2显示用于显示图1所示的矩形的两个三角形的示意图, 图3显示互相以一个角度a校直的两个连续的矩形的示意图, 图4显示不同象限的角度的定性关系的示意图, 图5显示覆盖其相对校直改变到右侧的两个矩形之间的间隙的三角形序列的示 意图, 图6显示如图5所示的示意图,矩形的校直实际上向右改变180。, 图7显示如图5和6所示的示意图,矩形的校直改变到左侧, 图8显示如图5到7所示的示意图,矩形的校直实际上向左改变180° , 图9显示在其校直仅仅向右和向左稍微改变的每种情况下两个连续的矩形的示
意图,以及 图10显示可被叠加到先前显示的三角形序列上的端点阴影单元的确定的区域的 示意图。
具体实施例方式
众所周知,连续线可以由多个连续的支持点vl, v2等等以及由预定的线宽度w定 义。为了在显示设备上、例如在显示器上显示连续线,有利的是通过连接各个相邻的支持点 的矩形序列来显示连续线,每个矩形又由两个三角形组成。在诸如OpenGL那样的许多图形 编程语言中,诸如这些的三角形序列可以特别容易和快速地被产生和显示。
正如可以从图1和2看到的,归一化的方向向量"dir"具有两个分量
(1)改x -
(2)脱y =
(v1jc—v2jc)
v^Tjc - v2 jc" + (勿- v2.力2
V(vl jc - v2,:c)2 + (vl .y - v2.力2 与方向向量成直角的归一化法线向量"norm"具有分量
(3) norm, x = dir. y
(4) norm, y = -dir. x 它们可以针对具有二维坐标vl和v2的两个连续的支持点vl和v2进行计算。根 据这样计算的向量"dir"和"norm",连接两个支持点vl和v2的矩形1的二维顶点bbl, bb2, bb3和bb4可以通过使用下面显示的公式进行计算 (5) W)"/.X - Vl JC + (6) 6jb"f.y = vl,y + (7) 6i)2.x = vljr —


、 (8) /b/)2,y - vl.,(9)处3,x = v2jc十

2 (io) 6W,y = v2.;/十
,、 (ii) jb/)4.x - v2,x— /wnwjc*—
2, (12) jb/>4.y = v2.y— worm.y 这个矩形1可以借助于两个三角形Tl和T2被填充和显示。通过使用图形编程语 言OpenGL,这个三角形序列可以通过使用以下的命令被显示 gIBegin(GL—TRIANGLE_STRIP); glVertex2fv(&bbl) glVertex2fv(&bb2) glVertex2fv(&bb3) glVertex2fv(&bb4)
6
gIEnd(); 当具有各个先前计算出的顶点的两个连续的矩形1,2被显示时,两个矩形1,2被 叠加在靠近连接连续的矩形1,2的支持点v2的区域3内。没有被填充的、所显示的可见的 间隙5保持在靠近支持点v2的相反的区域4中。按照本发明,间隙5被显示为由以某种适 当的方式确定的三角形序列6覆盖和填充。 首先,用下面定义的参数或特征变量来计算在第一矩形1的法向向量"norm/与 随后的第二矩形2的法向向量"nornv/'之间的归一化的角平分线"bisec"。
(13)bisector, x
(14)bisector, y <formula>formula see original document page 7</formula> (17)bisec. cos = norm. xn * bisec. x+norm. yn * bisec. y
(18) cosine = norm. xn * norm. xn+1+norm. yn * norm. yn+1
(19) sine = dir. xn * norm. xn+1+dir. yn * norm. yn+1 为了加快连续线的计算和显示,基于在第一矩形1的归一化法向向量"dir/与随 后的第二矩形2的归一化法向向量"diiv/'之间的角度a ,该过程的其余部分是不同的。 为此,角度a与如图4所示的五个象限Q1到Q5之一相关联,以及在用于填充和显示连续 的矩形1和2之间的间隙5的过程的其余部分中的步骤序列被选择为这个关联性的函数。
如果连续线具有在象限Q2内以角度a向右侧弯曲(图5)的轮廓,则间隙5被填 充以包括具有各个顶点BCD、 BDE和BEF的三个三角形的三角形序列6。对于连续的矩形1 和2的、在图5上作为例子显示的顶点A到G的二维坐标通过使用下式进行计算 (20) Jb/)." = vjc"' — (21)的.y^ = v./"i —
<formula>formula see original document page 7</formula><formula>formula see original document page 8</formula> 如果连续线具有在象限Q3内以角度a向右侧急剧弯曲(图6)的轮廓,则间隙5 同样地被填充以包括具有各个顶点BCD、 BDE和BEF的三个三角形的三角形序列6,相关的 顶点A到F的二维坐标通过使用下式进行计算
<formula>formula see original document page 8</formula>:0092] 同样地,在向左侧弯曲(象限Q5)或向左侧急剧弯曲(象限Q4)的轮廓的情况下, 用于计算和显示填充间隙5的三角形序列的、相关的顶点的坐标通过使用下式进行计算 :0093] 对于在象限Q5内的角度a (图7),
:0089] (43)的.yt - v.》,,+
:0090] (44) - vjc, + —
wonw.》-1平"Y w、
"orw jc,
2
:0091 ](45) Jb6,yF = v.》"一 |加rm.》 i
2
:0096] :0097]
:0098] :0099]
:oioo] :oioi] :0102] :0103] :0104] :0105] :0106] :0107]
:0094] (46) = v夂* , 一

:0095] (47) W).X4 - v.》 , — wonw.y
2
(48) bb. xB = v. xn+i
(49) bb. yB = v. yn+1
(50) 6/b,xc - v乂 *'
(51) 66.yc - v._y."
(52) bb.Xo - vjc,
(53) /bib.yo - v.》
(54) - v工
(55) - v.》
(56) - v.x,
, 2
i 一 "onw.》
2
(worm jc' + (1
(t70/7w.》+ (1
(wo^wjc, i - (1 _ '十I (加rw.》*, - (卜6/""0》* i)2 .
(57) jW).y"f = V., , + J W(7A7W,》+ '
1"
(58) - v工,i 一! wrm工,'
1"
(59) 6b.yG - v.y"i-j "orm.y",*
乂 w、
2
9








对于在象限Q4内的角度a (图8), (60) - VJC"i —(61) W).yA = v.》"一
(62) bb. xB = v. xn+i
(63) bb. yB = v. yn+i

(64) 66.xc - vx> t + ("omjf. + 一

(65)他yb- +
2
(66) jW .乂o - vj. , + L ("or/wjc, +1 - d/a, , ')* Y
(67) W).yz) - v.> '("om.》*, - i)*
7
(68) - v.x' t +
(69) 6b.ye - v.》"十
* w
(70) = vjc, " — l wormjc. , * —
I 2
(71), + 为了允许更快速地连同用来填充各个间隙5的三角形序列6—起给出和显示同样 被显示为三角形序列的矩形1和2,本发明建议,在借助于两个三角形Tl和T2显示第一矩 形1后,通过顶点ACB给出和显示另一个三角形。这导致产生一个连接的三角形7,它形成 从矩形1的边缘长度到三角形序列6的边缘长度的过渡,并且它仅仅是矩形1的边缘长度 的一半。 同样地,在显示三角形序列6后,通过顶点BFG给出和显示另一个连接三角形7,再
次形成从三角形序列6的边缘长度到第二个矩形2的边缘长度的过渡。 连接三角形7的使用允许连续的矩形1,2和被物理地设置在它们之间的三角形序
列6被计算和显示为一致的三角形序列。特别是当使用图形编程语言0penGL时,这样可以
产生特别简单和快速的显示。 如果连续的矩形1和2的校直仅仅稍微改变,相对方向改变是小于预定的阈值 a。、例如20。的角度a ,则对于大多数应用,使得矩形1和2的互相面对的顶点相匹配就足够了。在这种情况下,两个矩形被变形,如图9所示,形成具有两个对应的顶点A, B和一

共的侧边边缘8的多边形,其边界与矩形形状稍微不同,并保证在两个连续的矩形1和2

与最终得到的多边形之间的平滑过渡。各个匹配的或公共的顶点A和B被定义为 (72) bb.xA - v丄,》, +1 * (73) Jbb.yA - v.jv, , +1 6&ec.少*
、 <formula>formula see original document page 11</formula>
(75)的.ya - v.y. 对于最小方向改变,不需要计算和显示填充间隙5的三角形序列,这对于可感觉 的显示品质没有不利的影响。如果需要的话,阈值a。可以根据线宽度w匹配于所使用的 显示器或各个预定的图形显示质量要求。同样地,各个象限Q2和Q3以及Q4和Q5的边界 也可以特定地适配,以便改进显示质量。 矩形1,2和各个三角形序列6可被提供以阴影,以便改进质量。为了简化起见,对 于最小方向改变(象限Ql),矩形阴影可以保持,和/或可被扩展到互相相邻的多边形的区 域。 对于清晰地感知的方向改变(象限Q2到Q5),有利地可以使用径向对称的阴影单 元,并且这也被用来显示线或连续线的末端区域。下文是基于图io所示的半圆形径向对称 阴影单元和末端阴影单元的假设。阴影单元坐标是在0与smax之间(这里被显示为x轴) 或在0与t^之间(这里被显示为y轴)的范围内。为了允许阴影正确地覆盖三角形序列 6,三角形序列6的相关的顶点BCDEF必须与阴影单元的对应的坐标BCDEF相关联,并且由 这些坐标预先确定或限定的阴影区域必须被映射到三角形序列6上。 0133] 各个阴影坐标可以通过使用以下的公式进行计算 对于在象限Q2内的角度a :
0134] 0135] 0136] 0137] 0138] 0139] 0140] 0141] 0142] 0143] 0144] 0145] 0146] 0147]
(76) bb. tA= (l-bisec. cos)衬磁
(77) bb. sA = (l_(_bisec. sin))氺O. 5氺s脆)(
(78) bb. tB = tMX
(79) bb. sB = 0. 5*sMX
(80) bb.tc= (1-bisec. cos)*tmx
(81) bb. sc = (l_(_bisec. sin))承O. 5承Sn^
(82) bb. tD = 0
(83) bb. sD = (l_(_bisec. sin))承O. 5承Sn^
(84) bb. tE = 0
(85) bb. sE = sMX_((l_(_bisec. sin))承O. 5*sM
(86) bb. tF= (l-bisec. cos)衬磁
(87) bb. sF = sMX_((l_(_bisec. sin))承O. 5*sM 对于在象限Q3内的角度a ::0148] (88)bb.tA= (l-bisec. cos)衬應
:0149] (89)bb.sA = 0
:0150] (90)bb. tB = t丽
:0151] (91)bb. sB = 0. 5*sMX
:0152] (92)bb.tc= (1-bisec. cos)*tmx
:0153] (93)bb.sc = 0
:0154] (94)bb.tD = 0
:0155] (95)bb.sD = 0
:0156] (96)bb.tE = 0 (97) bb. sE = s磁 (98)bb.tF = Ux (99) bb. sF = s駆 对于在象限Q4内的角度a : (100)bb.tA= (l-bisec. cos)*tmx (101)bb.sA = 0 (102)bb. tB = t隨 (103)bb. sB = 0. 5*sMX (104)bb.tc= (1-bisec. cos)氺t鹏x (105)bb. sc = 0 (106)bb.tD = 0 (107)bb. sD = 0 (108)bb.tE = 0 (109) bb. sE = sMX (llO)bb. tF = t隨 (lll)bb. sF = sMX 对于在象限Q5内的角度a : (112)bb.tA= (l-bisec. cos)衬艇 (113)bb.sA=(卜bisec. sin)柳.5*sMU (114)bb. tB = t隨 (115)bb. sB = 0. 5*sMX (116)bb.tc=(卜bisec. cos)氺t船x (117)bb.sc= (l—bisec. sin)氺O. 5氺s脆x (118)bb.tD = 0 (119)bb.sD= (l—bisec. sin)氺O. 5氺s魁x (120)bb.tE = 0 (121)bb- sE = s阻-((卜bisec. sin)机5*sMX) (122)bb.tF= (l-bisec. cos) (123) bb. sF = sMX-((l-bisec. sin)氺O. 5*smx)。
权利要求
用于在基于光栅的显示装置上显示连续线的方法,连续线由一系列二维支持点和线宽度定义,连接支持点的矩形具有由在支持点之间的距离预先确定的矩形长度,并具有由在两个支持点之间显示的线宽度预先确定的矩形宽度,其特征在于,覆盖矩形1,2之间的间隙5的三角形序列6被显示在两个连续的矩形1,2之间,其互相的校直为角度α≥α0。
2. 按照权利要求1的方法,其特征在于,三角形序列6包括多个三角形,每个三角形具 有连接连续的矩形1,2的支持点v2作为公共顶点。
3. 按照权利要求1或权利要求2的方法,其特征在于,三角形序列6具有三个三角形。
4. 按照前述权利要求之一的方法,其特征在于,连接三角形7在所有情况下均被显示 在矩形1与三角形序列6之间,以及在三角形序列6与随后的矩形2之间,连接三角形7的 顶点是矩形1和随后的矩形2的面向三角形序列6的两个顶点与连接支持点v2。
5. 按照前述权利要求之一的方法,其特征在于,三角形序列6的顶点根据在连续的矩 形1,2的校直之间的角度a被预先确定。
6. 按照前述权利要求之一的方法,其特征在于,三角形序列6被填充以阴影。
7. 按照权利要求6的方法,其特征在于,阴影是端点阴影的子区域。
8. 按照权利要求7的方法,其特征在于,阴影是径向对称的端点阴影的圆形分段。
9. 按照权利要求8的方法,其特征在于,圆形分段具有对应于在连续的矩形的校直之 间的角度a的圆形分段角度。
全文摘要
在用于在基于光栅的显示装置上显示连续线的方法中,连续线由一系列二维支持点v1和v2以及线宽度w定义,连接支持点v1和v2的矩形1具有由在支持点v1与v2之间的距离预先确定的矩形长度,并具有由在两个支持点v1与v2之间显示的线宽度w预先确定的矩形宽度,本发明建议,覆盖矩形1,2之间的间隙5的三角形序列6被显示在其互相的校直为角度α≥α0的两个连续的矩形1,2之间。三角形序列6包括多个三角形,每个三角形具有连接连续的矩形1,2的支持点v2作为公共顶点。连接三角形7在所有情况下均被显示在矩形1与三角形序列6之间,以及在三角形序列6与随后的矩形2之间,连接三角形7的顶点是矩形1和随后的矩形2的面向三角形序列6的两个顶点与连接支持点v2。三角形序列6的顶点根据在连续的矩形1,2的校直之间的角度α预先确定。
文档编号G06T11/20GK101739702SQ20091020732
公开日2010年6月16日 申请日期2009年10月26日 优先权日2008年11月15日
发明者J·巴德尔, S·M·霍庇 申请人:迪尔航空航天有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1