基于HTML5的凸轮廓线图解法App教学软件研究

2019-12-06 06:33武照云鱼鹏飞朱红瑜李广玉孟逵
中国教育信息化·基础教育 2019年11期
关键词:机械原理图解法

武照云 鱼鹏飞 朱红瑜 李广玉 孟逵

摘 要:为了适应教育信息化的发展需求以及解决凸轮廓线图解法设计的教学难题,文章以对心直动尖顶推杆凸轮机构为对象,基于HTML5技术设计并开发了一个凸轮廓线图解法App教学软件。阐述了运用图解法设计凸轮廓线的反转法原理,对基于HTML5的App教学软件设计原理进行了详细论述,包括坐标点的旋转变换与软件设计步骤。通过Cordova平台,将HTML5页面进行编译并生成App。最后通过两个实际案例,对开发的对心直动尖顶推杆凸轮廓线图解法App教学软件的有效性进行了说明。

关键词:机械原理;凸轮廓线;HTML5;图解法

中图分类号:G434       文献标志码:A           文章编号:1673-8454(2019)22-0085-05

一、引言

近年来,我国大力提倡发展教育信息化,陆续发布了《教育信息化“十三五”规划》《教育信息化2.0行动计划》等政策文件,推动教育教学与信息技术的深度融合成为了当前教育教学改革的热点方向[1]。随着在线开放课程、网络学习空间、翻转课堂、智慧教育、移动学习等新型教育模式应用规模的逐渐扩大[2-6],对教学视频、在线题库等优质数字化教学资源的需求量越来越大,对面向课程知识点的专用教学软件的要求也越来越高。在此新形势下,过去传统的计算机辅助教学(CAI)软件由于技术原因而无法有效地与上述新型教育模式有机结合起来,所以逐渐面临着应用面越来越小, “被弱化”甚至“被淘汰”的局面。因此,采用新技术(尤其是面向移动互联网的信息技术)对CAI软件进行全新设计与升级换代是当前的迫切需求。

《机械原理》是工科院校机械类专业的一门重要专业基础课程,该课程中的“凸轮廓线图解法设计”是一个重要的知识点,也是一个教学难点。只有通过图文并茂并配以动画的方式,才能全面展示凸轮机构中的相对运动原理与反转法绘图步骤,否则学生在学习过程中会遇到很大困难。为了有效解决该问题以及满足现代化的教学需求,本文基于HTML5技术,设计开发了一个凸轮廓线图解法App教学软件,能够在手机端形象生动、清晰直观地展示凸轮廓线图解法的设计步骤,极大地提升了课程的信息化教学水平。

二、反转法设计原理

凸轮的轮廓曲线形状是凸轮机构的关键与核心要素,它直接决定了从动推杆的运动规律输出。根据基本的结构参数与从动推杆的运动规律,设计出满足要求的凸轮轮廓曲线是最常见也是最基本的一项要求。根据设计方式的不同,凸轮廓线的设计方法可分为解析法与图解法,二者各有优缺点。运用图解法设计凸轮廓线主要是依据反转法原理[7],该原理的操作步骤与流程如图1所示。

依据不同的分类方法,凸轮机构可分为多种类型,如图2所示。在直动推杆凸轮机构中,根据推杆与凸轮回转中心的位置关系,又可分为对心直动与偏置直动两种类型。在上述众多的凸轮机构类型中,对心直动尖顶推杆凸轮机构是最简单同时也是最重要的一种类型,因为它是其他类型凸轮机构设计的基础。基于此,本文选取对心直动尖顶推杆凸轮机构为对象,对其凸轮廓线的图解法演示原理进行研究。

三、基于HTML5的软件设计原理

1.HTML5概述

HTML5是HTML最新的修訂版本,在继承原有HTML部分特征的同时,又新增了很多新的特性:如语义特性、本地存储特性、设备兼容特性、网页多媒体特性等。对于网络应用开发而言,HTML5不再仅是一种标记语言,它为Web开发提供了全新的平台和框架,能够轻松实现类似桌面程序的应用体验。而且,HTML5还具有支持跨平台、自适应网页布局等独特优势[8][9]。

众所周知,目前智能移动终端大多以Android和iOS为主流的操作系统,而且彼此的技术体系差异较大,给移动App的兼容性设计造成了很大麻烦。而HTML5的出现,为跨平台App的应用开发提供了全新的途径。通过HTML5可以制作出同时适用于Android和iOS的跨平台App,还具有兼容性好、速度快、成本低等特点。因此,本文采用HTML5技术对凸轮廓线图解法App软件进行研究与设计。

2.坐标点的旋转变换

在凸轮廓线的反转法设计过程中,将频繁涉及到几何线条的旋转操作,因而坐标点的旋转变换是一个非常重要的基础问题。根据计算机图形学理论可知[10],如果平面内的一个点以坐标系原点为中心逆时针转过 角,原坐标记为(x,y),旋转后的坐标记为(x',y'),则有:

利用公式1或公式2可以很方便地得到推杆反转过程中相关几何要素的旋转坐标,是展示凸轮廓线图解法设计步骤的一个重要理论依据[11][12]。

3.凸轮廓线图解法App教学软件的设计

基于HTML5的凸轮廓线图解法App教学软件的设计步骤如下:

(1)步骤一

首先,在HTML5页面中设置若干个标签及