运动实现

2024-05-20

运动实现(精选十篇)

运动实现 篇1

关键词:运动模型,模拟器,运动分析

在快艇模拟器的设计中,视景仿真平台的开发是在利用虚拟现实技术开发高逼真度、有沉浸感的三维模型,是整个模拟器开发的软件部分。它主要包括了视景仿真三维模型的建立、运动系统数学模型解算三维姿态建立两大部分。其中运动数学模型(快艇模型)是整个模拟器的核心,只有建立正确的运动模型才能保证模拟器最后达到快艇运动时的真实效果。

1 自由度和空间运动分析方法的选取

在运动模型(快艇模型)运动过程中,我们主要关注的数据是它的三维坐标X、Y、Z,和它的俯仰、侧倾、转向三个姿态,以及运动速度。他们分别为三个位移和三个角度和一个速度。在模型器开发中,根据实际的情况,有的能够开发出六自由度的训练模拟器,如果在外观上再加工细致,可以说与实物能取得最大的一致。完全模拟实艇车状态下的各种运动情况以达到一种理想状态,是不现实的。基于仿真度、成本——效益比等综合因素的考虑,研究以三自由度仿真器模拟以下三种运动:俯仰Pitch、侧倾Roll和转向Turning运动,这也是实车中使用最频繁最重要的运动姿态。但是,由于我们的运动仿真平台并没有安放在转轮上,无法实现绕Z轴的旋转,但是可以三个液压缸同时作上下运动,所以能够实现俯仰Pitch、侧倾Roll和抬升Heading运动。

目前,世界上用来进行空间机构运动分析的学习方法很多,有四元素法、矩阵、回转变换张量法、建立在球面三角基础上的向量代数法等等.对于绕定点的空间转动,回转变换张量法具有方便、简洁、实用的优点。

2 回转变换张量法解算三维姿态

2.1 坐标轴的转换

2.1.1 绕坐标主轴回转的坐标变换

将坐标系Oijk绕坐标轴k回转θ角,这时得到另一坐标系Oi'j'k'。如上所述,点P在坐标系Oijk中的坐标为(x,y,z),在新的坐标系中的位置坐标为(x',y',z'),如图1所示。

设新坐标系各单位向量i',j',k'在基础坐标系Oijk各坐标上的分量分别为i'i,i'j,i'k。各元素由运动参数—转角θ的函数构成,表示坐标系Oijk绕k回转θ角所得的Oi',j',k'坐标系坐标的变换,表示为Ekθ。

2.1.2 绕共原点的任意回转变换

如图2所示,基础坐标系Oijk绕O任意回转到达新坐标系Oi'j'k'的位置。对于绕共原点任意回转的情况,可以转化为绕坐标主轴连续转动的过程。由坐标系Oijk到达坐标系Oi'j'k'可用欧拉变换的方法,连续三次绕不同坐标主轴而得。方法如下:

1)取k、k'的公垂线ON,这时i与ON同垂直于k,故将绕轴回转θ角即可到过ON的位置;

2)由于ON是k与k'轴的公垂线,故将k绕ON回转Ф角而到达位置k’;

3)由于k'是ON和的公垂线,这时将ON绕k'回转Ψ角,ON可达i'位置。

则按公式及上述变换的顺序,则有:

可知E为坐标系Oi'j'k'对坐标系Oijk的坐标变换矩阵,也为回转变换张量,且等于三个绕坐标主轴的回转变换张量的连乘积。

2.2 转换运算

根据空间两点之间的坐标计算公式,可以分别计算作动器I、II、III在此姿态下的实际长度L1、L2、L3,即:

当i=1,j=a,可得作动器I在此姿态下的长度L1;当i=2,j=b,可得作动器II在此姿态下的长度L2;当i=3,j=c,可得作动器III在此姿态下的长度L3。

由此,可以得出当给定车辆与地面之间的状态参数(俯仰角(±α)、侧倾角(±β)、转向(γ))时,三个作动器活塞杆在此姿态下相应的伸长量ΔL1、ΔL2、ΔL3分别为:

2.3 逆运算

对于三自由度运动系统,控制系统的输入变量是三个角度,经转换运算以后变成三个作动器的伸长量。逆运算的目的是为了及时计算运动平台在运动过程中的实际姿态,即通过反馈(位置传感器)同时测出某一瞬间三个作动器的伸长量,经过计算得出运动平台的实际姿态(俯仰角、侧倾角、转向角)值。计算过程如下:

已知各作动器伸长量ΔLi(i=1、2、3)个坐标轴的长度投影为Xi、Yi、Zi。则各作动器长度Li为:

式中:Li0为各作动器在平衡位置α=β=γ=0时的长度,相应的在三个坐标轴的长度投影为Xi0、Yi0、Zi0。

由公式(3)得:

又因为:

这是一个非线性方程组Xi、Yi、Zi解这三个方程即可求得α、β、γ。

3 运动模型的特点

采用上述方法解算快艇模拟器三维姿态,建立模拟器运动模型,通过实验证明具有以下特点:1)计算过程相对简单,计算复杂度降低;2)所建立的运动模型和真实快艇运动基本相符,可以作为快艇模拟器的运动模型。

4 结束语

有关建立模拟器运动模型的知识很多,有很多地方值得取研究。文章中提到的六个自由度模型问题,其所考虑的问题就会更多,对其进行研究就必须具有相当的数学功底;还有可以采用别的空间机构运动分析方法对运动模型进行分析。

参考文献

[1]肖田元.虚拟制造[M].北京:清华大学出版社,2004.

[2]李安定,尹念东.汽车驾驶模拟器的运动模型研究[J].黄石理工学院机电工程学,2008,24(2):26-30.

[3]陈定方,李勋祥,李文锋,等.基于分布式虚拟现实技术的汽车驾驶模拟器的研究[J].系统仿真学报,2005,17(2):347-350.

沿着五四运动的道路,实现民族复兴 篇2

沿着五四运动的道路,实现民族复兴

我出生于五四运动发生后两年多,自从20世纪30年代我开始知道五四运动以来,至今也有70多年了.像我这样的知识分子,不管是否赞成五四运动的精神,它的.影响都是无法回避的,而且是深刻而持久的.特别是我作为一个在北大生活和工作了60多年的人,它的影响更是刻骨铭心的.

作 者:黄森 作者单位:刊 名:百年潮英文刊名:HUNDRED YEAR TIDE年,卷(期):“”(6)分类号:关键词:

电磁控制运动装置设计与实现 篇3

关键词:STC12C5A60S;角度傳感器;12864液晶显;电磁摆

中图分类号:TP273 文献标识码:A 文章编号:1674-7712 (2014) 16-0000-01

2013年全国大学生电子设计竞赛高职组J题,要求设计一个电磁控制运动装置通过控制电磁铁,使悬挂电磁铁的摆杆按照一定摆角运动,并对摆角、相应时间提出了要求。

一、控制要求

(一)基本要求

(1)按下启动按钮,由静止点开始,控制摆杆摆动;

(2)由静止点开始,控制摆杆在指定的摆角(10°~45°范围内)连续摆动,摆动摆角绝对误差≤5°,响应时间≤15s;

(3)由静止点开始,按指定周期(0.5s~2s范围内)控制摆杆连续摆动,摆动周期绝对误差值≤0.2s,响应时间≤15s;

(4)在摆杆连续摆动的情况下,按下停止按钮,控制摆杆平稳地停在静止点上,停止时间≤10s。

(二)发挥部分

(1)摆杆摆角幅度能在10°~45°范围内预置,预置步进值为5°,摆角幅度绝对误差值≤3°,响应时间≤10s;

(2)摆杆的周期能在0.5s~2s范围内预置,预置步进值0.5s,周期绝对误差值≤0.1s,响应时间≤10s;

(3)摆杆摆角幅度和周期在上述范围内可同时预置,由静止点开始摆动,摆角幅度值和周期相对误差要求均和发挥部分中的(1)、(2)相同。当摆杆稳定运行20秒后发出声、光提示,并在5s内平稳停在静止点上。

二、电路总体设计

