Print

发布时间: 2017-11-16
摘要点击次数:
全文下载次数:
DOI: 10.11834/jig.170130
2017 | Volume 22 | Number 11




    图像分析和识别    




  <<上一篇 




  下一篇>> 





手绘运动学机构示意图识别及运动过程模拟
expand article info 李玲, 曹卫群
北京林业大学信息学院, 北京 100083

摘要

目的 为了解决手绘运动学示意图对辅助学习的局限性,以及现有物理辅助教学软件只能模拟系统设定机构的局限性,提出了一种对手绘运动学机构示意图进行识别,并实现其运动过程模拟的方法。方法 首先提取笔画的几何特征进行笔画识别,得到笔画类型,然后根据构件笔画组成列表及笔画间相对关系,进行构件的匹配识别,再根据用户意图,识别构件间位置约束关系,自动矫正机构示意图中构件的相对位置,最后通过2维物理引擎,实现机构的运动过程模拟。结果 实现了对运动学教学中常见的16种构件的识别,和构件中常用的7种图元的识别,识别准确率分别为93.25%、94%。结论 实验结果表明,该方法可在对手写运动学构件符号以及构件间的约束关系进行正确的识别和矫正的基础上,实现对整个运动机构的识别,以及对机构运动过程的模拟。

关键词

手写识别; 运动学示意图; 位置约束; 相对位置矫正; 运动过程模拟

Handwritten sketch recognition of kinematic diagram and simulation of motion
expand article info Li Ling, Cao Weiqun
School of Information Science & Technology, Beijing Forestry University, Beijing 100083, China
Supported by: Fundamental Research Funds for the Central Universities (2015ZCQ-XX)

Abstract

Objective The rapid popularization of hardware devices, such as intelligent terminals, has made makes it convenient to interact with the computer, thereby enabling people to initially enjoy the advantages of natural human-computer interaction.The increase in successful applications of many handwritten recognition systems has made sketch-based interactive technology with sketch and handwritten recognition a major research area.Teaching through computer aids has become the most commonly used teaching method and can effectively help students understand knowledge in the textbook better.Kinematics is a branch of theoretical mechanics and is the basis of various engineering disciplines.In kinematics courses, teachers usually use a handwritten or force diagram on the blackboard to help students understand the abstract principles or formulas.In the teaching process, students study most of the movements and the results through imagination; thus, they cannot intuitively feel and understand theoretical knowledge.Therefore, the abstract nature of theoretical knowledge and the difficulty in concluding the diagram lead to learning difficulties.At present, many achievements in the use of computer aids in physics courses have been made, but most of these achievements are based on images, videos, and other materials.Thus, teachers can only teach through display, which lacks interaction, and the teaching content and form are inflexible.Modern computer technology should be applied to solve the problems encountered in physics teaching.On the basis of the traditional teaching form, the advantages of modern computer technology should be fully utilized to construct an intuitive and flexible education model, which not only can help teachers explain the abstract physics theory but also can provide students with a flexible and active learning platform.Therefore, we provide a method to recognize the mechanism of the handwritten kinematics diagram and simulate the motion of the mechanism. Method On the basis of the analysis on the common mechanisms in the teaching of kinematics, this study summarizes 16 common links.On the basis of the analysis on these links, we divide the constituent primitives of the link diagram into seven categories, namely, straight line, broken line, circle, point, arc, rectangle, and triangle.Then, we propose a recognition algorithm for links based on the recognition of the handwritten primitives.In the process of link drawing, each stroke is recognized and the types of strokes are recorded.First, the stroke geometry is extracted and used in stroke recognition to identify the type of stroke.From the analysis on the users' habit of drawing the diagram, we can summarize the link with the composition of and the relationship among the primitives to establish a link library.When the link drawing is finished, we can derive a list of the types of strokes.Then, we compose the list of the types of strokes and the relative positions between strokes to recognize the links through matching with the link library.This study establishes the constraint relationship, which conforms to the users' intention and implements position correction to the link in the organization diagram.Finally, the simulation of the movement process of the mechanism is achieved on the basis of a 2D physics engine. Result The recognition of 16 types of common links in kinematics teaching was achieved.The recognition accuracy rate of most of the links was 90% or more, among which the recognition accuracy rate of ball, rod, and line reached 100%.Meanwhile, the average accuracy rate of recognition was 93.25%.Moreover, the average accuracy rate of recognition of seven types of primitives commonly used in the links was 94%. Conclusion This study summarizes 16 types of links used in the teaching of kinematics, analyzes the positional relationship between the links, and determines the position constraint relationship among the links.According to the elements of the links and the relative relationship between the primitives, we design a link library for the kinematic mechanism diagram.In this study, we propose a link recognition method based on primitive recognition, and this method can be used to recognize the links by matching the composition of and the relationship among the primitives.The relative position and connection relationship of the primitives in the link are calculated and matched with the link library.On the basis of the position constraint relationship of the links in the schematic of the mechanism, the attribute parameters of the position constraints in each link are analyzed and the position correction rules between the links are designed.Position correction is achieved for the users' handwritten input.Experimental results show that the method can recognize the handwritten kinematic links and correct the constraint relationship between these links.By correcting the position of the links, we obtain the motion diagram of the mechanism that conforms to the users' intention.In addition, we design the simulation platform of the motion process and simulate the movement process.This method exhibits high recognition rate for any kinematic link inputted by different users in the sample database and supports the user-defined combination of links to form the personalized organization and simulate the movement process.

