2024年10月30日发(作者:司马琳溪)
·
$-
·
机械
,##(
年第
(#
卷第
"
期
二维图形轮廓线的夹角比较识别法
董建甲,王小椿
(西安交通大学机械工程学院,陕西西安
!"##$%
)
摘要:介绍了图形轮廓线的夹角比较识别算法。确定初始搜索点和初始搜索边,由初始的点和边开始查找出与之关联的
边,计算各关联边在搜索方向的矢量,通过比较各边的矢量与参考矢量的夹角确定出轮廓边,重复上述过程直至轮廓边闭合为
止。
关键词:轮廓线;夹角比较识别法;图形
中图分类号:
&’(%"
文献标识码:
)
文章编号:(
,##(
)
"##*+#("*#"+##$-+#(
!"#$%
&
’()*"+’,)-#,*).
/
),
&
’0*%),#’.*"#,1
&
($
2
")345
/
3’+
2
$(),
&
*"#$,
&
%#4
./0123456
7
34
,
8)01934:6;<=5
(
>;<::?:@AB;<453;4?C5
D
35BBE35
D
,
93
’
45!"##$%
,
K<354
)
45234:F:5
D
G53HBEI3F
J
,
93
’
654*($3*
:
&<3I
L
4
L
BE
L
EBIB5FIF D :E3F J 35 D F D E4 L <3;IO J ;:M L 4E35 D 45 D ?BIPQ3EIF? J F 45NBN D B4EBNBFBEM35BN , @E:MF D B , F D BI3IIB4E; , 45NHB;F:EI:@BHBE J BN D B35IB4E;<35 D N3EB;F3:53I ;4?;=?4FBN , F D B3INB;3NBNO J ;:M L 4E35 D F D ?BI@:EMBNO J F D BI L 4IIBNF D D 5:NB45N F , EB L B4FF<3I L E:;BII=5F3?F D BI4EB;?:IBNP 7# / 8’(-4 : :=F?35B ; MBF<:N:53NB5F3@ J 35 DD E4 L <3;I:=F?35BO J ;:M L 4E3I:5F D ?BI ; D E4 L <3;I 图形轮廓线识别算法是 K). 中应用较广泛的 一项技术,目前已经提出多个轮廓线的识别算法,如 求交算法、滚圆法、活动局部坐标系法等。其中活动 局部坐标系法引入局部坐标系的概念,避免了识别 过程中大量的求交运算,提高了识别的效率,识别效 果比较好。用活动局部坐标系法识别图形轮廓线 时,根据点线间的关联关系,由点及线,再由线及点 [ " ] 搜索关联图线,直至得到图形的轮廓线 。 段的端点,圆或圆弧的圆心,圆弧的起始、终止点数 据。 第二步,判断图形中各图元间的位置关系,求出 不同图元不在端点处相交的公共点(隐含点),将隐 含点数据存入点表。整理点表,合并坐标值相等的 节点。 "T, 初始搜索点线的确定 轮廓线搜索识别从一点开始,不失一般性,取左 下角的点作为起始搜索点,该点位于图形的轮廓线 上。 起始搜索边是位于轮廓线上、从起始点开始沿 搜索方向的边。搜索方向十分重要,因为它关系着 后面轮廓边的判断准则,如果搜索方向为顺时针方 向,轮廓边取夹角最大的边,反之取夹角最小的边。 规定逆时针方向为搜索方向。求每一条过起始搜索 点的有向线段与水平方向的夹角,则起始搜索边的 夹角 ! 为 { !U" , , … V ! ! W " } ! UM35 ! ! , 图 " 所示, " ( 为起始搜索边。 本文介绍了一种新算法,和活动局部坐标系法 相比,该算法直接用候选边和搜索边之间的矢量夹 角大小来判断轮廓边,简化了判别过程。 " "T" 轮廓线的搜索识别 [ , ] 图形数据文件处理 输入的图形数据文件按下述步骤进行处理并用 点线数据结构表达出来,形成点线数据链表。 第一步,从文件中读图元数据,分别用点线数据 结构表示点线数据,形成点和图元链表。此时得到 的图元表包含图形中所有图元数据,点表中包括线 收稿日期: ,##,+#!+,* 作者简介:董建甲( "%!$+ ),男,博士生,主要研究方向为计算机图形学;王小椿( "%R#+ ),男,教授,博士生导师,主要研究方向为数控技术 理论、 K).SK)A 。 机械 0%%# 年第 #% 卷第 ! 期 · $: · 索到的轮廓边闭合为止。 !"/ 整理识别结果 识别得到的轮廓线可以用一个图元数组表示。 如果在识别过程中有隐含点作为搜索点,隐含点将 一个图元分为两部分来识别,如果该图元被隐含点 分开的各部分都为轮廓边,这样在整理识别结果时 须将其归并为一个图元数据来表示;如果一个图元 只有部分在轮廓线上,则将识别得到的点和图元组 !"# 确定新的搜索点和候选边 从当前搜索点出发沿轮廓边找到轮廓边上与搜 索点相邻的点,它可能是轮廓边的端点,也可能是隐 含点。若为隐含点,该点将轮廓边分为两部分,前一 部分为当前搜索边,后一部分为候选边。搜索到的 点作为新的搜索点。 找到与新的搜索点关联的图元,这些图元作为 候选边。注意,如果新的搜索点是隐含点,以新的搜 索点为起点,搜索点所在图元的下半段有向边也为 候选边。 图 ! 起始搜索边的确定 !"$ 确定轮廓边 第一步,确定参考矢量,取搜索边方向的反方向 矢量为参考矢量。设搜索边上新搜索点为 ! % ,前一 搜索点为 ! ! ,则参考矢量 " 为 "& ( ! ! ’ ! % ) #( ! ! ’ ! % (&)*+ ! $,+-. ! % 第二步,计算各候选边矢量和参考矢量的夹角。 若候选边为直线段,候选边矢量为沿候选边方 向矢量;若候选边为圆弧,矢量方向为过该点圆弧的 切线方向。设候选边单位矢量为 " - &)*+ " $,+-. " % 则该矢量与参考矢量的夹角 # 可用以下公式得 到 { )*+ # &)*+ " )*+ ! ,+-. " +-. ! +-. # &+-. " )*+ ! ’)*+ " +-. ! 取 # 值最小的矢量对应的候选边为轮廓边。 如果有圆弧和线段的 # 值相等且最小,计算圆 弧相对于线段的方向,若圆弧位于线段左侧,取线段 为轮廓边;位于线段右,取圆弧为轮廓边。如果有两 圆弧的 # 角相等最小且分别位于边矢量两侧,取矢 量右侧的圆弧为轮廓边;若同位于矢量左侧,取半径 大的圆弧为轮廓边;若同位于矢量右侧,取半径小的 圆弧为轮廓边。(证明略) 找到轮廓边后,在轮廓边上找到下一个与搜索 点相邻的点作为新的搜索点,重复上述过程,直至搜 成新的图形元素作为轮廓边的识别结果。 0 结果分析 如图 0 ( 1 )、图 # ( 1 )所示的图形,分别用活动局部 坐标系算法与本文介绍的算法对其轮廓线识别,识 别结果如图( 02 )、图( #2 ),两算法所用的时间如表 ! 所示。 ( 1 )图形 ! ( 2 )轮廓线识别结果 图 0 实例 ! ( 1 )图形 0 ( 2 )轮廓线识别结果 图 # 实例 0 表 ! 使用不同算法轮廓线识别时间比较 二维图形原算法( 3 )( 4+ )新算法( 5 )( 4+ ) 365 实例 !!7$890"$0 实例 0007:!0"/! 从表 ! 可以看出,夹角比较算法和局部坐标算 法相比,在处理同一图形时识别时间缩短了一倍多。 # 结论 本文介绍的算法和活动局部坐标系法相比有许 多改进,使用活动局部坐标系法,在搜索边上建立局 部坐标系后,计算出候选点在局部坐标系中所处的 位置,根据不同的位置给出相应的位置值,根据位置 值的大小来判断出优选点和轮廓边,(下转第 89 页) · ,) · 度行驶,驶过一段路程(便于 !"# 电脑采集故障代 码)后,将车辆停住。再用跨接线将自我诊断插座端 仪表板上的 !"# 警告灯便有规律 子 $%&’( 短接, 地闪烁输出故障代码。 )*+ 故障代码表明要检修故障的部位 机械 +55- 年第 -5 卷第 ( 期 , 快速检查法 快速检查法,是指用数字万用表和一些相应设 备在 !"# 电路规定的位置进行连续的检测。在诊 断过程中,如果有故障码输出,这时可进一步利用快 速检查法,迅速明确故障的性质,为故障的排除打下 可用 $0,4&/5& 基础。如坦孚式 !"#-+ 脚系统, !6! 型接线盒与 !"# 导线相连。盒上标有 /5 个测 量点,在相应的测量点上进行测量,即可迅速确定系 统的故障。但不能检查出间歇性故障。 丰田车系 !"# 系统车轮速度传感器故障代码 内容,如表 + 所示。按照故障所表示的内容对相关 线路进行检修,如电路良好,检测传感器,必要时更 换。 表 + 丰田车系 !"# 系统车轮速度传感器故障代码内容 故障内容 右前轮速度传感器信号电压过低 左前轮速度传感器信号电压过低 右后轮速度传感器信号电压过低 左后轮速度传感器信号电压过低 右前轮速度传感器信号不稳定 左前轮速度传感器信号不稳定 右后轮速度传感器信号不稳定 左后轮速度传感器信号不稳定 故障码 ,( ,+ ,- ,. ,/ ,) ,, ,0 0 故障指示灯诊断法 实际应用中,自诊断和快速检查法,一般都能迅 速准确的判断出故障位置,而故障指示灯诊断法则 是通过观察制动故障指示灯闪烁的规律和次数,表 示故障代码和故障内容,进行故障判断的一种简易 方法。同时,驾修人员也可采用这种方法对 !"# 系 统发生的故障进行诊断。 在点火开关置于接通位置 正常的 !"# 系统, (约 . 秒钟),在发动 时, !"# 故障指示灯应闪亮一下 机启动的瞬间,(驻车制 !"# 故障指示灯应该都闪亮 动处于放松位置),一旦发动机运转良好,两个指示 灯都应熄灭,则防抱死制动性能恢复正常。汽车在 行驶中遇到道路情况变化,采取制动降低车速以至 停车,或在下长坡时维持一定行驶速度。从而避免 了汽车制动时的横滑、侧移和方向失控,使其按预定 的运行轨迹行驶,保持汽车方向的稳定性,具有良好 的制动效果,确保行车安全。 )*- 故障代码的清除 用跨接线将自我诊断插座端子 $%&’( 短接, 将制动踏板踩到底 并接通点火开关。在 - 秒钟内, 后再松开,连续重复 0 次以上, !"# 电脑便自动将故 ( 12 )、 障代码清除。收回自我诊断插座,接好 !" ( 13 )间的短接线 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! (上接第 .7 页)如果位置值相等,则计算相等位置值 对应候选边在局部坐标系中的角度,根据角度值来 判断轮廓边。新的算法不再在搜索点上建立局部坐 标系,而是直接计算候选边和搜索边的夹角,根据夹 角值来判断轮廓边;其次,在当候选边为圆弧时,对 其是否为轮廓边的判断方法也作了改进,使判断结 果更加准确;在已有的算法中,初始搜索边的确定算 法在使用过程中不太稳定,对此本文介绍了一种更 加科学的确定方法。 该算法是针对图形元素是直线段、圆和圆弧的 参考文献: [ ( ]高玮,吴中奇,童红卫 * 工程轮廓线自动识别的新方法[ 8 ] * 计算 机应用与软件,( ) ): (77) , (-.7&/+* [ + ]吴战国,李启炎 * 面向三维重建的三视图数据结构[ 8 ] * 工程图学 ( + ): (+0&(-+9 学报, +55( , 情况,对于图形元素为任意曲线段的情形,该算法无 法识别其轮廓线。一般来说,如果可以计算出曲线 段的切线,那么含任意曲线的轮廓线也是比较容易 识别出的,所以该算法还可以进行改进以识别更为 复杂的轮廓线。 2024年10月30日发(作者:司马琳溪) · $- · 机械 ,##( 年第 (# 卷第 " 期 二维图形轮廓线的夹角比较识别法 董建甲,王小椿 (西安交通大学机械工程学院,陕西西安 !"##$% ) 摘要:介绍了图形轮廓线的夹角比较识别算法。确定初始搜索点和初始搜索边,由初始的点和边开始查找出与之关联的 边,计算各关联边在搜索方向的矢量,通过比较各边的矢量与参考矢量的夹角确定出轮廓边,重复上述过程直至轮廓边闭合为 止。 关键词:轮廓线;夹角比较识别法;图形 中图分类号: &’(%" 文献标识码: ) 文章编号:( ,##( ) "##*+#("*#"+##$-+#( !"#$% & ’()*"+’,)-#,*). / ), & ’0*%),#’.*"#,1 & ($ 2 ")345 / 3’+ 2 $(), & *"#$, & %#4 ./0123456 7 34 , 8)01934:6;<=5 ( >;<::?:@AB;<453;4?C5 D 35BBE35 D , 93 ’ 45!"##$% , K<354 ) 45234:F:5 D G53HBEI3F J , 93 ’ 654*($3* : &<3I L 4 L BE L EBIB5FIF D :E3F J 35 D F D E4 L <3;IO J ;:M L 4E35 D 45 D ?BIPQ3EIF? J F 45NBN D B4EBNBFBEM35BN , @E:MF D B , F D BI3IIB4E; , 45NHB;F:EI:@BHBE J BN D B35IB4E;<35 D N3EB;F3:53I ;4?;=?4FBN , F D B3INB;3NBNO J ;:M L 4E35 D F D ?BI@:EMBNO J F D BI L 4IIBNF D D 5:NB45N F , EB L B4FF<3I L E:;BII=5F3?F D BI4EB;?:IBNP 7# / 8’(-4 : :=F?35B ; MBF<:N:53NB5F3@ J 35 DD E4 L <3;I:=F?35BO J ;:M L 4E3I:5F D ?BI ; D E4 L <3;I 图形轮廓线识别算法是 K). 中应用较广泛的 一项技术,目前已经提出多个轮廓线的识别算法,如 求交算法、滚圆法、活动局部坐标系法等。其中活动 局部坐标系法引入局部坐标系的概念,避免了识别 过程中大量的求交运算,提高了识别的效率,识别效 果比较好。用活动局部坐标系法识别图形轮廓线 时,根据点线间的关联关系,由点及线,再由线及点 [ " ] 搜索关联图线,直至得到图形的轮廓线 。 段的端点,圆或圆弧的圆心,圆弧的起始、终止点数 据。 第二步,判断图形中各图元间的位置关系,求出 不同图元不在端点处相交的公共点(隐含点),将隐 含点数据存入点表。整理点表,合并坐标值相等的 节点。 "T, 初始搜索点线的确定 轮廓线搜索识别从一点开始,不失一般性,取左 下角的点作为起始搜索点,该点位于图形的轮廓线 上。 起始搜索边是位于轮廓线上、从起始点开始沿 搜索方向的边。搜索方向十分重要,因为它关系着 后面轮廓边的判断准则,如果搜索方向为顺时针方 向,轮廓边取夹角最大的边,反之取夹角最小的边。 规定逆时针方向为搜索方向。求每一条过起始搜索 点的有向线段与水平方向的夹角,则起始搜索边的 夹角 ! 为 { !U" , , … V ! ! W " } ! UM35 ! ! , 图 " 所示, " ( 为起始搜索边。 本文介绍了一种新算法,和活动局部坐标系法 相比,该算法直接用候选边和搜索边之间的矢量夹 角大小来判断轮廓边,简化了判别过程。 " "T" 轮廓线的搜索识别 [ , ] 图形数据文件处理 输入的图形数据文件按下述步骤进行处理并用 点线数据结构表达出来,形成点线数据链表。 第一步,从文件中读图元数据,分别用点线数据 结构表示点线数据,形成点和图元链表。此时得到 的图元表包含图形中所有图元数据,点表中包括线 收稿日期: ,##,+#!+,* 作者简介:董建甲( "%!$+ ),男,博士生,主要研究方向为计算机图形学;王小椿( "%R#+ ),男,教授,博士生导师,主要研究方向为数控技术 理论、 K).SK)A 。 机械 0%%# 年第 #% 卷第 ! 期 · $: · 索到的轮廓边闭合为止。 !"/ 整理识别结果 识别得到的轮廓线可以用一个图元数组表示。 如果在识别过程中有隐含点作为搜索点,隐含点将 一个图元分为两部分来识别,如果该图元被隐含点 分开的各部分都为轮廓边,这样在整理识别结果时 须将其归并为一个图元数据来表示;如果一个图元 只有部分在轮廓线上,则将识别得到的点和图元组 !"# 确定新的搜索点和候选边 从当前搜索点出发沿轮廓边找到轮廓边上与搜 索点相邻的点,它可能是轮廓边的端点,也可能是隐 含点。若为隐含点,该点将轮廓边分为两部分,前一 部分为当前搜索边,后一部分为候选边。搜索到的 点作为新的搜索点。 找到与新的搜索点关联的图元,这些图元作为 候选边。注意,如果新的搜索点是隐含点,以新的搜 索点为起点,搜索点所在图元的下半段有向边也为 候选边。 图 ! 起始搜索边的确定 !"$ 确定轮廓边 第一步,确定参考矢量,取搜索边方向的反方向 矢量为参考矢量。设搜索边上新搜索点为 ! % ,前一 搜索点为 ! ! ,则参考矢量 " 为 "& ( ! ! ’ ! % ) #( ! ! ’ ! % (&)*+ ! $,+-. ! % 第二步,计算各候选边矢量和参考矢量的夹角。 若候选边为直线段,候选边矢量为沿候选边方 向矢量;若候选边为圆弧,矢量方向为过该点圆弧的 切线方向。设候选边单位矢量为 " - &)*+ " $,+-. " % 则该矢量与参考矢量的夹角 # 可用以下公式得 到 { )*+ # &)*+ " )*+ ! ,+-. " +-. ! +-. # &+-. " )*+ ! ’)*+ " +-. ! 取 # 值最小的矢量对应的候选边为轮廓边。 如果有圆弧和线段的 # 值相等且最小,计算圆 弧相对于线段的方向,若圆弧位于线段左侧,取线段 为轮廓边;位于线段右,取圆弧为轮廓边。如果有两 圆弧的 # 角相等最小且分别位于边矢量两侧,取矢 量右侧的圆弧为轮廓边;若同位于矢量左侧,取半径 大的圆弧为轮廓边;若同位于矢量右侧,取半径小的 圆弧为轮廓边。(证明略) 找到轮廓边后,在轮廓边上找到下一个与搜索 点相邻的点作为新的搜索点,重复上述过程,直至搜 成新的图形元素作为轮廓边的识别结果。 0 结果分析 如图 0 ( 1 )、图 # ( 1 )所示的图形,分别用活动局部 坐标系算法与本文介绍的算法对其轮廓线识别,识 别结果如图( 02 )、图( #2 ),两算法所用的时间如表 ! 所示。 ( 1 )图形 ! ( 2 )轮廓线识别结果 图 0 实例 ! ( 1 )图形 0 ( 2 )轮廓线识别结果 图 # 实例 0 表 ! 使用不同算法轮廓线识别时间比较 二维图形原算法( 3 )( 4+ )新算法( 5 )( 4+ ) 365 实例 !!7$890"$0 实例 0007:!0"/! 从表 ! 可以看出,夹角比较算法和局部坐标算 法相比,在处理同一图形时识别时间缩短了一倍多。 # 结论 本文介绍的算法和活动局部坐标系法相比有许 多改进,使用活动局部坐标系法,在搜索边上建立局 部坐标系后,计算出候选点在局部坐标系中所处的 位置,根据不同的位置给出相应的位置值,根据位置 值的大小来判断出优选点和轮廓边,(下转第 89 页) · ,) · 度行驶,驶过一段路程(便于 !"# 电脑采集故障代 码)后,将车辆停住。再用跨接线将自我诊断插座端 仪表板上的 !"# 警告灯便有规律 子 $%&’( 短接, 地闪烁输出故障代码。 )*+ 故障代码表明要检修故障的部位 机械 +55- 年第 -5 卷第 ( 期 , 快速检查法 快速检查法,是指用数字万用表和一些相应设 备在 !"# 电路规定的位置进行连续的检测。在诊 断过程中,如果有故障码输出,这时可进一步利用快 速检查法,迅速明确故障的性质,为故障的排除打下 可用 $0,4&/5& 基础。如坦孚式 !"#-+ 脚系统, !6! 型接线盒与 !"# 导线相连。盒上标有 /5 个测 量点,在相应的测量点上进行测量,即可迅速确定系 统的故障。但不能检查出间歇性故障。 丰田车系 !"# 系统车轮速度传感器故障代码 内容,如表 + 所示。按照故障所表示的内容对相关 线路进行检修,如电路良好,检测传感器,必要时更 换。 表 + 丰田车系 !"# 系统车轮速度传感器故障代码内容 故障内容 右前轮速度传感器信号电压过低 左前轮速度传感器信号电压过低 右后轮速度传感器信号电压过低 左后轮速度传感器信号电压过低 右前轮速度传感器信号不稳定 左前轮速度传感器信号不稳定 右后轮速度传感器信号不稳定 左后轮速度传感器信号不稳定 故障码 ,( ,+ ,- ,. ,/ ,) ,, ,0 0 故障指示灯诊断法 实际应用中,自诊断和快速检查法,一般都能迅 速准确的判断出故障位置,而故障指示灯诊断法则 是通过观察制动故障指示灯闪烁的规律和次数,表 示故障代码和故障内容,进行故障判断的一种简易 方法。同时,驾修人员也可采用这种方法对 !"# 系 统发生的故障进行诊断。 在点火开关置于接通位置 正常的 !"# 系统, (约 . 秒钟),在发动 时, !"# 故障指示灯应闪亮一下 机启动的瞬间,(驻车制 !"# 故障指示灯应该都闪亮 动处于放松位置),一旦发动机运转良好,两个指示 灯都应熄灭,则防抱死制动性能恢复正常。汽车在 行驶中遇到道路情况变化,采取制动降低车速以至 停车,或在下长坡时维持一定行驶速度。从而避免 了汽车制动时的横滑、侧移和方向失控,使其按预定 的运行轨迹行驶,保持汽车方向的稳定性,具有良好 的制动效果,确保行车安全。 )*- 故障代码的清除 用跨接线将自我诊断插座端子 $%&’( 短接, 将制动踏板踩到底 并接通点火开关。在 - 秒钟内, 后再松开,连续重复 0 次以上, !"# 电脑便自动将故 ( 12 )、 障代码清除。收回自我诊断插座,接好 !" ( 13 )间的短接线 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! (上接第 .7 页)如果位置值相等,则计算相等位置值 对应候选边在局部坐标系中的角度,根据角度值来 判断轮廓边。新的算法不再在搜索点上建立局部坐 标系,而是直接计算候选边和搜索边的夹角,根据夹 角值来判断轮廓边;其次,在当候选边为圆弧时,对 其是否为轮廓边的判断方法也作了改进,使判断结 果更加准确;在已有的算法中,初始搜索边的确定算 法在使用过程中不太稳定,对此本文介绍了一种更 加科学的确定方法。 该算法是针对图形元素是直线段、圆和圆弧的 参考文献: [ ( ]高玮,吴中奇,童红卫 * 工程轮廓线自动识别的新方法[ 8 ] * 计算 机应用与软件,( ) ): (77) , (-.7&/+* [ + ]吴战国,李启炎 * 面向三维重建的三视图数据结构[ 8 ] * 工程图学 ( + ): (+0&(-+9 学报, +55( , 情况,对于图形元素为任意曲线段的情形,该算法无 法识别其轮廓线。一般来说,如果可以计算出曲线 段的切线,那么含任意曲线的轮廓线也是比较容易 识别出的,所以该算法还可以进行改进以识别更为 复杂的轮廓线。