根据试题要求,主要有五部分组成,单片机最小系统、显示模块、声光报警模块、线圈驱动模块。以单片机STC12C5A60S2作为主控器芯片,通过电磁控制模块来控制电磁线圈得失电,控制摆锤摆动角度,并通过角度传感器来精确采集旋转角度信息,经过分析和处理数据,由12864液晶屏显示旋转角度,同时让指针刻盘显示摆动角度。设置角度范围后,通过角度传感器返回的数据来控制摆动角度范围,从而可实现电磁控制运动装置。

三、单元电路设计与参数计算

(一)单片机最小系统与显示模块

单片机最小系统与显示部分的设计把STC12C5A60S2作为主控器,单片机通过数据处理把数据传给液晶显示屏。12864是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为128×64,内置8192个16*16点汉字,和128个16*8点ASCII字符集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。

(二)光控报警模块

报警模块部分采用大功率发光二极管实现,因通过电流较大,由单片机I/O口经光耦进行驱动。

(三)语音模块

通过语音模块来进行简单的信息报告,从而更加人性化。SYN 6288中文语音合成芯片是北京宇音天下科技有限公司于2010年初推出的一款性/价比更高,效果更自然的一款中高端语音合成芯片。SYN6288通过异步串口(UART)通讯方式,接收待合成的文本数据,实现文本到语音(或TTS语音)的转换。

四、软件设计

主控芯片为51系列单片机STC12C5A60S2,通过C语言来实现编程。开机后在显示屏上显示功能选择,包括基本功能与扩展功能,通过按键选择可实现按照题目要求的各项功能。程序总体框图如下图1所示:

图1 系统程序总体框图

五、结束语

在方案前经过认真谨慎的分析,最后确定了方案,所以方案进行的比较顺利,虽然出现了一些问题,但是最后都一一解决,基本功能都以实现,得出了较为理想的结果,并且进行了宽展,实现了精确角度、周期控制,角度和周期同时控制。为了准确确定水平位置,在装置上还安装了水平柱,从而使测量更加准确。

参考文献:

[1]张永革.单片机C语言应用技术与实践[M].北京:北京交通大学出版社,2009.

[2]王志利.C语言程序设计[M].天津:天津科技大学出版社,2008.

[3]李权利.单片机原理及应用技术[M].北京:高等教育出版社,2009.

C#实现运动物体的检测方法 篇4

VS.NET 2003为开发人员提供迅速建立、测试和整合部署各种应用服务和应用程序的全方位多语言、跨平台、跨设备的开发工具。Microsoft给开发人员另一个选择---专门用于.NET、具有新起点的语言,即Visual C#.NET。C#不能孤立地使用,必须和.NET Framework一起考虑。.NET Framework的核心是其运行库的执行环境,称为公共语言运行库(CLR)。

对一个或多个信号源来的视频进行监控,可以检测到图像的显著部分发生改变,则认为有运动产生,也就是说检测到物体有运动。运动检测的应用较广泛,如医学影像和机器人视觉分析、跟踪、检测及处理等[1,2];目前的研究有运用自适应最小二乘法捕捉和提取影像中人物动作行为的实验研究[3];也已经有很多使用C语言并在Linux Fedora Core 3或Red Hat环境下编译运行的方法[4],但其配置、实现起来相对复杂。对连续的视频流有许多运动检测方法,大部分的方法均基于把当前视频帧和前一视频帧或者所谓的背景帧进行比较的办法。

本文的方法简单,主要应用VS的强大视频图像处理功能,基于对每个图像的处理从而实现对视频流的处理。

2 检测算法分析与实现

根据运动物体的特点,检测运动物体较为共同的方法是对当前帧和前一帧进行比较。这种方法的好处是对视频压缩有用,但只适合在需要估计或记录变化部分图像的情况下。而如果对整个视频帧进行处理时,因为对整帧像数进行比较的运算量很大,在要求实时处理的场合中就会有明显的延迟,所以这种方法也不是最好的视频运动检测方法。

2.1 一般分析及算法

假设有一个原始的24bpp RGB称为当前帧(图像),一个灰阶的拷贝(当前帧)和一个具有灰阶的前一视频帧(背景帧)。首先需要找出这两个帧发生变化的区域在哪里。为此可以使用C#的Difference和Threshold滤波器:

在这一步,按照特定的域值,在当前帧与前一帧两帧中有所不同的地方获得一个白像素的图像。通过计算像素数,如果像素总和大于一个预定的警告水平,就可以认为是有运动发生。但因为光线照射,反光等情况使得大部分摄像机产生噪音图像,在没有运动的地方可以获得运动的噪音。为了去除随机的噪音像素,可以使用Erosion滤波器,从而只获得确实有运动的区域。

至此,一般的检测器就做好了,如果需要的话还可以把运动区域用高亮的颜色显示出来:

然而,如果运动对象是很轻微的移动,那么该法将仅仅获得帧与帧之间的局部微小改变,不能获得整个移动对象,故该方法还不是很理想。

其它方法的考虑:在视频流中比较当前帧和第一帧而不是前一帧。如果没有物体在第一帧,比较当前帧和第一帧将得出与运动速度无关的整个运动物体。但该法也有一个很大的缺点,例如,如果第一帧有一部汽车,然后它消失了,那么在有汽车的地方将一直检测到有运动的情况。如果考虑更新第一帧来解决,但第一帧不是静态背景的情形下,也不能得出很好的结果。所以该法也不可行。

2.2 改进算法

最有效的算法是基于建立所谓的情景背景并比较每个当前帧和背景,即引入“背景帧”方法。有许多方法重建情景背景,但大部分都太复杂。这里将主要描述重建背景的方法,该法相对简单并能很快实现。

如前例所示,假设有一个24bpp RGB原始图像称为当前帧(image),一个灰阶拷贝(current Frame)和一个灰阶背景帧,也用灰阶(background Frame)表示。首先,把视频流序列的第一帧作为背景帧,然后比较当前帧和背景帧。但结果正如上面所描述的,并不是我们想要的。我们的方法是根据设定的总值(这里用每帧1级)“移动”背景帧到当前帧。因为需要捕捉物体的运动方向,并做标记,所以沿着当前帧的方向慢慢移动背景帧,通过每帧1级改变背景帧里像素的颜色。

注意释放旧背景帧。按照上面所使用的方法,仅稍微扩展一下就可以得到如下结果:

从图1可以看到,还是有一定的效果,它可以检测到整个运动物体而不是仅仅运动物体的局部细节。当然,检测结果尤其结果显示还不能令人满意。

2.3 优化算法

基于优化的考虑还有另一个方法。以前面的例子为例,不过这里是用Pixellate滤波当前帧和背景帧:

这就有当前帧和背景帧的Pixellate版本,可按以前沿着当前帧方向移动背景帧的处理方法,在主要处理步骤中做一下改变,即把proc Filter.Add(new Opening());改为proc Filter.Add(new Dilatation());在合并tmp1图像和原始图像的红色通道之后,获得如图2所示图像。

从图2可以看到,结果看起来已经比较不错。在照片中可以看到用曲线高亮显示运动的物体。

还可以参考下面的算法来获得个数、位置、宽和高而不是高亮显示的物体运动。

(1)获得物体对象的矩形

Blob Counter.Get Object Rectangles(thresholded Im age);

(2)从原始图像中生成Graphics图形对象

(3)画出每个矩形

(4)用高亮显示

图3是这个小代码的阀值滤波结果,效果看起来还不错。

3 运动物体的标识

有必要对检测到的运动物体做标识,增加运动标识特性到这些运动检测算法中还是较容易的。前面算法中都已经计算出当前帧和背景帧之间差异的二进制图像,所以只需要在差异图像中计算出白像素的总数即可,算法参考如下:

(1)计算白像素

private int CalculateWhitePixels(Bitmap image)

(2)锁定图像

(3)根据图像长、宽来计算白像素的数量

(4)解锁图像

(5)返回白像素的总数

不仅可以计算出白像素的总数,还可以计算每个待检测物体的区域。如果计算出改变的总数大于预定义值,就说明有运动物体需要标识。

4 结论

本文描述了实现运动物体检测的思想及几个方法。这里充分利用C#现有的视频图像处理工具,避免图像处理过程的更多细节,方法简单并且得到较为理想的结果。通过对运动物体的分析,这些检测算法可以快速地用于其它不同领域的研究工作,比如在机器人视觉方面的应用。另外,如果在对视频源进行预处理加工的基础上,将可以得到更好的效果,不过对实时显示的视频速度可能会有影响。