Key words

sketch recognition; kinematics diagram; position constraint; relative position correction; motion simulation

0 引言

理论力学是研究物体机械运动的一般规律的科学[1],是各种工程学科的基础,而运动学是理论力学的一个分支学科,以几何的观点研究物体的运动。目前,理论力学的教学方式仍是以课堂教学为主,普遍采用“概念—定义—定理—论证推理—例题演算”的模式授课,学生只是被动地聆听教案或PPT[2]。同时,理论力学内容繁杂、理论抽象、公式较多,通常只是通过绘制机构示意图的方式来辅助学习,对于大部分运动状态和结果都只能通过想象得到,学生无法直观感受整个物理过程,因此在对知识的理解上产生一定的难度。随着计算机技术、人机交互技术、人工智能等相关学科的发展,为通过智能计算、计算机模拟,改变教学模式,建立互动式、智能化的辅助教学工具提供了可能。近年来,国内外出现很多相关研究成果及实验仿真产品,在中小学及大学相关课程的教学中起到了很好的促进作用。

1 相关工作

1) 手写草图识别。随着触屏手机、平板电脑等智能设备的普及,笔式输入方式越来越受到人们的青睐,手写输入草图的识别也就成为了一个非常基础的人工智能的应用和重要的研究方向。从不同角度区分,草图识别可以有不同的分组方式,如2维和3维、在线和脱机、符号化草图和非符号化草图[3]等等。孙正兴等人[4]将其分为基于笔画(如经典的可训练手势识别器[5])、基于图元(ShortStraw[6]和IStraw[7])、基于几何特征(提取全局特的模糊逻辑的符号识别[8])和基于组合图形(分层识别方法[9])4类。除了以上的草图识别方法,还有统计模型的识别方法(如基于贝叶斯网络的手绘草图识别方法[10]、隐马尔可夫模型HMM识别方法[11]、基于上下文的语义识别方法[12])等等。

2) 面向教学的物理仿真。随着科学技术发展水平的不断提高,物理作为工科基础类课程,是一门以实验为主的学科,无论是板书式还是结合多媒体的教学方式,都无法充分展现出课程所讲授内容的理想效果,所以面向教学的物理仿真系统的研究也就越来越成为热点。1999年,中国科技大学设计了名为“大学物理仿真实验2.0 For Windows”[13]的软件用于大学物理的辅助教学。2000年,特温特大学的Van等人[14]设计实现了实时物理仿真系统Labview,用于复杂的实验情境下物理现象的仿真模拟。针对不同的物理课程教学,出现了使用具有符合课程特性的计算机辅助手段或具有针对性的物理仿真系统的教学方式。比如针对“理论力学”课程,吕尤等人[15]将MSC.NASTRAN、PRO/E和ANSYS/LS-DYNA等计算机软件与理论力学课程中的静力学、运动学和动力学的教学内容相结合使用;针对“数字电路”课程,王尔申等人[16]将Multisim和Proteus仿真软件融合到课题教学中,以设计课程教学实例仿真。这些结合物理仿真软件教学方法都提高了教学质量,增加了学生的学习积极性。

在已有的工作中,辅助教学的实时性、开放性以及人机交互的自然化程度方面尚有不足之处。本文基于对手写输入的运动学示意图中物理构件及构件间关系的理解识别及矫正,实现了对用户所定义的运动学过程的正确模拟。

2 基本思想

本文对运动学教学中滑块、小车、斜坡等16种常用构件的示意图进行分析,对其中所含笔画类型进行总结,在对7种图元识别的基础上对构件示意图进行识别。然后,根据运动学构件间常见约束关系,以及用户输入情况,实现符合用户意图的构件位置矫正。最后,基于2维引擎实现对运动机构的运动过程模拟。如图 1所示, 具体流程如下:

图 1 方法流程图
Fig. 1 Flowchart of method

1) 笔画重采样。对手写输入的笔画进行重采样、去噪。

2) 单笔笔画识别、重绘。在计算笔画的基本几何特征的基础上,识别笔画并对其进行标准重绘。