参考文献

[1]Hungarian Academy of Sciences,Events Handling and Algorithmical Behavior,Dmitry Chetverikov,http://visual.ipan.sztaki.hu/psmweb/node29.html,1998-12-28

[2]Commonwealth Scientific and Industrial Research Organisation,Image motion,tracking and registration,http://www.cmis.csiro.au/IAP/Motion/index.htm,2004-01-06

[3]金宇,张建忠,徐敬东.捕捉与提取影像片断中的人物动作.计算机工程与应用,2004,40(22):42~44,77

运动实现 篇5

关键词:Flash课件;匀变速直线运动

中图分类号: G 434 文献标识码: B 文章编号:1673-8454(2008)04-0041-04

Flash主要用于制作和编辑矢量动画影片的软件。其具有文件体积小、交互性强、演示效果逼真、可任意缩放而不失真等特点,现已成为各类教学活动中常用的课堂演示教学课件制作工具。

本文以山东科学技术出版社出版的《普通高中课程标准实验教科书物理(共同必修1)》第三章第一节《匀变速直线运动的规律》中s-t、v-t图像演示课件的制作为例,介绍Flash在物理教学课件制作过程中的应用。

一、 制作思路

本Flash课件拟设置三个场景:主场景、场景“1”、场景“2”。

主场景:在此场景中显示课件名称以及进入其他场景的控制按钮。

场景“1”:在此场景中演示匀变速直线运动的s-t与v-t图像的基本特征,通过演示,使学生对研究匀变速直线运动过程中经常涉及到的s-t与v-t两种图像产生一定感性认识。

场景“2”:在此场景中对s-t图像与v-t图像进行对比演示,通过演示,使学生对s-t与v-t图像由感性认识上升为理性认识。

二、主场景的实现

1. 主场景的内容

(1)课件标题。

(2)三个按钮,分别控制Flash影片进入场景“1”、场景“2”以及关闭Flash影片播放窗口。

2. 主场景所需元件

背景(bj)、按钮(btan)、三个按钮弹出菜单(bt1、bt2、bt3)

3. 主场景制作过程

(1)舞台背景准备工作

新建Flash文件,根据自己需要设置属性,例如大小550*400像素,帧频12fps。

按shift+F2键,调出场景面板,双击“场景1”,将其改名为“主场景”。

按F11键,打开“库”面版,新建影片剪辑元件bj。

bj元件为主场景的背景元件,色彩、构图以美观、大方、简洁为宜。

返回主场景,将“图层1”改名为“bj”,在bj图层根据需要输入其他文字(如课件标题、作者署名等)。将元件bj拖入bj图层的第一帧。主场景的舞台背景准备完毕。

(2)主场景控制按钮的制作

新建按钮元件btan,在第三帧添加关键帧,然后回到第一帧,在混色器中设置alpha=0%,使按钮在弹起和鼠标经过状态下呈透明不可见状态。在第三帧设置按钮被按下时的形态。

(3)设置按钮动作

在主场景中新建xm图层,把影片剪辑元件bt1、bt2和bt3拖入该图层的适当位置,分三次把按钮元件btan拖入主场景,覆盖在bt1、bt2、bt3上面。

选中覆盖在bt1上面的按钮元件,在动作中输入如下脚本,当鼠标点击该按钮后,Flash动画将进入场景“1”:

on (release) {

gotoAndStop("1", 1);

}

选中覆盖在bt2上面的按钮元件,在动作中输入如下脚本,当鼠标点击该按钮后,Flash动画将进入场景“2”:

on (release) {

gotoAndStop("2", 1);

}

选中覆盖在bt3上面的按钮元件,在动作中输入如下脚本,当鼠标点击该按钮后,Flash动画程序将被关闭:

on (release) {

fscommand("quit");

}

背景图(略)

三、场景“1”的实现

1. 场景“1”的内容

通过输入小球的初速度和加速度,演示小球的运动状态及位移-时间(s-t)图像和速度-时间(v-t)图像。

2. 场景“1”所需元件

场景顶端装饰(top)、底端装饰(bot)、小球(xq)、s-t图像和v-t图像(tx)、四个按钮(play、rewind、stop和ht)。

3. 场景“1”制作过程

(1)建立bj层,在本层设置本场景的顶端和底端背景图案(元件top和元件bot),并在本层添加动作脚本:

stop();

(2)建立bt层,在左上角输入本场景标题“基本概念”,在右下角放置“后退”按钮,按钮动作:

on (release) {

gotoAndPlay("主场景", 1);

}

(3)建立tx层,通过在本层设置影片剪辑元件tx,用来演示匀变速直线运动及其s-t图像和v-t图像。

影片剪辑元件tx制作过程如下:

在库面板新建影片剪辑元件tx,将元件tx编辑模式下的图层1改名为图层zbx,用线条工具和文本工具绘制如图1的平面直角坐标系。

新建图层xq,然后新建影片剪辑元件xq:绘制一个半径为23像素的无边框圆形,作为演示试验的小球。将元件xq拖入图层xq的适当位置。

新建图层go,从“窗口→公用库→按钮”中拖入三个按钮:play、rewind和stop。

对三个按钮分别添加如下动作脚本:

按钮play:

on (release) {

play();

}

按钮rewind:

on (release) {

gotoAndStop(1);

}

按钮stop:

on (release) {

stop();

}

然后用文本工具在本层制作两个输入文本框stringv0和stringa,用来记录用户设置的小球初速度v0和加速度a,默认初始值为v0=0m/s,a=10m/s2,如下图2所示:

d. 新建动作脚本图层jb,在第二帧和第四帧插入关键帧,设置影片剪辑元件tx的动作脚本。同时其他几个图层都在第四帧的位置插入帧。

在第一帧写入如下动作脚本:

//初始化变量以及图形位置

//时间变量,控制小球移动的关键因素

t=0;

//最大的移动距离,小球的_x达到此值将不再增大

maxx=500;

//小球的初始位置

xq._x=0;

xq._y=0;

//清除两个坐标系中刚刚画出的图像

vt.clear();

st.clear();

//(x0,y0),(x1,y1)分别是s-t和v-t图像的坐标原点坐标

x0=18.9;

y0=198.3;

x1=271;

y1=198.3;

stop();

在第二帧写入如下动作脚本:

//读取输入文本框中的字符串,并转化为数值

v0=Number(stringv0);

//读取输入文本框中的字符串,并转化为数值

a=Number(stringa);

//创建空的影片剪辑,用于将来绘制s-t图像

createEmptyMovieClip ("st", 1);

//设置图像起点

st.moveTo (x0, y0);

//创建空的影片剪辑,用于将来绘制v-t图像

createEmptyMovieClip ("vt", 2);

vt.moveTo (x1, y1-v0);

在第四帧写入如下动作脚本:

//判断小球的位置

if (xq._x

//使用匀变速直线运动的位移公式,计算并设置小球位置

xq._x = v0*t+0.5*a*t*t;

//速度公式,计算当前小球速度

v=v0+a*t;

//根据a、v0的默认设置,t最大为10,(坐标轴每单位18象素,横向180,纵向126)

//绘制图象

with (st) {

lineStyle(2, 0x0000FF, 100);

//当t=10,横向达到最右端,纵向达到最上端

lineTo(x0+t*18, y0-xq._x*126/maxx);

}

with (vt) {

lineStyle(2, 0xFF00FF, 100);

lineTo(x1+t*18, y1-v);

}

//0.05根据测试选取

t += 0.05;

}

gotoAndPlay(3);

场景“1”界面如下图3所示。

四、场景“2”的实现

1.场景“2”的内容

演示小球运动状态分别同位移-时间(s-t)图像和速度-时间(v-t)图像之间的关系,同时对s-t图像和v-t图像进行比较。

2. 场景“2”所需元件

场景顶端装饰(top)、底端装饰(bot)、s-t图像(st)和v-t图像(vt)、四个按钮(play、rewind、stop和ht)。

3. 场景“2”制作过程

场景“2”分为3个图层:背景图层(bj)、标题图层(bt)和内容图层(nr),其中bj图层和bt图层与场景“1”制作方法相同,只需把bt层中的文本改为“sv-t图相比较”。

本文着重讲解nr图层的制作方法。

(1)新建空白影片剪辑元件st,进行如下操作