3) 构件识别、重绘。分析笔画间相对位置关系,基于构件的图元组合列表、图元位置结构关系,实现对机构示意图构件的识别。

4) 运动学机构示意图中构件的位置矫正。根据用户手写输入的构件间的相对位置,基于常见的构件间的约束关系,分析用户意图,对构件进行位置矫正。

5) 运动过程模拟。

3 运动学构件示意图的手写识别及处理

运动学构件示意图的手写识别是在每一笔画输入结束时,进行笔画识别,得到对应图元类型。构件绘制结束后,基于其图元组成及位置关系,对其进行识别,并存储识别结果。

3.1 运动学构件示意图的总结和分析

通过查阅理论力学课程教材[1]中运动学部分的例题、习题可知,运动学机构包含滑块、小球、小车、斜坡等16种常见构件,如图 2所示;而组成这些构件示意图的笔画可归纳为直线、折线、圆、点等7类图元,如图 3所示,其中折线分为大角度折线、小角度折线,圆弧分为大角度圆弧、小角度圆弧。由于用户手写习惯的差异,各个构件的图元组成可能不唯一。本文对16种常见构件示意图进行分析,总结其可能组成图元,建立构件图元组成列表,并总结构件中图元间的关系,建立构件库。

图 2 16种常见构件
Fig. 2 Sixteen types of links
图 3 7种图元
Fig. 3 Seven types of sketch primitives

其中,构件图元组成列表包括每个构件的所有图元可能组合情况,例如滑块的所有图元可能组合情况如图 4所示。图元间的关系为组成构件的各图元间的相对位置和连接关系,例如滑块的第一种图元组成(4条直线段)的图元关系为“4条直线段连接成闭合的矩形”。

图 4 滑块的所有图元可能组合情况
Fig. 4 All the possible combinations of slider's primitives
((a) 4 lines; (b) 2 lines and 1 polyline; (c) 1 line and 1 polyline; (d) 2 polylines)

3.2 识别算法设计

构件的识别是在对所输入的笔画以及笔画间位置关系进行识别判断的基础上,搜索由图元种类、图元位置结构特征建立的构件库,给出识别结果。

3.2.1 笔画重采样

本文的笔画采样是以鼠标作为输入设备,计算机从按下鼠标左键(开始绘制)到抬起(绘制结束)等时间间隔采样获取原始笔画采样点序列。但是由于人为绘制速度不可控,导致采样点稀疏差异可能较大,影响笔画点的方向、曲率等特征的计算,所以为了去噪,采用对输入笔画进行等距离重采样的方法,采样间距取笔画包围盒对角线长度的1/40,得到采样点序列

$ \mathit{\boldsymbol{S}} = \left\{ {{p_i} = \left( {x, y} \right)\left| {0 \le i \le N} \right.} \right\} $ (1)

式中,${p_i}$为笔画的第$i$个重采样点,$x$$y$分别为第$i$个采样点的坐标,$N$表示重采样点的总数。

3.2.2 笔画识别

通过对绘制运动学构件示意图中使用的7种图元,即直线、折线、圆、点、圆弧、矩形、三角形进行几何特征分析可知,点的笔画长度较短,可以通过笔画长度将其与其他笔画区分开;其他笔画可以通过其首尾端点距离与笔画弧长的比(笔画的直线比率)将其分为大角度折线、直线、小角度圆弧和小角度折线、大角度圆弧、矩形、圆形、三角形两类;大角度折线、直线、小圆弧可以通过笔画的直线比率和是否有拐点进行区分;小角度折线、大角度圆弧、矩形、圆形、三角形可以通过极端方向间的标准距离(NDDE)[17]、是否闭合、是否有拐点及拐点个数进行区分。相关几何特征的计算方法如下:

1) 方向值。使用固定大小的窗口,对笔画中每个重采样点计算切线角度作为该点的方向

$ {\alpha _i} = \arctan \left( {\frac{{{y_{i + w}}-{y_{i-w}}}}{{{x_{i + w}}-{X_{i - w}}}}} \right) $ (2)

式中,$w$为窗口大小(本文取8),${x_i}$${y_i}$分别为${p_i}$$x$$y$轴坐标。切线角度${\alpha _i}$的值域定义为[-π,π]。这样可以得到笔画中各采样点的方向值序列。

2) 曲率值。对于笔画中的每个点${p_i}$使用窗口相对曲率计算公式[18]计算其曲率值,即

$ {\rho _i}\left( {{p_i}, k} \right) = \frac{{\sum\limits_{j = i + k}^{i + k} {D\left( {{p_j}, {l_{i-k, i + k}}} \right)} }}{{L\left( {{l_{i-k, i + k}}} \right)}} $ (3)

式中,$k$为窗口大小(本文取5),${p_j}$为笔画上点${p_{i-k}}$到点${p_{i + k}}$之间的一点,${l_{i, j}}$为点${p_i}$到点${p_j}$间的直线线段,$D\left({{p_j}, {l_{i-k, i + k}}} \right) $到直线段${{l_{i-k, i + k}}}$的距离,$L\left({{l_{i-k, i + k}}} \right)$为直线段${{l_{i-k, i + k}}}$的长度,如图 5所示。

图 5 笔画中一点${p_i}$的曲率计算[18]
Fig. 5 The curvature calculation of point ${p_i}$ in the stroke

需要注意的是,使用等距离重采样,对笔画的方向、曲率计算起到平滑的作用,但是会对某些具有较短片段的笔画(如长宽比较大的矩形)的拐点计算造成负面影响。所以本文计算笔画的面积最小外接矩形的长宽比,若该值大于一个给定的阈值${T_{\rm{A}}}$(本文取3.5),则使用笔画原始采样点进行曲率计算,否则使用重采样点进行曲率计算,得到笔画中各采样点的曲率值序列。

3) 通过曲率值计算拐点。查找曲率序列中的极值点,得到初步拐点列表,然后排除其中曲率小于阈值${T_{\rm{B}}}$(本文取1.45) 的候选项,得到最终拐点列表及拐点个数。

4) 通过方向值计算极端方向间的标准距离(NDDE)[17]。极端方向间的标准距离为笔画中具有方向极大、极小值的两点之间的笔画长度与笔画总长度的比。首先找到具有最高方向值和具有最低方向值的点,并计算这两点之间的笔画长度,然后将该长度除以整个笔画的长度,得到在这两个方向极限之间的笔画百分比,即为该笔画的NDDE值。

图 6可知,对于弯曲形状的笔画(图 6(a)),最高和最低方向值通常都接近笔画的端点,因此会产生非常高的NDDE值。而折线通常在其方向图中具有一个或多个波峰或波谷,而且这些波峰或波谷通常导致最高或最低方向值的点不靠近笔划的端点,因此通常具有较低的NDDE值。

图 6 圆弧和折线的笔画轨迹、方向图、曲率图
Fig. 6 The direction graph、curvature graph of arc and polyline
((a) stroke; (b) direction graph; (c) curvature graph)

5) 笔画是否闭合。通过笔画的直线比率和笔画首尾端点夹角判定笔画是否闭合。其中,直线比率${R_l}$是通过笔画首尾端点间距离$d$与笔画弧长$l$的比计算得到的。然后,计算笔画的最小二乘拟合,得到拟合圆的圆心${p_{{\rm{center}}}}$,再计算笔画首尾端点${p_1}\left({{x_1}, {y_1}} \right)$${p_n}\left({{x_n}, {y_n}} \right)$分别与圆心${p_{{\rm{center}}}}$构成的向量间的夹角,即为笔画首尾端点夹角。若直线比率${R_l}$小于阈值${T_{\rm{C}}}$(本文取0.08) 且夹角$\theta $小于阈值${T_{\rm{D}}}$(本文取5),则该笔画是闭合的,如图 7所示。

图 7 笔画是否闭合
Fig. 7 The closure of a stroke ((a) non-closed; (b) closed)

3.2.3 构件识别

由于用户在绘制习惯上存在一定的差异性,各个构件的图元组成可能并不唯一。构件识别是依据其笔画组成以及笔画间的关系(位置及连接关系)来完成的。本文总结得到16种常见构件可能的图元组成情况及其间关系,建立由构件笔画组成列表和笔画间关系构成的构件库,再进行匹配识别。

笔画间的位置关系的计算方法为:选择所有绘制的笔画中的最长直线作为$x$轴建立坐标系,计算其他笔画中心点在该坐标系内的位置,并记录其所在象限,从而确定笔画的相对位置结构。如图 8(a)所示,墙/地面示意图中所有短线都在所建立坐标系的第Ⅰ或第Ⅱ象限;如图 8(b)所示,铰链示意图中圆在所建立坐标系的第Ⅰ或第Ⅱ象限,而短线中两根在第Ⅰ或第Ⅱ象限,其余在第Ⅲ或者第Ⅳ象限。连接关系的计算方式为:判断每个笔画的两个端点和其他笔画的两端点的距离是否小于阈值${T_{\rm{E}}}$(本文取20),如果符合以上条件,判断为该笔画的与相应笔画相连接。

图 8 典型构件中笔画间的关系
Fig. 8 The relationship between strokes in the typical links
((a) wall (ground) diagram; (b) hinge diagram)

构件绘制结束后,由以上计算获得的图元关系和图元组成,搜索构件库,对构件进行匹配识别,如图 9所示。

图 9 基于构件库的构件识别
Fig. 9 The link recognition based on link library