在st元件编辑模式下的图像图层(tx图层)绘制s-t图像,将场景“1” bt图层中的play、rewind、stop三个按钮拷贝到本图层,调整至适当位置。本层布局图(略)

新建线条图层(xt图层),绘制一条同坐标轴横轴垂直的线段,用于标记物体运动时在图像中所对应的横坐标(时间轴),初始位置与坐标轴纵轴。

物体图层(wt),用椭圆工具绘制一个无边框的圆,用来表示运动物体。

三个图层设置完毕后,整个舞台布局如图4所示。

动画设置及动作脚本:在tx层的第四十六帧插入帧;在xt层的第四十六帧插入关键帧;在wt层的第十五、二十七、三十九、四十六帧分别插入关键帧。

在xt层的第四十六帧,将线条位置调整到上图所示坐标轴t4位置,并在第一帧和第四十六帧之间创建补间动画。

在wt层的第十五帧,将小球移动到运动路线的极右端,第二十七帧保持位置不变,第三十九帧小球返回原点O,第四十六帧小球运动到运动路线的极左端。在上述关键帧之间,创建补间动画。

在wt层的第一帧和第四十六帧分别添加如下运动脚本:

stop();

将本元件拖入场景“2”nr图层中的适当位置。

(2)新建空白影片剪辑元件vt,进行如下操作

在vt元件编辑模式下tx图层、xt图层、wt图层三个图层的制作方法同st元件基本相同,不再赘述。整个舞台布局图(略)。

影片剪辑文件vt动作脚本的设置:

在影片剪辑文件vt编辑模式下,新建脚本图层(jb),在第三帧插入关键帧,相应的其他各层在第三层插入帧。

在jb图层的第一帧添加如下动作脚本:

//初始化变量,以下分别是ABCDE五个点处的横坐标

t0=-165;

t1=-104;

t2=-53;

t3=0;

t4=31;

//初始化小球位置

xq._x=39;

//初始化线条位置

xt._x=-165;

//初始化时间、速度

t=0;

v0=0;

//等待用户干预

stop();

在jb图层的第三帧添加如下动作脚本:

//以细线为依据,首先判断它的位置,从而决定小球的运动

//判断是否继续运动,t4是最大的横坐标值

if (xt._x

//第一阶段,小球作匀加速运动

if (xt._x

v0 = 0;

//利用直线斜率求得加速度的值

a = 75/64;

//移动小球到新位置,39为小球初始位置

xq._x = 39+v0*t+0.5*a*t*t;

//保存临时变量,为下一阶段运动提供初始值

currentx1 = xq._x;

countt1 = t;

currentv1 = v0+a*t;

//第二阶段,小球作匀速直线运动

} else if (xt._x>=t1 && xt._x

//初速度为第一阶段的末速度

v0 = currentv1;

a = 0;

//在第一阶段的基础上继续向右移动

xq._x = currentx1+v0*(t-countt1);

//保存本阶段临时变量,为第三阶段提供初始值

countt2 = t;

currentx2 = xq._x;

currentv2 = v0+a*(t-countt1);

//第三阶段,小球作匀减速运动,直到反向运动

} else if (xt._x>=t2 && xt._x

//初速度为第二阶段的末速度

v0 = currentv2;

//利用斜率求加速度,加速度为负

a = -75/52;

//小球作减速运动xq._x=currentx2+v0*(t-countt2)+0.5*a*(t-countt2)*(t-countt2);

}

//每次细线向右移动一个像素,它应均匀移动

xt._x++;

//xt每移动一个像素,时间递增一定量,增量的计算是根据第一阶段总耗时/64得来

t += Math.sqrt(64*64*2/75)/64;

}

gotoAndPlay(2);

c. 将本元件拖入场景“2”nr图层中的适当位置。

场景“2”界面如图5所示。

至此本Flash演示课件制作完毕。

参考文献:

[1]廖伯琴.普通高中课程标准实验教科书物理(共同必修1)[M].济南:山东科学技术出版社, 2004.

[2]沈大林,关点.Flash MX高级教程[M].北京:电子工业出版社,2003.

[3]王杰,李兴保.用Flash制作练习题课件[J].中国教育信息化,2007,(159):37-38.

锻造操作机运动仿真的实现 篇6

在我国锻压工业中,锻压过程主要是操作工以手动操作为主[1],所以操作工的业务水平很大程度上决定着锻压效率和产品质量。目前,培养锻压操作工的主要方式是具有丰富经验的操作工对新工人进行实地的训练和指导。这种培训方式面临以下几个问题:第一,操作机长时间处于生产状态,仅有少量时间能用于培训新操作工,因此,新操作工每次只有很短的时间进行实地操作训练,这将使培训周期延长。第二,由于操作工每次训练时间很少,而操作工的业务水平需要长时间的实地训练才能提高,这就进一步增大了培训周期,导致操作工操作水平难以快速提高。第三,在培训过程中,由于加工工件的复杂性,操作工误操作可能发生砧子和工件、夹具、工作台之间的碰撞,甚至会造成工件的报废、夹具损坏、机床精度降低等后果,造成经济损失,增加了成本[2]。因此,利用虚拟仿真技术,搭建一个用于模拟训练锻压操作工的三维仿真平台十分必要。

虚拟训练仿真系统是指利用虚拟现实技术生成的一类适于进行训练仿真的虚拟环境[3],它采用计算机图形技术和可视化技术,将锻件加工成型过程真实的在屏幕上展示给操作者,使操作者进行正确的操作

锻压操作机的仿真模拟是实现“锻造操作工仿真培训系统”的重要部分。锻造操作机主要是用于夹持锻压坯料,配合液压机完成送进、转动等主要动作,是完成各种自由锻造工序的辅助锻压机械。锻造操作机的主要动作有钳杆上移、钳杆下移、钳杆左移、钳杆右移、钳杆上倾、钳杆下倾、钳杆左旋、钳杆右旋、操作机前行和操作机后退。操作机具有典型机械结构的特点,它共有11个油缸控制钳杆的运动,11个油缸同时作用于钳杆,控制钳杆的各个部件之间相互制约相互联系,各个部件运动时存在联动关系。

1.1 现状

目前,由于模拟机械多连杆联动的情况比较复杂,因此在训练系统中使用计算机模拟机械多连杆联动,在国内外都没有固定的方法。在机械设计和制造的一些软件中,如ADAMS,可以模拟和分析机械连杆运动,但无法应用到开发训练系统中。国内外模拟人或机械运动的主要方式有采用关键帧技术、采用运动跟踪器获得操作机运动数据的方法、基于动力学的动画技术、骨骼动画技术[4]。关键帧技术主要用于动画制作,可解决交互性能要求不高条件下的关节动画[5],但产生动画前需要知道运动部件的始末位置和关键帧中各部件的运动状态,而本系统要求与用户实时交互,因此不适用于本系统。运动跟踪器获得操作机运动数据的方法属于利用运动学的方法之一,这种方法会加大仿真系统的成本,并且这种方法适用于完成比较复杂的曲线运动,不适用于完成操作机的直线运动和旋转运动,也不利于节约成本。动力学方法能生成更复杂和逼真的运动,并且需指定的参数相对较少。但动力学方法的计算量相当大,且很难控制。骨骼动画技术的适用条件是要求这种骨骼结构具有层次结构,并且需要采集操作机一系列相关的运动,不适用于本系统。基于上述原因,系统将采用计算量较少的正向运动学和逆向运动学结合的方法进行模拟仿真。

1.2 仿真思路

第一步,分析操作机的各种运动情况,依据操作机的结构图,由动力部件出发,找出操作机运动时各个部件的相互关系。

第二步,依据用户的输入,计算操作机在运动过程中,各个部件自身相对于前一时刻的位移或旋转角度。

第三步,使用第二步中计算出的数据,将当前时刻操作机的运动状态显示出来。

2 运动分析

2.1 运动部件分组

操作机的结构如图1所示。锻造操作机的主要动作有钳杆上移、钳杆下移、钳杆左移、钳杆右移、钳杆上倾、钳杆下倾、钳杆左旋、钳杆右旋、操作机前行、操作机后退。操作机的主要动作都是由钳杆和钳子完成的。钳杆移动的动力由动力油缸提供,动力油缸如图1中标注所示。4个动力油缸通过连杆给钳杆支架提供动力,使钳杆完成竖直方向上的各种动作。钳杆支架内部有两个油缸和一个马达,分别提供钳杆支架在两个滑杆上左移和右移的动力和钳杆支架内绕自身转动的的动力。这使得钳杆完成左移和右移、左旋和右旋动作。钳口的夹紧和松开动作依靠钳杆内部的油缸提供动力来完成。当链轮压下时,操作机可以在轨道上前后移动。

依据操作机各个动作的动力来源和关联的部件,可以把操作机的动作分为3组。

第一组,钳杆上移和下移,钳杆上倾和下倾。

第二组,钳口夹紧和松开。

第三组,大车前进和后退,钳杆左移和右移,钳杆左旋和右旋。

第一组的动作关联的部件最多,包括动力油缸、缓冲油缸、连杆、钳杆支架及钳杆支架上的各个部件等等。操作机依靠连接连杆的4个动力油缸提供动力完成第一组动作。第二组的动作仅与钳杆支架和钳杆支架上的部件有关。动力有钳杆内部的一个油缸提供。第三组的动作可以认为仅与一个部件有关。

2.2 第一组动作分析

钳杆上移时,4个动力油缸提供向上的动力,使前拐臂和后拐臂向上转动,从而带动内侧连杆向上运动,因此带动支撑钳杆的支架向上运动。这样就完成了上移运动。由于前后拐臂是绕定点旋转,因此动力油缸和连杆就会产生水平的向前或向后的缓冲位移,为了避免钳杆运动时产生的前后晃动,在操作机机壁内侧添加了缓冲油缸来削弱这种晃动。

通过分析可以看出,完成钳杆上移和下移动作的各个部件,在此运动中其自由度都是1。根据主动和从动的关系,将钳杆上移和下移操作的运动部件分为外内两组,如图2和图3所示。外侧部分的动力油缸通过A和K点向内侧F和J点提供动力。

2.2.1 外侧部件运动分析

如图2所示,AB是前拐臂,B、C是两个定点。AB是动力油缸和活塞。AC和AB可分别绕C和B点旋转。可以看出AC长度和BC的长度是恒定的,AB的长度大小是可变化的。油缸提供动力使AB长度的增加。

建立如图4所示的坐标系。以z轴为横轴的目的是为了与世界坐标系的方向保持一直。B为原点,AB与y轴重合。

以前拐臂上抬为例,当油缸提供动力时,AB增长,由于B、C是定点,AB和AC可旋转,所以AB转动到A1B的位置,AC转动到A1C的位置。

要显示操作机当前的状态,就要求出此刻前拐臂、动力油缸和活塞这3个部件相对于上一时刻的位移或旋转角度的变化量。也就是要求出A1相对于A的位移、AB转到A1B和AC转到A1C的角度。

根据余弦定理,

前拐臂下旋的情况也做类似的处理。

这样就完成了一次对这3个部件位移和旋转角度的计算。图2中ABC的结构与KLM一样,故可采用同样方式处理。

2.2.2 内侧部件运动分析

类似动力部分外侧的处理方法,参照图3,建立如图5所示的坐标系。E为坐标原点,FG和IJ平行与y轴。FG和IJ是前后连杆,连接拐臂与钳杆支架,将油缸提供的动力传递给钳杆。GI表示支架,H是支架的中心,并且H是GI的中点。D、E、F、G、I、J都是轴连接点,其上的部件都可以绕节点旋转。DE是缓冲油缸和活塞,D是FG的中点。F是前连杆的局部坐标系的原点,J是后连杆的局部坐标系的原点,H是钳杆支架的局部坐标系的原点,D是缓冲油缸缸体的局部坐标系的原点,E是缓冲油缸活塞的原点。F、J两点分别对应于外侧的A、K点,内侧部件位移和旋转角度的计算都是以这两点的位移变化为依据。

以前拐臂下降,后拐臂上升为例,即F点下降,J点上升,由于GI的长度是恒定的,所以FG和IJ将要偏斜一定角度,如图5所示。因为FG、GI和IJ是刚体,且质量均匀,所以依据动力学原理可以得出FG和IJ的偏斜角度是相同的,这里设为θ。

下面开始计算当F和J点接受一个变化量后各个部件的位移和旋转角度的变化量。

这样就计算出当前时刻相对上一时刻内侧各个部件的位移和旋转角度变化量。

2.3 第二组动作运动分析与仿真实现

钳子部分可分解成如图6和图7所示,钳子部分的基本动作包括钳子的夹紧、松开,钳子夹紧和松开的动力是由图8中所示的油缸AB提供的。当钳口夹紧工件时,活塞杆提供垂直作用于上下短轴的向上和向下的力,推动上下旋转体绕各自的长轴旋转,使嵌在V型块中的钳口夹紧工件。钳口夹紧过程中,由于上下旋转体间有咬合齿控制,因此保证了两个旋转体各自旋转的角度相同,从而能保证钳子能把工件夹在钳子的正中央。同时,可以分析出,油缸系统,也就是上下短轴间的连线AB始终与钳杆的中心线h垂直。

通过前面的分析,可以看出钳子部分的结构与前面所述的油缸控制支架部分的结构有很大区别。其主要运动是旋转运动。

2.4 第三组动作运动分析

第三组动作包括大车前进和后退、钳杆左旋和右旋、钳杆左移和右移。大车的前进和后退、钳杆的左移和右移,这两对动作的特点是所有部件只在一维上存在位移,钳杆左旋和右旋动作的特点是只绕一个轴旋转。

3 操作机的仿真实现

系统采用Java3D编写,通过Java3D的vrmlloader组件将由SolidWorks制作的模型导入到系统中。

将运动分析中算出的每个时刻各个部件的变化值分别传递给相应的控制部件模型的TransformGroup中,就可以得到操作机的运动效果。在第二组运动的仿真中,根据钳子部分的结构和运动特点,将钳子部分在Java3D中的建模结构设计成如图9所示的树状结构。活塞油缸部分作为旋转体的间接叶节点,为了保证前面所提到的旋转体运动过程中始终保持AB垂直h,要将旋转体旋转的角度的负值,分别赋给活塞杆盖、活塞杆和活塞缸体。而且,由于这样设计建模结构,避免了计算钳杆部分部件的位移。

4 仿真效果

图10是操作机完成各种动作的效果图。a、b图是钳杆处于水平状态进行垂直位移的效果。a图中,前后四个油缸同时上举,通过内侧连杆将钳杆位置上移,b图中,四个油缸降至最低端,缓冲油缸也随着拉伸并旋转。c、d是钳杆上倾和下倾的状态。c图中,前方两个油缸上举,后两侧油缸下移,实现钳杆上倾。d图中正好相反。

5 结语

通过对基于Java3D的操作机的三维仿真的联动技术的研究,提出了适合训练系统的简单的解决方案,使操作机联动的仿真十分逼真。实践证明,该系统通过逼真的动画效果,生动的语音,大大提高了学员的学习兴趣,收到了良好的培训效果,并且该系统节约经费开支,具有极高的经济效益。

参考文献

[1]赵祎,穆志纯,张玉,等.基于虚拟现实的轧钢实时仿真训练系统.系统仿真学报,2006,18(4):909-912.

[2]田娟秀.虚拟数控车床系统建模及加工过程仿真的研究[D].长沙:湖南大学,2006.

[3]赵岩,王春慧,周前祥.虚拟人技术在环控生保舱内布局中的应用.计算机仿真,2007,24(02):41-44.

[4]金小刚,陆国栋,王德林.关节动画人体动画基于物理模型的动画技术.软件世界,1997,10:37-41.

人体运动捕捉仪的设计与实现 篇7

随着计算机技术以及三维图像技术的迅速发展, 精确捕捉人体动作并且进行重现, 已经成为研究热点。获取训练中的人体动作, 从不同的视角观察和监控人体动作, 通过实时的运动捕捉技术对训练中出现的问题进行技术诊断与分析, 并以视频和图像以及量化的数据等方式反馈出来, 使得训练的纠正更加有的放矢, 从而大大提高训练效率和效果, 使驾驶训练、体育训练等摆脱纯粹的依靠经验的状态, 进入科学化、数字化的时代。因此, 人体运动捕捉在驾驶训练等方面有广泛的应用前景。目前, 常用的运动捕捉技术从原理上说可分为机械式、声学式、电磁式和光学式。声学式传感器成本较低, 但对运动的捕捉有较大延迟和滞后, 实时性较差, 精度一般不很高。光学式运动捕捉通过对目标上特定光点的监视和跟踪来完成运动捕捉的任务, 缺点是系统价格昂贵, 虽然它可以实时捕捉运动, 但后处理的工作量较大。电磁式传感器装置的定标比较简单, 技术较成熟, 成本相对低廉。它的缺点在于对环境要求严格, 在表演场地附近不能有金属物品, 否则会造成电磁场畸变, 影响精度。惯性传感器成本较低, 解算方便, 故在本系统中选用。