3.2.4 识别结果

表 1为对7种图元使用本文的笔画识别方法的识别准确率统计结果,平均识别准确率为94 %。

表 1 笔画识别准确率
Table 1 Sketch recognition rate

下载CSV
种类 测试样本 识别准确率/%
直线 50 100
折线 50 94
50 90
50 88
50 92
矩形 50 94
三角形 50 100
所有种类 350 94

表 2为针对运动学中16种常用构件使用本文识别方法的识别准确率统计结果,平均识别准确率为93.25 %。

表 2 构件识别准确率
Table 2 Link recognition rate

下载CSV
种类 测试样本 识别准确率/%
滑块 25 92
小球 25 100
小车 25 96
斜坡 25 96
墙/地面 25 88
导槽 25 84
连杆 25 100
刚性绳 25 100
刚性杆 25 88
铰链 25 96
套筒 25 96
定滑轮 25 84
动滑轮 25 96
盘形凸轮 25 96
齿轮 25 96
鼓轮 25 88
所有种类 400 93.25

3.3 图元重绘

在笔画识别结束时,对所识得的图元进行重绘,各图元的重绘规则如下:

1) 直线段:根据起始点、终点绘制规范化直线段(图 10(a))。

图 10 图元重绘示例
Fig. 10 The samples of repainting primitive
((a) line; (b) polyline; (c) circle; (d) point; (e) arc with small angle; (f) arc with big angle; (g) rectangle; (h) triangle)

2) 折线:根据笔画首尾点及拐点绘制规范化折线(图 10(b))。

3) 圆:根据最小二乘拟合圆绘制规范化圆(图 10(c))。

4) 点:以笔画中心点为圆心,绘制固定较小半径(本文取3) 的圆(图 10(d))。

5) 圆弧:根据笔画中任意3点确定圆弧圆心,及笔画首尾点绘制规范化圆弧(图 10(e) (f))。

6) 矩形:根据面积最小外接矩形绘制规范化矩形(图 10(g))。

7) 三角形:根据笔画首尾点及拐点绘制规范化三角形(图 10(h))。

3.4 构件重绘

在得到构件识别结果后,根据理论力学及机械原理课本中的示意图规范对构件进行重绘。标准的构件示意图的大小和位置由用户收入的关键图元尺寸、位置决定。如小车示意图(图 11(a))的关键图元尺寸为两个圆的半径(${r_1}$${r_2}$)、构件最小外接矩形的尺寸($w \times h$)(图 11(b)),规范示意图中车轮半径为$\left({{r_1} + {r_2}} \right)/2$,车身尺寸为$ w\left({h-\left({{r_1} + {r_2}} \right)/2} \right)$,重绘示意图中心与最小外接矩形的中心重合(见图 11(c))。

图 11 小车示意图重绘
Fig. 11 Repaint the car's schematic diagram ((a) car diagram
(b) size of the key primitives in the diagram; (c) repainting the diagram)

4 运动学机构示意图中构件位置约束的识别及处理

在机构示意图中,构件间存在着一定的位置约束关系,但是用户交互输入的示意图很难精确满足这一关系。本文通过约束关系来矫正构件位置,使示意图中构件间的位置关系符合用户意图和物理学原理。

4.1 运动学机构中构件的位置约束关系分析

由我国理论力学课程教材[16]可知,运动学教学中常用机构共14种(图 12)。本文参照机构运动简图绘制的国家标准及运动学教学中的常用机构,对其中构件的位置约束关系进行分析,将其总结为重合、平行、相切3类。

图 12 运动学教学中常用机构
Fig. 12 Commonly used mechanisms in kinematic teaching

1) 重合约束关系存在于与转动副相关的机构中,如铰链/连杆、铰链/套筒、连杆/连杆等(图 13(a))。

图 13 构件间位置约束关系示例
Fig. 13 Examples of location constraint relationship between links((a) coincidence constraint relationship; (b) parallel constraint relation; (c) tangent constraint relation)

2) 平行约束关系存在于有运动方向约束的两构件中,如套筒/导杆、杆/导槽、滑块/导槽等(图 13(b))。

3) 相切约束关系存在于相对独立的两构件相互作用时,如小车/地面、滑块/斜坡、凸轮/顶杆等,以及通过滑轮、齿轮或鼓轮传动或制动时,如滑轮/绳、齿轮/齿轮、鼓轮(内圆、外圆)/绳、鼓轮外圆/滑块等(图 13(c))。

4.2 符合用户意图的位置矫正

根据用户绘制的构件位置和朝向等信息,结合运动学常见示意图的构件的约束关系,理解用户意图,进行示意图构件的位置矫正。