1 模型的建立

由于人体关节点之间的部分在任何时刻都不会形变, 可以用刚体来代表它们。同时我们假设各个线段 (即人体骨架) 之间的长短比例关系并不因人而异, 这一比例可以从解剖学中获得。因此, 人体可以看成一个由关节点连接的刚体的集合。如上肢是由肘关节连接的上下臂两个刚体组成的, 上臂与躯干是由肩关节连接的。以一条线段来表示一个刚体, 将人体运动简化为人体骨架的运动, 这样就得到了一个由16个人体关节点组成的三维人体骨架模型, 如图1所示。根据简化出的三维人体骨架模型, 将11个惯性传感器分别布置在左大臂、左小臂、右大臂、右小臂、左大腿、左小腿、右大腿、右小腿、头、背部和腰部等11个身体的部位。

2 系统工作原理及硬件组成

人体运动捕捉仪是一种用于准确测量人体在三维空间运动状况的设备。它的工作原理为, 将数个惯性传感器捆绑在人体上, 传感器实时捕捉人体骨骼的运动数据, 数据采集软件 (运行于嵌入式操作平台上) 对11个传感器的运动数据进行实时采集, 并将采集到数据打包后通过以太网实时发送到人体运动P C机上。人体运动显示软件 (运行于人体运动P C机上) 通过以太网接收人体运动数据, 通过处理, 驱动三维人体模型, 从而实现人体运动的再现。

人体运动捕捉仪由肢体运动传感器、嵌入式开发平台、人体运动PC机等部分组成, 结构框图如图2所示。

3 软件设计及实现

人体运动捕捉仪的软件部分主要包括数据采集软件和人体运动显示软件, 结构框图如图3所示。

a) 数据采集软件

数据采集软件是采用嵌入式操作系统的实时多任务软件, 实现各通道数据的采集、整理和发送, 软件具有快速启动、灵活配置等功能。主要由嵌入式操作系统、I/O设备驱动程序、配置模块、初始化模块、系统状态处理任务、串口通道采集任务、数据发送任务等任务和功能模块组成。数据采集软件工作流程见图4。

b) 人体运动显示软件

人体运动显示软件通过以太网, 实时接收数据采集软件发送的数据包, 进行实时存储, 并对前端传感器的运行状态进行监控, 用实时接收来的数据, 驱动人体三维模型, 完成人体动作的再现, 也可以根据存储的数据, 进行回放分析。

4 实验及结论

在人体运动捕捉实验中, 惯性传感器安装在人体骨骼的关键点上, 如图6所示。对日常生活中人的站立、行走等基本动作进行了实验。图7为实验中人体传感器的安装效果图。在该实验中, 惯性传感器捆绑在人体上, 实时采集人体的运动数据, 经嵌入式操作平台打包发送给人体运动PC机, PC机对数据进行剔除野点等处理, 用处理过的数据驱动三维人体模型, 取得了良好的复现效果。图8为人站立动作的再现视图, 图9为人行走的基本动作在三维视图中的再现。

5 结束语

本文通过选用惯性传感器为工具, 以嵌入式操作系统为开发平台, 对日常生活中人的常见动作进行精确捕捉, 并在PC机上进行动作再现。实验表明, 这种方法成本较低, 解算方便, 实时性好, 已经应用到飞行员的驾驶训练当中。在进行飞行员的驾驶训练时, 传统方法是依靠经验纠正飞行员的动作。通过人体运动捕捉仪, 能对训练中出现的问题及时进行诊断与分析, 使得训练动作的纠正更加有的放矢, 从而大大提高训练效率和效果。

摘要:人体运动捕捉仪是一种用于准确测量运动物体在三维空间运动状况的设备。它通过排布在空间中的数个惯性传感器, 将运动物体的运动数据实时上传至计算机并对该数据进行处理, 得到驱动三维人体模型的数据, 用该数据驱动建好的人体骨架模型, 从而实现人体运动的再现。本系统选用惯性传感器为采集工具, 以嵌入式操作系统为开发平台, 实现了对人体运动的捕捉和再现。

关键词:惯性传感器,人体骨架,实时数据采集,运动捕捉

参考文献

[1]朱登明, 王兆其, 石敏, 黄河.一种基于逆运动学的三维虚拟人体运动生成方法.2008

[2]肖俊, 庄越挺, 吴飞.三维人体运动特征可视化与交互式运动分割.软件学报.2008

运动会管理系统的设计与实现 篇8

1.1 系统设计目的

21世纪是信息时代,信息技术不断改变生活,信息技术也给运动会管理系统带来一场新的革命。运动会管理实现网络化,使得运动员能够通过网络进行报名、查询、管理,是开发此系统将要解决的问题。在实际开发中,界面开发要求做到美观、简洁、安全性高,功能设计要做到详尽、细致、完整。

1.2 系统业务分析

系统业务流程描述如下:先是运动员注册,成功后登陆系统,运动员身份可以实现比赛项目报名、成绩查询、赛程查询;管理员身份登陆后,可以实现用户查询、比赛项目添加、成绩管理、公告管理等,最后都退出登陆。

1.3 系统功能需求

根据运动会管理的流程,本系统包括如下功能:

(1)运动员登录:分为个人和团队两种形式。注册成功后方可登录到系统,拥有修改个人资料,查看比赛安排、成绩等功能。同时团队还拥有添加团队成员的功能。

(2)报名功能设计:报名时分为团体报名和个人报名,个人和团队不能对同一个项目重复报名,不能在同一个时间参加几个项目的比赛。个人不得参加团体比赛的报名。

(3)比赛项目查询:根据不同的搜索要求查找相应的项目名称和相关信息,方便运动员进行比赛项目查询和针对特定项目进行报名。

(4)管理员管理:设置超级管理员和普通管理员,给他们分配不同的权限,超级管理员可以添加、删除普通管理。

(5)运动员管理:添加、删除运动员和团队信息。

(6)比赛项目管理:对项目人数、比赛时间、参赛要求进行设定,系统自动生成项目编号。

(7)运动员成绩管理:管理员能录入、修改运动员成绩,系统自动生成本项目的成绩单和名次单。

(8)网站通知管理:添加和删除网站通知,方便团队和运动员及时得到相关消息。

1.4 系统环境配置

(1)硬件环境。服务器:奔腾3处理器,内存为256Mb,硬盘容量定为20Gb,配备IIS;客户机:CPU为奔腾以上,内存128Mb,硬盘5Gb以上;网络配置:HUB集线器和相关网卡、网线等。

(2)软件环境。开发平台:Windows2000服务器版、Dreamweaver MX 8可视化面向对象、WINDOWS自带的记事本程序、SQL Server2000、ASP等;发布平台:Windows2-000服务器版、IE5.0以上版本。

2 系统总体设计

2.1 系统设计原则

根据系统的需求分析,运动会管理系统是一个集教育、网络、数据库及信息管理于一体的综合系统,因此运动会管理系统在总体设计时应遵循以下原则:

(1)报名的灵活性、开放性。在网络的支持下,运动员可以随时、随地报名,程序会自动检测报名数据的合法性。

(2)编排的科学性、准确性。报名的数据均由管理员身份的负责人输入,数据是第一手的资料,对其进行编排处理,避免了传统的人工编排过程因人为因素而造成的数据出错。

(3)报名的严谨性。不允许同一团队或运动员参加同一项目的多次报名,系统自动判断是否给予报名。

(4)快速查询项目信息。用户可以根据输入条件检索出相应的项目信息。

(5)使用权限的设计。系统设置了使用权限和登录密码,可以防止非管理人员和用户进入管理员的功能界面,使系统更为安全。

2.2 系统总体结构

根据前面的总体设计,系统操作划分为两大部分,一部分是用户的操作如图1所示,另一部分是管理员的操作如图2所示。

2.3 数据库设计

数据库设计是信息系统开发和建设中的关键部分。数据库的模式是整个运动会管理系统的基础,直接影响到系统功能的有效实现。合理的数据库模式设计能够有效地存储数据,并提高系统运行的效率。

系统采用SQL SERVER2000作为后台数据库,其中的数据表如下:管理员信息表、运动员信息表、团队信息表、比赛项目信息表、通知信息表、参赛信息表。

3 关键技术和算法

3.1 系统管理员管理

目的:保证系统的安全。

设计思想:超级管理员用户admin拥有系统的所有管理权限,普通管理员能进行除删除管理员以外的所有操作。

实现算法:通过session变量对身份进行判断,以决定该管理员该有什么样的操作权限。如果管理员在登录后保存在session(″admin_name″)中的值为admin时说明该管理员为超级管理员,否则为普通管理员。为了保证安全,进入管理员界面都要经过一个判断,判断管理员是否登录,即判断session(″admin_name″)是否为空,若为空则返回到前台首页。代码如下:

管理员退出登录后,马上清空session(″admin_name″)内的内容。代码如下:

3.2 成绩管理

目的:实现管理员为运动员添加成绩及用户成绩查询功能。

设计思想:管理员为运动员录入比赛项目成绩,并且可以查询所有运动员的成绩,团队用户能查询本团队所参加的集体项目的成绩以及所有团队成员参加的个人比赛项目的成绩。

实现算法:通过参赛信息列表的查询,赋予chengji属性新的值,实现成绩录入和修改;通过查询运动员的信息,列出其成绩表,实现个人信息查询;通过查询运动员的tuandui_ID值,列出所有符合的运动员的chengji属性,同时查询并显示集体项目的成绩,实现团队成绩查询。

3.3 比赛项目管理

目的:实现管理员添加比赛项目的功能。

设计思想:管理员添加比赛项目包括对该项目比赛时间、性别限制、参赛人数限制等属性的设置。

实现过程:首先判断项目名称不能为空,然后自动生成一个ID,并且将设定的运动会资料信息添加到数据库中。

4 结束语

系统采用B/S结构设计思路,使得运动会管理实现了网络化。通过网络,任何一台计算机都可以直接连接到运动会管理系统中。赛前、赛中、赛后的处理全部依靠计算机进行处理。运动会管理系统的开发,将使运动会的管理变得易于操作,简单、高效,并且能突破传统运动会的许多限制,有利于体育运动的普及和开展。

参考文献

[1]蒋鹏.ASP在WEB数据库开发中的应用.成都:计算机应用研究,2005(3).

[2]王汉洲.应用ASP技术实现对WEB数据库的访问.北京:计算机世界,2005(4).

[3]周军.ASP网站安全技术研究.上海:计算机应用与软件,20-07,24(5).

基层运动竞赛管理系统的设计与实现 篇9

当今社会, 随着全民健身意识的不断增强, 各类健身活动蓬勃开展起来, 种类繁多的运动竞赛活动也越来越多地融入大众生活, 大到倍受瞩目的世界杯、奥运会、亚运会和当下正在南京举办的青奥会等国际赛事, 小到由各学校、机关团体举办的田径运动会以及街道社区举办的广场舞、太级拳比赛等基层赛事。这些运动竞赛参与人群层次不一, 竞赛的规模也复杂多样, 对管理水平要求也越来越高。因此, 组织者在运动竞赛领域引入了计算机系统, 以实现高水平的信息化管理, 例如在一些大型的体育比赛中, 都有计算机的身影, 因此, 计算机技术融入赛事管理就成为一种必然, 而且逐渐成为各类运动赛事管理的核心所在。许多IT产业技术人员致力于运动竞赛软件的开发与研制, 并已涌现出一大批成型产品, 但这些大都适合现代化设施齐备且标准规范的体育场所和赛事, 对于大多数设施简单、场地随意且标准参差不齐的基层组织来说并不适用。

大多数企事业机关、学校、社会团体等基层组织的竞赛管理工作在很大程度上依赖人工操作, 虽然也使用了计算机等先进设备, 并引入了电子表格、文字处理等办公软件来处理数据, 但却经常出现数据丢失, 统计错误, 而且劳动强度高, 速度慢, 还耗费大量人力物力。所以, 目前的工作方式对于复杂多变且需要实时准确处理的运动竞赛数据已难以应付, 力不从心。在这种形势下, 开发一套适合基层组织的运动赛事管理系统, 引入计算机技术和网络技术, 运用信息化和智能化等科技手段, 从本质上改变以往繁琐、重复和低效率的手工工作模式, 已成为基层运动赛事管理的必然趋势。

二、系统分析

(一) 系统原则。

本系统从基层运动赛事的实际情况出发, 坚持用户方便易用, 赛程数据实时共享, 从本质上改变以前繁琐、重复和低效率的手工操作的工作方式, 提高了赛事管理中数据的准确性和及时性, 因而能更好地为参赛者和管理者服务。为了确保该系统能更好地为运动赛事管理服务, 本系统的建立应该遵循以下四个基本原则:

1. 规范化原则。

先对运动赛事管理业务流程的综合分析, 建立相关的规范的管理制度, 利用现有的信息技术实现管理的规范化和高效性。

2. 兼容性原则。

本系统应能够与各基层组织现有的管理系统在技术上兼容, 在技术条件允许的前提下, 最大限度地利用现有的硬件、软件平台。使得系统在更大程度上提高管理部门的数据和信息资源的共享, 为以后的管理决策提供必要的信息支持。

3. 易用性原则。

根据各基层组织的竞赛管理需要, 给各类用户提供高效、友好的用户界面, 交互更加人性化和易操作。

4. 创新性原则。

在系统建设过程中, 将结合信息系统的特点, 基于运动赛事流程管理思想, 对现有的业务流程进行重新梳理, 优化组合。在管理制度和业务实现等方面体现该系统的创新和开拓的思路。

(二) 系统目标。

为了使系统更好地为运动赛事管理服务, 本系统的建立需要实现以下两个目标:

1. 系统具有较广的覆盖面。

系统将根据整个运动赛事组织管理的具体情况量身定制, 应该包括赛程管理的各个方面, 从比赛项目信息到运动员信息、从报名信息到比赛成绩信息等都应该包含到位。

2. 系统具有较高的安全性。

除了视窗系统本身提供的安全措施外, 系统还应该具有以下几项安全性能:数据库系统的身份核查;系统的登录和身份核查;非登录用户不允许直接进入工作页面。

三、系统设计

(一) 系统业务流程。

基层运动比赛管理系统所实现的最终目标就是要使赛事管理人员的各项工作实现全面的规范化、科学化、自动化、高效化和流程化, 使各类信息得到及时、有序的管理。因此, 根据操作需要, 赛事管理系统应满足以下的需求:第一, 该系统是运动比赛期间的信息处理系统, 同时也是对外发布信息的窗口。赛事管理人员可以通过发布比赛信息, 如比赛准备期间的比赛规则, 比赛项目流程信息, 比赛期间的各个比赛实时信息等。因此, 该系统必须要有一个简捷的操作界面给管理人员进行操作。第二, 提供报名功能。运动员的报名信息是运动赛事的关键信息, 因此, 要给运动员提供一个方便快捷的操作流程进行报名操作。第三, 赛程期间要进行比赛成绩, 排名等信息的录入和发布的操作。第四, 比赛结束后, 要为赛事信息管理提供各个比赛项目信息的查询, 统计功能, 并且将统计结果生成文档, 打印为报表。

综述, 可得基层运动赛事的业务流程图 (图1) 所示。

(二) 系统功能模块。

根据用户需求, 按照结构化程序设计的思想, 采用自顶向下的结构化分析方法, 整个系统可以划分为四大功能模块:系统维护、赛前准备, 赛中管理, 赛后处理。进一步细化, 可以归纳出业务活动的基本要求。

1. 系统维护。

使用本系统前, 首先需要进行系统维护。为提高系统的安全性, 可以设置不同的用户及权限, 并且可设置不同的用户管理不同的模块。系统初始化功能可将系统内部原有数据清空, 设置好数据库的初始状态, 为新的赛事管理做好准备。此外, 还提供了数据导入和数据导出功能, 为数据纠错和数据备份提供了保障。