本文根据构件在运动学机构中的作用,对16种构件的示意图分别定义相关性判断属性参数(如图 14所示)。对于用户输入的两构件,首先根据两构件包围盒的相对位置进行初步筛查,然后对通过筛查的对象,根据两构件的类型参照4.1节确定可能的约束类型,并根据对应的相关性判断属性进行约束确认,最后对确认存在的约束按照约束类型进行位置矫正。

图 14 16种构件示意图的相关性判断属性参数
Fig. 14 Relevance judgment attribute parameter of sixteen types link schematic diagrams

如果两构件包围盒相交,或者两构件包围盒的中心点间距离小于较大包围盒对角线长度的1/2,则判定两构件间可能存在约束关系。

根据对应的相关性判断属性进行的二构件间约束确认可分为3种类型:

1) 直接确认。无需约束确认,经过筛查则确认其具有预设的约束关系,如铰链/套筒,凸轮/顶杆,小车/地面,滑块/地面,滑块/斜坡。

2) 单一约束属性判断。通过两构件间的单一对应的相关性判断属性进行判断,确认其约束关系,如套筒/导杆,绳/滑轮,绳/鼓轮,杆/导槽等,如图 15所示。

图 15 单一约束属性判断示例
Fig. 15 Sample of single constraint attribute judgment. Guide rod and groove((a) conform to the constraint; (b) do not conform to the constraint)

3) 多约束属性判断。通过两构件间的多个对应的相关性判断属性进行判断,确认其约束关系,如滑块/导槽,铰链/连杆,连杆/滑块等,如图 16所示。

图 16 多约束属性判断示例
Fig. 16 Sample of multi-constraint attribut judgment Slider and guide ((a) conform to the constraint; (b) do not conform to the constraint)

按照确认的约束类型对构件的位置矫正方案如下:

1) 重合约束。若两构件都包含转动副,且两构件位置相关,则二者具有重合约束关系。将其中一个转动副作为参考对象,另一转动副作为目标对象,将目标对象中的转动副平移至与参考对象的转动副重合,对于有多个可能重合点的情况,使用就近原则选择重合位置,实现重合约束的位置矫正,如图 17所示。

图 17 铰链/套筒为例的重合约束关系
Fig. 17 The coincidence constraint of hinge and sleeve((a) original position of hinge and groove; (b) position being corrected; (c) corrected position)

2) 平行约束。具有平行约束的构件对中均存在导槽或导杆,或二者同时存在。本文优先将其中的导槽作为参考对象,另一构件为目标对象,矫正目标对象至与参考对象平行。若构件对中无导槽,则选导杆作为参考对象。如图 18所示为导杆/套筒构件对的平行约束矫正,图 19为滑块/导槽构建对的平行约束矫正。

图 18 导杆/套筒为例的平行约束关系
Fig. 18 The parallel constraint of guide-rod and sleeve ((a) original position of hinge and groove; (b) position being corrected; (c) corrected position)
图 19 滑块/导槽为例的平行约束关系
Fig. 19 The parallel constraint of slider and guide
((a) original position of hinge and guide; (b) position after translation; (c) position after rotation; (d) correct the width of guide; (e) corrected position)

3) 相切约束是在平行约束基础上增加了接触的约束条件。所以对于具有相切约束的构件对,选择其中的一个构件作为参考对象,另一个构件为目标对象,矫正目标对象至与参考对象平行,然后按照两构件对应的相关判断属性平移目标对象至与参考对象相重合。图 20为小车/地面构件对的相切约束矫正。

图 20 小车/地面为例的相切约束关系
Fig. 20 The tangent constraint of car and ground
((a) original position of ground and car; (b) position after rotation; (c) corrected position)

需要注意的是,一个包含多个构件的机构中,某一构件可能与多个其他构件同时存在位置约束关系(图 21),本文通过设置约束优先级确定基于约束位置矫正的先后顺序。对于多约束机构,位置矫正规则如下:

图 21 多个构件间的位置约束矫正
Fig. 21 Position constraint correction between multiple link
((a)original position of guide, slider and rod; (b)position after parallel correction; (c) position after Coincidence correction; (d)corrected position)

1) 若具有位置约束关系的构件中有固定性质的构件(墙/地面、铰链、定滑轮、凸轮、齿轮、鼓轮),则以其为参考对象,其他构件为目标对象,并优先进行该位置矫正。

2) 若无符合1) 的构件对,则以“重合约束>平行约束>相切约束”的优先级顺序,依次进行位置矫正。

3) 矫正过程中,可根据需求适当调整可伸缩构件(连杆、刚性绳、刚性杆)的长度。

图 21所示机构中,滑块既与导槽有平行约束关系,也与连杆有重合约束关系,但导槽为具有固定性质的构件,所以按照以上定义的位置矫正规则,首先将导槽作为参考对象,将滑块按照平行约束进行位置校正,再进行滑块与连杆的位置矫正,将连杆临近滑块一端的转动副平移至滑块中心点重合,得到最终位置校正结果。

5 运动过程模拟

5.1 基于物理引擎的运动过程模拟

本文以Box2D为物理引擎实现机构的运动过程模拟。通过研究机构运动原理,分析得到Box2D中用于实现对应类的组件,并创建对应类。由以上工作可以得到机构的位置、尺寸信息,将其传给物理引擎,在其物理世界中创建相应的机构,并通过用户交互,设置机构中构件的物理属性(质量、摩擦系数等),最后进行正确的运动模拟。

根据构件位置约束规则设计构件的自动位置矫正,若用户意图未被满足,用户可根据自身意图进行交互地位置调整。用户也可通过物理属性编辑窗口,修改构件物理属性值。

运动学中研究对象是不考虑尺寸、形状的理想对象,运动都假设发生在理想状态下,大部分情况下,对象的尺寸、形状不会影响其运动过程,但是通过Box2D创建的对象都是具有尺寸、形状的,无法与传统运动学教学中的对象形成完全映射关系。为了解决这一问题,本文在该状态发生的那一时刻,在Box2D世界中将该对象删除,同时在下一时刻正确的运动模拟位置上创建一个具有上一时刻运动属性的新的对象,从而实现机构运动过程的正确模拟。

5.2 实验结果及分析

在硬件环境为Intel(R) Core(TM) i5-3470处理器、8 GB内存、NVIDIA Ge Force GTX 660显卡的PC机,软件环境为Window7、Visual Studio 2012、Qt5.2.1、Box2D的系统软硬件平台下,实现了运动过程的模拟系统。滑块/斜坡系统的绘制初始草图如图 22所示,运动模拟实例如图 23所示。

图 22 初始草图
Fig. 22 Initial sketch
图 23 模拟实例
Fig. 23 Simulation example ((a) initial position of the slider are different; (b) mechanism with the different friction coefficients of the slider)

图 23对比可知,当机构中只有滑块的初始位置发生变化时,滑块初始位置越高,其运动至地面时具有的速度就越大,因为其动摩擦系数不变,初始位置越高的滑块在地面上运动的距离越远;当机构中只有滑块的动摩擦系数发生变化时,滑块的动摩擦系数越小,其运动至地面时具有的速度就越大,在地面上运动的距离越大。

实验结果表明,本文实现的运动过程模拟系统可以对机构的运动过程进行正确模拟,达到直观表达机构运动的目的。

6 结论

本文在对运动学教学中16种常见构件及构件之间的约束关系进行识别的基础上,通过构件重绘及位置矫正,生成符合用户意图的运动机构示意图,并对机构的运动进行模拟。该方法对样本库中的不同用户手绘输入的运动学机构构件都具有较高的识别率,还可对用户基于16种构件所自定义的机构进行正确的运动模拟。基于论文工作所设计开发的运动学辅助教学系统具有较高的开放性和智能性。

但是论文工作只实现了对运动学机构示意图的物理模拟,在之后的工作中,可以扩展到静力学、动力学等范围。此外,还可通过对算法的完善,实现更高准确率的构件识别。