2. 赛前准备。

根据竞赛需求, 基层组织制定相关比赛规则和比赛项目, 运动员根据比赛规则报名, 并确定所要参加的比赛项目。所有的运动员都需要在报名表上登记个人的基本信息。由管理人员对参赛的运动员进行编号, 生成运动员姓名号码对照表, 并根据报名表系统进行自动分组, 分批次, 生成项目分组表。

3. 赛中管理。

根据竞赛结果, 裁判对运动员的进行成绩评定、成绩录入和成绩处理, 从而判定出各个比赛项目的名次, 并对运动队的成绩和团体总分进行统计, 实现智能化成绩处理。

4. 赛后管理。

运动员可以根据自己的运动队编号、姓名、号码等查询自己的成绩, 并根据赛前准备和比赛管理阶段所涉及到的各个信息, 打印出各种成绩单及团体总分表、奖牌榜、决赛成绩总表、破记录情况表。

四、系统实现

本系统采用简单实用Windows平台下的基于浏览器/服务器的模式构建, 使用SQL Server2005作为后台数据库, 使用面向对象的Java编程环境, 实现了动态、交互、高效的竞赛信息管理。

本系统不需要大型的系统软件和应用软件的支持, 也不需要高配置的计算机硬件, 可根据各基层组织的实际情况来安排。如果参赛人数较少或设备有限, 则只需要一台计算机就足够了;如果现代化设施较齐备可考虑联接网络, 采用网络管理的方式, 实现数据实时共享。

本系统操作界面简捷方便, 对操作人员也无太高的技术要求, 并且本系统提供了实时纠错的功能, 当操作不当或操作失误, 可及时修正。

五、结语

基层运动比赛管理系统充分发挥了计算机技术、网络技术的强大功能, 从整体上改善了运动赛事的管理工作, 提高了管理服务的功能和质量, 实现了运动赛事管理系统的的信息化、网络化、自动化。本系统的开发, 具有很高的性价比, 系统投入使用后, 可以节省人力, 减轻劳动强度, 从而降低了成本, 节省了开支。

参考文献

[1] .马桂媛, 饶斌.奥赛田径运动会管理系统的设计与实现[J].科技资讯, 2007

[2] .张永东.高校田径运动会管理系统的设计与实现[D].电子科技大学, 2010

运动实现 篇10

关键词:运动会系统 电子数据表 服务

1 电子数据表的特性

电子数据表作为运动员信息的集合,是一组具有完整信息的集合,它的最终目标是存储运动员完整的个人信息和比赛记录。因此电子数据表应该是持续性的、具有良好可读性的通用性文档。

①广泛共享的电子数据表描述必须遵循一定的标准, 采用原始XML文档形式存储。②广泛共享的电子数据表数据必须安全可靠、真实反映运动员信息,并有一定的保密性。③电子数据表数据要实现持久性,它应不受社会或技术的演化而变得无法使用,它应该是独立于计算机平台、软件以及数据库技术的。

2 交换框架设计

就现有网络与存储、计算机处理技术水平,在整个赛场范围内实现电子数据表集中存储是可行的,本文根据电子数据表的特性设计了一个基于Web服务的电子数据表数据交换框架,电子数据表数据的处理包括XML文档的转换以及数据的访问都是通过服务来实现的,并在这些基础上实现了电子数据表数据内网和外网的无阻交换。在电子数据表发送方数据时要先通过XML文档构造服务转换成XML文档后再发送,在集成平台的数据接收方,采用XML文档直接存储到数据库的方法。在对数据进行访问时,通过调用集成平台提供的服务进行访问。从整个设计过程来看,集中存储的电子数据表数据是安全可靠,而且提高了数据访问的友好度和安全性。

集中电子数据表数据交换框架实现主要包括四个关键技术:基于XML的数据库、XML文档转换处理、数据接收处理,以及数据访问服务的设计。

2.1 基于XML的数据库设计 原始XML存储数据库(Native XML Database, NXD)保持XML文档的树形结构,省掉了XML文档和传统关系数据库的数据转换过程。市面上也有不下几十种NXD产品,其中IBM的DB2 9是一种支持XML文档和关系型数据的混合数据库,DB2 9 中新的XML支持包括纯XML存储、XML 索引、XQuery、SQL/XML 和高级的 XML 模式处理等,本文即采用DB2 9的数据库来存储电子数据表数据。

数据库存储的是各种用XML标准描述的数据表单,为了提高数据库的管理,本文为各种类型的数据文档设计一个数据表,可以通过文档类型标识的判别将文档插入到相应的数据表中。数据模型如图1所示。

电子数据表首页是运动员每次报名参赛的开始,并且记录了一些运动员的关键信息为系统发生的其它表单的填写提供参照。运动员电子数据表首页是运动员在报名时由组委会填写,内容包括运动员基本信息,参加比赛的一些情况:身体状况、既往成绩、比赛信息等。

电子数据表首页表和其它比赛用文档表是一对多的关系,关系属性为XML文档中的元素中的属性。

2.2 XML文档转换处理 XML技术实现规范(Implementation Technology Specification, ITS)可以用来实现消息的构造,它能恰当的运用对象、属性和数据类型来表达文档。

准备工作:一,通过文档建模得到图表格式化的层级描述(Hierarchical Description, HD),并存储到模型库中。HD是构建文档的基础,是文档生成的模版,定义了文档里有哪些数据项以及数据项的顺序;二,使用XML Schema Generator (XML 的模式生成器)将HD的声明, 以及数据类型声明转化成XML的模式声明,并存储到XML模式库中。

有了具体文档模型的HD表和Schema,就可以针对具体的业务数据进行文档构造了,主要通过三步来实现文档构造:一,发送方取出业务数据,从模型库中找到对应的HD表,通过程序代码将数据映射到表中并对文档号作唯一性处理,以保持文档之间的关系。因为电子数据表要实现运动员所有历史和更新的数据,以便提高法律效力,所以在文档中也反映了文档替换、附加、转换的关系。二,借助于ITS定义的构造算法将HD表与相关数据转换成XML文档;三,进行文档的Schema验证,以确保文档的有效。

2.3 数据接收处理 本文采用文档转换的服务程序中直接生成运动员信息文档的唯一编码,因此在接收文档的时候不用对该文档的编码的唯一性处理,也不用考虑文档之前的关系。数据库服务器只要对文档的类型进行判断,然后选择合适的表进行插入就可以了。此外还要考虑文档的转换格式与其关联的方法,文本中XML是采用xsl套用格式声明实现的,因此,要将其插入到文档中。

下面表1列出了部分与文档类型相关的编码集。

表1 文档类型例子

2.4 数据访问服务

集中的电子数据表数据通过其前台的集成控制平台提供的服务来实现共享,因此从接入系统的应用层上限制了一些数据的访问,可以在一定程度上保证数据的安全和保密性。服务开发有很大的灵活性,可以根据需求逐步地开发服务,然后发布到服务总线上,就可以等待服务请求者调用。

3 结束语

本文设计了基于电子数据表数据交换的框架,并对数据库与具体的数据处理进行了分析和设计。本框架是基于服务来实现的,保证了数据的安全与可靠,对其它的电子数据表区域化存储的实现有一定的参考价值。

参考文献:

[1]PRakesh Agrawal、Tyrone Grandison、PChristopher Johnson、Jerry Kiernan. Enabling the 21st century health care information technology revolution. In: ACM 2 Penn Plaza, Suite 701 New York NY USA. 2007:34~42.

[2]Jeng, JJ; An, Lianjun. System Dynamics Modeling for SOA Project Management. In: IEEE International Conference on Volume , Issue, 2007,6:286-294.

[3]刘小琳,郑有才.面向服务的工作流技术[J].计算机工程与应用,2006.27.

[4]王远,范玉顺.基于时序逻辑的工作流建模与分析方法研究[J].高技术通讯,2006,2.

[5]Andreas J.Dietrich,Stefan Kirn,and Vijayan Sugumaran. A Service-Oriented Architecture for Mass Customization-A Shoe Industry Case Study. IN: IEEE TRANSACTIONS ON ENGINEERING MANAGEMENT,VOL.54,NO.1.2007,2.

上一篇:漏电保护器的使用下一篇:职业院校的美术欣赏课