参考文献

  • [1] Guo Y Z, Zhou Z H. Theoretical Mechanics[M]. 2nd ed. Beijing: Tsinghua University Press, 2014: 4. [ 郭应征, 周志红. 理论力学[M]. 2版. 北京: 清华大学出版社, 2014: 4.]
  • [2] Pan J L, Wang T, Wang X. Reform and research on teaching method and assessment method of theoretical mechanics in engineering colleges[J]. He'nan Education, 2016(2): 99–101. [樊江磊, 王通, 王霄. 工科院校理论力学教学方法与考核方式的改革与研究[J]. 河南教育:高教版, 2016(2): 99–101. ] [DOI:10.3969/j.issn.1003-2223.2016.02.038]
  • [3] Wu L D, Deng W, Zhang Y G, et al. Review of online sketch recognition[J]. Application Research of Computers, 2015, 32(6): 1601–1607. [吴玲达, 邓维, 张友根, 等. 在线草图识别研究综述[J]. 计算机应用研究, 2015, 32(6): 1601–1607. ] [DOI:10.3969/j.issn.1001-3695.2015.06.001]
  • [4] Sun Z X, Feng G H, Zhou R H. Techniques for sketch-based user interface:review and research[J]. Journal of Computer-Aided Design & Computer Graphics, 2005, 17(9): 1889–1899. [孙正兴, 冯桂焕, 周若鸿. 基于草图的人机交互技术研究进展[J]. 计算机辅助设计与图形学学报, 2005, 17(9): 1889–1899. ] [DOI:10.3321/j.issn:1003-9775.2005.09.001]
  • [5] Rubine D. Specifying gestures by example[J]. ACM SIGGRAPH Computer Graphics, 1991, 25(4): 329–337. [DOI:10.1145/127719.122753]
  • [6] Wolin A, Eoff B, Hammond T.ShortStraw:a simple and effective corner finder for polylines[C]//Proceedings of the 5th Eurographics Conference on Sketch-Based Interfaces and Modeling.Annecy, France:Eurographics Association, 2008:33-40. http://dl.acm.org/citation.cfm?id=2386308
  • [7] Xiong Y Y, Laviola Jr J J. Technical Section.A ShortStraw-based algorithm for corner finding in sketch-based interfaces[J]. Computers & Graphics, 2010, 34(5): 513–527. [DOI:10.1016/j.cag.2010.06.008]
  • [8] Chen C L P, Xie S. Freehand drawing system using a fuzzy logic concept[J]. Computer-Aided Design, 1996, 28(2): 77–89. [DOI:10.1016/0010-4485(95)00026-7]
  • [9] Song B H, Ye J, Yu M J, et al. Three-tiered recognition method of pen-based sketch[J]. Journal of Computer-Aided Design & Computer Graphics, 2004, 16(6): 753–758. [宋保华, 叶军, 于明玖, 等. 笔输入草图的分层识别[J]. 计算机辅助设计与图形学学报, 2004, 16(6): 753–758. ] [DOI:10.3321/j.issn:1003-9775.2004.06.004]
  • [10] Zhang H L, Xie Q, Ding Q L. Research of sketch symbol recognition based on Bayesian network[J]. Manufacturing Information Engineering of China, 2012, 41(1): 82–85. [张海龙, 谢强, 丁秋林. 基于贝叶斯网络的草图识别研究[J]. 中国制造业信息化, 2012, 41(1): 82–85. ] [DOI:10.3969/j.issn.1672-1616.2012.01.023]
  • [11] Sezgin T M, Davis R.HMM-based efficient sketch recognition[C]//Proceedings of the 10th International Conference on Intelligent User Interfaces.San Diego, California, USA:ACM, 2005:281-283.[DOI:10.1145/1040830.1040899]
  • [12] Kara L B, Stahovich T F.Hierarchical parsing and recognition of hand-sketched diagrams[C]//Proceedings of the 17th Annual ACM Symposium on User Interface Software and Technology.Santa Fe, NM, USA:ACM Press, 2004:13-22.[DOI:10.1145/1029632.1029636]
  • [13] Wang X P, Huo J Q, Yang X, et al. The computer simulation experiments system and its practice of college physics education[J]. Journal of physical experiment, 2001, 21(1): 28–29. [王晓蒲, 霍剑青, 杨旭, 等. 大学物理仿真实验和教学实践[J]. 物理实验, 2001, 21(1): 28–29. ] [DOI:10.3969/j.issn.1005-4642.2001.01.009]
  • [14] Van Der Meer D, De Bruijn I.Using labview in physics simulations for educational purposes[C]//Proceedings of Second European Conference on Physics Teaching in Engineering Education.Budapest, Hungary:PTEE 2000, 2000. https://www.researchgate.net/publication/2470037_Using_Labview_In_Physics_Simulations_For_Educational_Purposes
  • [15] Lyu Y, Ming Z, Xin Z X, et al. Exploration of teaching on the combination of computer software and "theoretical mechanics"[J]. Journal of Jilin Agricultural Science and Technology University, 2016, 25(3): 95–96. [吕尤, 明哲, 辛志遐, 等. 浅谈计算机软件与"理论力学"相结合的教学探索[J]. 吉林农业科技学院学报, 2016, 25(3): 95–96. ] [DOI:10.3969/j.issn.1674-7852.2016.03.032]
  • [16] Wang E S, Pang T, Li P, et al. Application of Multisim and Proteus simulation in digital circuit teaching[J]. Experimental Technology and Management, 2013, 30(3): 78–81. [王尔申, 庞涛, 李鹏, 等. Multisim和Proteus仿真在数字电路课程教学中的应用[J]. 实验技术与管理, 2013, 30(3): 78–81. ] [DOI:10.3969/j.issn.1002-4956.2013.03.022]
  • [17] Paulson B, Hammond T.PaleoSketch:accurate primitive sketch recognition and beautification[C]//Proceedings of the 13th International Conference on Intelligent User Interfaces.Gran Canaria, Spain:ACM, 2008:1-10.[DOI:10.1145/1378773.1378775]
  • [18] Zheng W T, Liu Z Y, Sun Z X.Curvature-based segmentation for sketch understanding[C]//Proceedings of the European Association for Computer Graphics.Vienna:The Eurographics Association, 2006:157-164.[DOI:10.2312/LocalChapterEvents/TPCG/TPCG06/157-164]