爆破网络设计的可视化编程教学探索与实践 ·...

4
ISSN1672-4305 CN12-1352 / N LABORATORY SCIENCE 23 1 2020 2 Vol. 23 No. 1 Feb. 2020 爆破网络设计的可视化编程教学探索与实践 司剑峰, , , ( 武汉科技大学 理学院; 湖北省智能爆破技术研究中心, 湖北 武汉 430065) : 爆破类专业的教学由于安全成本等问题很难进行实践环节的学习和训练, 为解决这一教学问题, 并充分发挥学生综合学习应用能力, 结合凿岩爆破课程中爆破网络设计的问题探讨了将爆破网络设计内容结 C#语言程序设计进行可视化的操作软件的实现方法通过框架设计功能设计及实现学生应用等环节, 现已完成该可视化程序的编辑和应用, 效果良好, 并在此基础上分析了该方法的优缺点以及后期可继续深入 研究的方向关键词: 爆破网络设计; C#语言; 可视化; 教学研究 中图分类号:G482 文献标识码:A doi:10. 3969 / j. issn. 1672-4305. 2020. 01. 014 Exploration and practice of visual programming teaching in blasting network design SI Jian-feng, CHEN Hao, HE Li, WU Liang ( College of Science, Wuhan University of Science and Technology; Hubei Province Intelligent Blas- ting Engineering Technology Research Center, Wuhan 430065, China) Abstract: The teaching of blasting major is difficult to carry out practical learning because of safety and cost. In order to solve this teaching problem and give full play to students comprehensive learning and application ability, combining with the problem of blasting network design in the course of drilling and blasting, this paper discusses the realization method of operating software that integrates blasting network design content with c# language programming design. Through the framework design, function- al design and implementation, student application and other aspects, the editing and application of the visualization program has been completed, and the effect is good. On this basis, the advantages and disadvantages of the combination method and the direction that can be further deepened in the later stage are analyzed. Key words: blasting network design; C# language; visualization; teaching research 收稿日期:2018-10-08 修改日期:2018-11-18 作者简介: 司剑峰, 博士生, 工程师, 主要研究方向为爆破安全E-mail:674824263@ qq. com 基金项目:湖北省教育厅科学技术研究项目 ( 项目编号: Q20181109) ;武汉科技大学教育改革研究项目( 项目 编号:NO. Yjg201721;NO. Yjg201903;2018X046) 。 爆破科学是一门专业性较强的工科学科, 要求 学生除掌握基本的理论知识外, 还应具备一定的实 操能力 [1] 然而, 在大学本科教学过程中, 对于爆 破类实验课程的开展具有诸多限制首先雷管药等爆破器材具有很强的管制性, 使用单位和个人 必须有国家公安部门颁发的资质证;其次,爆破器材 本身具有高危险性 [2] ,演示性实验和实操性实验都 具有高风险;第三, 爆破实验对爆破场地要求极高, 爆破引起的声音振动冲击波等都会给正常的教学 工作带来不便;第四,对于大规模的爆破网络的认识 实验更不易实现 [ 3 - 4] 基于以上原因,大多数爆破类教学只能停留在 课堂的基础理论学习上, 或者通过具体工程爆破现 场的短暂认识实习因此, 作为工科类的爆破专业 急需解决由于专业本身带来的教学问题 [ 5 - 6]

Transcript of 爆破网络设计的可视化编程教学探索与实践 ·...

Page 1: 爆破网络设计的可视化编程教学探索与实践 · 爆破网络设计的可视化编程教学探索与实践 ... 综合学习应用能力,结合凿岩爆破课程中爆破网络设计的问题探讨了将爆破网络设计内容结

  ISSN1672-4305

CN12-1352 N实    验    室    科    学

LABORATORY 

SCIENCE第 23 卷  第 1 期  2020 年 2 月

Vol 23  No 1

  Feb 2020

爆破网络设计的可视化编程教学探索与实践

司剑峰 陈  浩 何  理 吴  亮(武汉科技大学

理学院 湖北省智能爆破技术研究中心 湖北

武汉  430065)

摘  要 爆破类专业的教学由于安全 成本等问题很难进行实践环节的学习和训练 为解决这一教学问题并充分发挥学生综合学习应用能力 结合凿岩爆破课程中爆破网络设计的问题探讨了将爆破网络设计内容结

合 C语言程序设计进行可视化的操作软件的实现方法 通过框架设计 功能设计及实现 学生应用等环节现已完成该可视化程序的编辑和应用 效果良好 并在此基础上分析了该方法的优缺点以及后期可继续深入

研究的方向关键词 爆破网络设计 C语言 可视化

教学研究

中图分类号G482    文献标识码A    doi10 3969 j issn 1672-4305 2020 01 014

Exploration

and

practice

of

visual

programming

teaching

in

blasting

network

design

SI

Jian-feng CHEN

Hao HE

Li WU

Liang(College

of

Science

Wuhan

University

of

Science

and

Technology Hubei

Province

Intelligent

Blas-ting

Engineering

Technology

Research

Center

Wuhan

430065

China)

Abstract The

teaching

of

blasting

major

is

difficult

to

carry

out

practical

learning

because

of

safety

and

cost

In

order

to

solve

this

teaching

problem

and

give

full

play

to

students1049011

comprehensive

learning

and

application

ability

combining

with

the

problem

of

blasting

network

design

in

the

course

of

drilling

and

blasting

this

paper

discusses

the

realization

method

of

operating

software

that

integrates

blasting

network

design

content

with

c

language

programming

design

Through

the

framework

design

function-al

design

and

implementation

student

application

and

other

aspects

the

editing

and

application

of

the

visualization

program

has

been

completed

and

the

effect

is

good

On

this

basis

the

advantages

and

disadvantages

of

the

combination

method

and

the

direction

that

can

be

further

deepened

in

the

later

stage

are

analyzed

Key

words blasting

network

design

C

language

visualization

teaching

research

                                              

  

  

  

                          

  

  

  

 

收稿日期2018-10-08    修改日期2018-11-18作者简介司剑峰博士生工程师主要研究方向为爆破安全

E-mail674824263 qq com基金项目湖 北 省 教 育 厅 科 学 技 术 研 究 项 目 ( 项 目 编 号

Q20181109)武汉科技大学教育改革研究项目(项目

编号NO Yjg201721NO Yjg2019032018X046)

    爆破科学是一门专业性较强的工科学科要求

学生除掌握基本的理论知识外还应具备一定的实

操能力[1] 然而在大学本科教学过程中对于爆

破类实验课程的开展具有诸多限制 首先雷管炸药等爆破器材具有很强的管制性使用单位和个人

必须有国家公安部门颁发的资质证其次爆破器材

本身具有高危险性[2] 演示性实验和实操性实验都

具有高风险第三爆破实验对爆破场地要求极高爆破引起的声音振动冲击波等都会给正常的教学

工作带来不便第四对于大规模的爆破网络的认识

实验更不易实现[3 - 4] 基于以上原因大多数爆破类教学只能停留在

课堂的基础理论学习上或者通过具体工程爆破现

场的短暂认识实习 因此作为工科类的爆破专业

急需解决由于专业本身带来的教学问题[5 - 6]

1  基本框架的构建

软件主程序采用 C语言进行编程图形界面采

用 xaml 语言编程 ldquoC语言rdquo是爆破专业学生的必

修课其语言简洁结构清晰用途广泛具备底层处

理功能可执行代码质量高可移植性好编译运行

效率高数据类型丰富灵活性强而且便于学习软件主界面主要包括功能区演示区控制区三

大块具体程序框架如图 1 所示 功能区主要有打

孔连续装药空气装药删除炮孔分组分组移除移动等功能 打孔功能是指点击该功能键可以在岩

石区进行打孔形成空的炮孔点击连续装药功能键

可以实现在已经打孔的炮孔中填充炸药装药形式

为连续装药点击空气装药功能键可以实现在已经

打孔的炮孔中填充炸药装药形式为径向不耦合装

药删除炮孔主要针对装错药打错孔的炮孔进行删

除模拟弃孔的作用分组是对已经成型的炮孔进行

分组分组的好处在于可对同组的多个炮孔进行属

性的更改方便操作分组交叉功能类似于布尔运

算可对多个组别进行交叉求加或者交叉求减得到

ldquo小组rdquo主要也是为了方便操作分组移除是对已

经分好组的炮孔进行解散解散后可对单个炮孔进

行属性更改移动功能主要对炮孔的位置进行调整可以拖动炮孔移动至合适的位置

(AAE

7

0

L

0gt9

4 40L

Lamp

F5gt9

A7

A5

C(A5

amp

65

5

(E0

amp5

图 1  爆破网络设计的可视化程序基本框架

    在该岩石区域可通过功能区的功能按钮在该

区域进行打孔装药等操作通过操作区可对该区域

装药的炮孔进行爆破参数设置并完成起爆爆破过

程可在该区域进行显示 通过勾选上方显示网格可出现用于参考位置的方形网格线通过拖动缩放

比滑条可更改方格显示尺寸 炮孔属性面板可以显

示和更改选中炮孔的属性包括该炮孔的编号延期

时间分组的组号在平面中的坐标值装药的状态爆炸持续的时间等 操作面板中主要包括倒计时起

爆时间起爆按钮对炮孔属性清除清除炮孔重新

计时等功能 主界面如图 2 所示

图 2  软件主界面

05                    

司剑峰等爆破网络设计的可视化编程教学探索与实践

2  C语言程序的实现

(1)

装药方式的区分

程序中采用常规的连续装药和空气间隔装药通过不同的按钮执行操作在显示区中以实心圆和空心

圆环分别代表以上两种装药状态实现代码部分如下public

void

set_attr_val(String

attr)  foreach(System Reflection PropertyInfo

p

in

this Get-Type() GetProperties())

 

if

(p Name

=

attr)

p SetValue(this

false)    else

p SetValue(thistrue) 

 

(2)雷管延时设置

穿孔及装药完成后对炮孔延期时间进行设置用以模拟不同的雷管段别或者电子数码雷管中的设

置延期时间

if

(IsInteger(this delay_time Text Trim())

ampamp

curele_in_panel

=

null)  this curele_in_panel change _delay ( int Parse ( this

delay_time Text Trim()))  this test_label Text

=

changeability ToString( )

+

+

this curele_in_panel delay ToString()

(3)炮孔爆破状态

当点击起爆按钮后按照设定的起爆时间进行

倒计时当计时器倒计时至 0 时各炮孔按照炮孔的

延时设定时间倒数完成延时后炮孔由原有装药状

态(连续装药状态或者空气间隔装药状态)变为爆

破状态(颜色变为红色持续 1s)再变为爆后状态

(炮孔变成灰色)具体炮孔显示颜色状态及意义见

表 1 所示

表 1  炮孔显示状态及图片示例

状态 穿孔 连续装药 空气间隔装药 雷管延期 炸药爆炸 爆炸结束

显示 灰色圆圈 深灰色实心圆 深灰色圆环 黄色圆环 红色圆环 灰色圆圈

图片

if

(remains

= =

this holes_num)  ut Kind_type

=

Play this test_label Text

=

chnaged   his timer Stop()  this cd

=

0  this countd

=

this start_time  this remains

=

0  this timer_label Text

=

爆破完毕   foreach

( var

c

in

LogicalTreeHelper GetChildren( thisShapeCanvas))

  if

(c

is

ele)    ele

circle_

=

c

as

ele      circle_ origined()     

(4)炮孔自动编号this holes_num++  this holes_index++(5)分组

mouseDown

=

false 

Hide

the

drag

selection

box  selection Visibility

=

Visibility Collapsed  Point

mouseUpPos

=

e GetPosition ( this ShapeCan-

vas)  this test_label Text

=

mouseDownPos X

+

  down 

+

mouseDownPos Y

+

 

+

mouseUpPos X

+

 

+

mouseUpPos Y

3  特色及优势小结

通过编程实现爆破过程的模拟一方面能够加

强学生对爆破基础理论的深入掌握另一方面能够

锻炼学生 C语言的应用能力[7 - 8] 在提升了两个

学科自身知识点学习和应用外也促进了学科之间的

交叉达到了综合学习的目的[9 - 10] 学生自身能力

得到提高外也可将成果应用于后面学生的示范性教

学一举两得(1)能够整体把握设计施工放炮的流程(2)能够对爆破网络的基本原理以及实现步骤

进行深入掌握(3)对爆破的一些基本概念及基础知识有一个

系统的学习和认识(4)通过结合软件的可视化程序的实现提高

了 C 语言的应用能力达到了综合应用的目的

(下转第 55 页)

15

李煜等铰链四杆机构实验远程虚拟仿真的研究与实践

数运行虚拟系统观察仿真结果验证设计要求最后浏览ldquo实验测试rdquo界面回答本实验相关问题并

提交答案 运行虚拟仿真实验界面下图 6 所示

图 6  曲柄摇杆仿真界面

4  结语

本文以ldquo铰链四杆机构虚拟仿真rdquo 实验项目为

例介绍了在开源的 Eclipse3 2 集成开发平台中使

用功能强大简单易用的 Java 语言开发具体虚拟实

验项目的一般过程并将其部署在性能稳定的 Web应用服务器 Tomcat 之上 学生通过浏览器借助现

代化的网络技术登录本校虚拟仿真系统即可完成本

次实验教学任务充分的拓展了实验教学的时间和

空间实践证明以学生自主式线上讨论线下交流

式的新型互动式实验教学模式激发了学生的学习

兴趣和潜能充分体现了ldquo以学生为中心的实验教

学理念rdquo为虚拟仿真实验室建设提供了参考实例

参考文献(References)

[1]   教育部办公厅关于 2017-2020 年开展示范性虚拟仿真实验教

学项目建设的通知 [ EB OL]

[ 2017 ndash 07 ndash 13] http www moe edu cn srcsite A08 s7945 s7946 201707 t20170721_309819 html

[2]   万桂怡崔建军张振果 高校虚拟实验平台的设计及实践

[J] 实验室研究与探索2011(3)386-389[3]   程海丽张敬宗王献云等 谈虚拟仿真实验教学中心建设中

的ldquo虚实结合rdquo原则[J] 甘肃科技2017(3)23-25[4]   陈立平张云清 机械系统动力学分析及 ADAMS 应用教程

[M] 北京清华大学出版社2005[5]   伍祥生王克宏 Java2D

API 技术及其实现方法[ J] 中国图像

图形学报1998(8)698-701[6]   吕校春李玲莉

基于 Swing 的 Java

GUI 组件开发[ J]

制造

业信息化2008(5)129-131[7]   杨焱罗玉峰石志新

RRR-PRP 平面六杆Ⅱ级机构的运动

学仿真[J]

南昌大学学报(理科版)

2011(2)136-139[8]   王金龙宋斌丁锐

Node js一种新的 Web 应用构建技术

[J]

现代电子技术2015(38)70-73

10509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979(上接第 51 页)4  结语

通过以上程序对凿岩爆破过程中的打孔装药组网延时设置起爆等进行可视化的模拟可以让

学生直观感受到凿岩爆破过程以及针对不同爆破要

求设计不同爆破网络直观地观察到不同延期时间

在爆破网络中的实现过程 优点在于操作的可重复

性好安全性高成本低直观性更好缺点在于对于

爆破后的爆破效果在软件中未能实现后期的进一

步工作可以放在这一块 目前随着虚拟现实技术

的日趋成熟爆破技术的学习和检验亦可通过这一

技术实现安全高效低成本的运行

参考文献(References)

[1]   凌天龙武宇李胜林等 煤矿巷道光面爆破智能设计系统开

发与应用 [ J] 河南理工大学学报 ( 自然科学版) 201837(2)29-35

[2]   夏梁梦郑武梁孟狄 爆破网络中常见编辑功能设计与实现

[J] 电脑编程技巧与维护2015(1)18-20[3]   吴亮鲁帅磨季云等 建(构)筑物爆破拆除中的力学原理与

教学[J] 成都师范学院学报201632(9)111-116[4]   张欣

圆形及方形截面烟囱爆破拆除计算机辅助设计[ D] 包头内蒙古科技大学2007

[5]   杨仁树马鑫民李清等

煤矿巷道掘进爆破智能设计系统及

应用[J]

煤炭学报201338(7)1130-1135[6]   白润才邓超刘光伟

露天矿爆破设计三维可视化系统[ J]

金属矿山2014(9)116-120[7]   张袁娟可杰农冬灵 数值模拟在爆破工程教学中的应用探

讨[J] 西部探矿工程201628(1)195-196[8]   郁晓华肖敏王美玲等

基于可视化编程的计算思维培养模

式研究mdashmdashmdash兼论信息技术课堂中计算思维的培养[ J]

远程

教育杂志201735(6)12-20[9]   马建兴刘占虎王文才 爆破实验课的教学研究[ J] 实验室

科学201518(1)142-144[10]   何姣云 基于计算机技术的爆破工程实验教学探索[ J] 湖北

水利水电职业技术学院学报20128(3)40-43

55

Page 2: 爆破网络设计的可视化编程教学探索与实践 · 爆破网络设计的可视化编程教学探索与实践 ... 综合学习应用能力,结合凿岩爆破课程中爆破网络设计的问题探讨了将爆破网络设计内容结

1  基本框架的构建

软件主程序采用 C语言进行编程图形界面采

用 xaml 语言编程 ldquoC语言rdquo是爆破专业学生的必

修课其语言简洁结构清晰用途广泛具备底层处

理功能可执行代码质量高可移植性好编译运行

效率高数据类型丰富灵活性强而且便于学习软件主界面主要包括功能区演示区控制区三

大块具体程序框架如图 1 所示 功能区主要有打

孔连续装药空气装药删除炮孔分组分组移除移动等功能 打孔功能是指点击该功能键可以在岩

石区进行打孔形成空的炮孔点击连续装药功能键

可以实现在已经打孔的炮孔中填充炸药装药形式

为连续装药点击空气装药功能键可以实现在已经

打孔的炮孔中填充炸药装药形式为径向不耦合装

药删除炮孔主要针对装错药打错孔的炮孔进行删

除模拟弃孔的作用分组是对已经成型的炮孔进行

分组分组的好处在于可对同组的多个炮孔进行属

性的更改方便操作分组交叉功能类似于布尔运

算可对多个组别进行交叉求加或者交叉求减得到

ldquo小组rdquo主要也是为了方便操作分组移除是对已

经分好组的炮孔进行解散解散后可对单个炮孔进

行属性更改移动功能主要对炮孔的位置进行调整可以拖动炮孔移动至合适的位置

(AAE

7

0

L

0gt9

4 40L

Lamp

F5gt9

A7

A5

C(A5

amp

65

5

(E0

amp5

图 1  爆破网络设计的可视化程序基本框架

    在该岩石区域可通过功能区的功能按钮在该

区域进行打孔装药等操作通过操作区可对该区域

装药的炮孔进行爆破参数设置并完成起爆爆破过

程可在该区域进行显示 通过勾选上方显示网格可出现用于参考位置的方形网格线通过拖动缩放

比滑条可更改方格显示尺寸 炮孔属性面板可以显

示和更改选中炮孔的属性包括该炮孔的编号延期

时间分组的组号在平面中的坐标值装药的状态爆炸持续的时间等 操作面板中主要包括倒计时起

爆时间起爆按钮对炮孔属性清除清除炮孔重新

计时等功能 主界面如图 2 所示

图 2  软件主界面

05                    

司剑峰等爆破网络设计的可视化编程教学探索与实践

2  C语言程序的实现

(1)

装药方式的区分

程序中采用常规的连续装药和空气间隔装药通过不同的按钮执行操作在显示区中以实心圆和空心

圆环分别代表以上两种装药状态实现代码部分如下public

void

set_attr_val(String

attr)  foreach(System Reflection PropertyInfo

p

in

this Get-Type() GetProperties())

 

if

(p Name

=

attr)

p SetValue(this

false)    else

p SetValue(thistrue) 

 

(2)雷管延时设置

穿孔及装药完成后对炮孔延期时间进行设置用以模拟不同的雷管段别或者电子数码雷管中的设

置延期时间

if

(IsInteger(this delay_time Text Trim())

ampamp

curele_in_panel

=

null)  this curele_in_panel change _delay ( int Parse ( this

delay_time Text Trim()))  this test_label Text

=

changeability ToString( )

+

+

this curele_in_panel delay ToString()

(3)炮孔爆破状态

当点击起爆按钮后按照设定的起爆时间进行

倒计时当计时器倒计时至 0 时各炮孔按照炮孔的

延时设定时间倒数完成延时后炮孔由原有装药状

态(连续装药状态或者空气间隔装药状态)变为爆

破状态(颜色变为红色持续 1s)再变为爆后状态

(炮孔变成灰色)具体炮孔显示颜色状态及意义见

表 1 所示

表 1  炮孔显示状态及图片示例

状态 穿孔 连续装药 空气间隔装药 雷管延期 炸药爆炸 爆炸结束

显示 灰色圆圈 深灰色实心圆 深灰色圆环 黄色圆环 红色圆环 灰色圆圈

图片

if

(remains

= =

this holes_num)  ut Kind_type

=

Play this test_label Text

=

chnaged   his timer Stop()  this cd

=

0  this countd

=

this start_time  this remains

=

0  this timer_label Text

=

爆破完毕   foreach

( var

c

in

LogicalTreeHelper GetChildren( thisShapeCanvas))

  if

(c

is

ele)    ele

circle_

=

c

as

ele      circle_ origined()     

(4)炮孔自动编号this holes_num++  this holes_index++(5)分组

mouseDown

=

false 

Hide

the

drag

selection

box  selection Visibility

=

Visibility Collapsed  Point

mouseUpPos

=

e GetPosition ( this ShapeCan-

vas)  this test_label Text

=

mouseDownPos X

+

  down 

+

mouseDownPos Y

+

 

+

mouseUpPos X

+

 

+

mouseUpPos Y

3  特色及优势小结

通过编程实现爆破过程的模拟一方面能够加

强学生对爆破基础理论的深入掌握另一方面能够

锻炼学生 C语言的应用能力[7 - 8] 在提升了两个

学科自身知识点学习和应用外也促进了学科之间的

交叉达到了综合学习的目的[9 - 10] 学生自身能力

得到提高外也可将成果应用于后面学生的示范性教

学一举两得(1)能够整体把握设计施工放炮的流程(2)能够对爆破网络的基本原理以及实现步骤

进行深入掌握(3)对爆破的一些基本概念及基础知识有一个

系统的学习和认识(4)通过结合软件的可视化程序的实现提高

了 C 语言的应用能力达到了综合应用的目的

(下转第 55 页)

15

李煜等铰链四杆机构实验远程虚拟仿真的研究与实践

数运行虚拟系统观察仿真结果验证设计要求最后浏览ldquo实验测试rdquo界面回答本实验相关问题并

提交答案 运行虚拟仿真实验界面下图 6 所示

图 6  曲柄摇杆仿真界面

4  结语

本文以ldquo铰链四杆机构虚拟仿真rdquo 实验项目为

例介绍了在开源的 Eclipse3 2 集成开发平台中使

用功能强大简单易用的 Java 语言开发具体虚拟实

验项目的一般过程并将其部署在性能稳定的 Web应用服务器 Tomcat 之上 学生通过浏览器借助现

代化的网络技术登录本校虚拟仿真系统即可完成本

次实验教学任务充分的拓展了实验教学的时间和

空间实践证明以学生自主式线上讨论线下交流

式的新型互动式实验教学模式激发了学生的学习

兴趣和潜能充分体现了ldquo以学生为中心的实验教

学理念rdquo为虚拟仿真实验室建设提供了参考实例

参考文献(References)

[1]   教育部办公厅关于 2017-2020 年开展示范性虚拟仿真实验教

学项目建设的通知 [ EB OL]

[ 2017 ndash 07 ndash 13] http www moe edu cn srcsite A08 s7945 s7946 201707 t20170721_309819 html

[2]   万桂怡崔建军张振果 高校虚拟实验平台的设计及实践

[J] 实验室研究与探索2011(3)386-389[3]   程海丽张敬宗王献云等 谈虚拟仿真实验教学中心建设中

的ldquo虚实结合rdquo原则[J] 甘肃科技2017(3)23-25[4]   陈立平张云清 机械系统动力学分析及 ADAMS 应用教程

[M] 北京清华大学出版社2005[5]   伍祥生王克宏 Java2D

API 技术及其实现方法[ J] 中国图像

图形学报1998(8)698-701[6]   吕校春李玲莉

基于 Swing 的 Java

GUI 组件开发[ J]

制造

业信息化2008(5)129-131[7]   杨焱罗玉峰石志新

RRR-PRP 平面六杆Ⅱ级机构的运动

学仿真[J]

南昌大学学报(理科版)

2011(2)136-139[8]   王金龙宋斌丁锐

Node js一种新的 Web 应用构建技术

[J]

现代电子技术2015(38)70-73

10509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979(上接第 51 页)4  结语

通过以上程序对凿岩爆破过程中的打孔装药组网延时设置起爆等进行可视化的模拟可以让

学生直观感受到凿岩爆破过程以及针对不同爆破要

求设计不同爆破网络直观地观察到不同延期时间

在爆破网络中的实现过程 优点在于操作的可重复

性好安全性高成本低直观性更好缺点在于对于

爆破后的爆破效果在软件中未能实现后期的进一

步工作可以放在这一块 目前随着虚拟现实技术

的日趋成熟爆破技术的学习和检验亦可通过这一

技术实现安全高效低成本的运行

参考文献(References)

[1]   凌天龙武宇李胜林等 煤矿巷道光面爆破智能设计系统开

发与应用 [ J] 河南理工大学学报 ( 自然科学版) 201837(2)29-35

[2]   夏梁梦郑武梁孟狄 爆破网络中常见编辑功能设计与实现

[J] 电脑编程技巧与维护2015(1)18-20[3]   吴亮鲁帅磨季云等 建(构)筑物爆破拆除中的力学原理与

教学[J] 成都师范学院学报201632(9)111-116[4]   张欣

圆形及方形截面烟囱爆破拆除计算机辅助设计[ D] 包头内蒙古科技大学2007

[5]   杨仁树马鑫民李清等

煤矿巷道掘进爆破智能设计系统及

应用[J]

煤炭学报201338(7)1130-1135[6]   白润才邓超刘光伟

露天矿爆破设计三维可视化系统[ J]

金属矿山2014(9)116-120[7]   张袁娟可杰农冬灵 数值模拟在爆破工程教学中的应用探

讨[J] 西部探矿工程201628(1)195-196[8]   郁晓华肖敏王美玲等

基于可视化编程的计算思维培养模

式研究mdashmdashmdash兼论信息技术课堂中计算思维的培养[ J]

远程

教育杂志201735(6)12-20[9]   马建兴刘占虎王文才 爆破实验课的教学研究[ J] 实验室

科学201518(1)142-144[10]   何姣云 基于计算机技术的爆破工程实验教学探索[ J] 湖北

水利水电职业技术学院学报20128(3)40-43

55

Page 3: 爆破网络设计的可视化编程教学探索与实践 · 爆破网络设计的可视化编程教学探索与实践 ... 综合学习应用能力,结合凿岩爆破课程中爆破网络设计的问题探讨了将爆破网络设计内容结

司剑峰等爆破网络设计的可视化编程教学探索与实践

2  C语言程序的实现

(1)

装药方式的区分

程序中采用常规的连续装药和空气间隔装药通过不同的按钮执行操作在显示区中以实心圆和空心

圆环分别代表以上两种装药状态实现代码部分如下public

void

set_attr_val(String

attr)  foreach(System Reflection PropertyInfo

p

in

this Get-Type() GetProperties())

 

if

(p Name

=

attr)

p SetValue(this

false)    else

p SetValue(thistrue) 

 

(2)雷管延时设置

穿孔及装药完成后对炮孔延期时间进行设置用以模拟不同的雷管段别或者电子数码雷管中的设

置延期时间

if

(IsInteger(this delay_time Text Trim())

ampamp

curele_in_panel

=

null)  this curele_in_panel change _delay ( int Parse ( this

delay_time Text Trim()))  this test_label Text

=

changeability ToString( )

+

+

this curele_in_panel delay ToString()

(3)炮孔爆破状态

当点击起爆按钮后按照设定的起爆时间进行

倒计时当计时器倒计时至 0 时各炮孔按照炮孔的

延时设定时间倒数完成延时后炮孔由原有装药状

态(连续装药状态或者空气间隔装药状态)变为爆

破状态(颜色变为红色持续 1s)再变为爆后状态

(炮孔变成灰色)具体炮孔显示颜色状态及意义见

表 1 所示

表 1  炮孔显示状态及图片示例

状态 穿孔 连续装药 空气间隔装药 雷管延期 炸药爆炸 爆炸结束

显示 灰色圆圈 深灰色实心圆 深灰色圆环 黄色圆环 红色圆环 灰色圆圈

图片

if

(remains

= =

this holes_num)  ut Kind_type

=

Play this test_label Text

=

chnaged   his timer Stop()  this cd

=

0  this countd

=

this start_time  this remains

=

0  this timer_label Text

=

爆破完毕   foreach

( var

c

in

LogicalTreeHelper GetChildren( thisShapeCanvas))

  if

(c

is

ele)    ele

circle_

=

c

as

ele      circle_ origined()     

(4)炮孔自动编号this holes_num++  this holes_index++(5)分组

mouseDown

=

false 

Hide

the

drag

selection

box  selection Visibility

=

Visibility Collapsed  Point

mouseUpPos

=

e GetPosition ( this ShapeCan-

vas)  this test_label Text

=

mouseDownPos X

+

  down 

+

mouseDownPos Y

+

 

+

mouseUpPos X

+

 

+

mouseUpPos Y

3  特色及优势小结

通过编程实现爆破过程的模拟一方面能够加

强学生对爆破基础理论的深入掌握另一方面能够

锻炼学生 C语言的应用能力[7 - 8] 在提升了两个

学科自身知识点学习和应用外也促进了学科之间的

交叉达到了综合学习的目的[9 - 10] 学生自身能力

得到提高外也可将成果应用于后面学生的示范性教

学一举两得(1)能够整体把握设计施工放炮的流程(2)能够对爆破网络的基本原理以及实现步骤

进行深入掌握(3)对爆破的一些基本概念及基础知识有一个

系统的学习和认识(4)通过结合软件的可视化程序的实现提高

了 C 语言的应用能力达到了综合应用的目的

(下转第 55 页)

15

李煜等铰链四杆机构实验远程虚拟仿真的研究与实践

数运行虚拟系统观察仿真结果验证设计要求最后浏览ldquo实验测试rdquo界面回答本实验相关问题并

提交答案 运行虚拟仿真实验界面下图 6 所示

图 6  曲柄摇杆仿真界面

4  结语

本文以ldquo铰链四杆机构虚拟仿真rdquo 实验项目为

例介绍了在开源的 Eclipse3 2 集成开发平台中使

用功能强大简单易用的 Java 语言开发具体虚拟实

验项目的一般过程并将其部署在性能稳定的 Web应用服务器 Tomcat 之上 学生通过浏览器借助现

代化的网络技术登录本校虚拟仿真系统即可完成本

次实验教学任务充分的拓展了实验教学的时间和

空间实践证明以学生自主式线上讨论线下交流

式的新型互动式实验教学模式激发了学生的学习

兴趣和潜能充分体现了ldquo以学生为中心的实验教

学理念rdquo为虚拟仿真实验室建设提供了参考实例

参考文献(References)

[1]   教育部办公厅关于 2017-2020 年开展示范性虚拟仿真实验教

学项目建设的通知 [ EB OL]

[ 2017 ndash 07 ndash 13] http www moe edu cn srcsite A08 s7945 s7946 201707 t20170721_309819 html

[2]   万桂怡崔建军张振果 高校虚拟实验平台的设计及实践

[J] 实验室研究与探索2011(3)386-389[3]   程海丽张敬宗王献云等 谈虚拟仿真实验教学中心建设中

的ldquo虚实结合rdquo原则[J] 甘肃科技2017(3)23-25[4]   陈立平张云清 机械系统动力学分析及 ADAMS 应用教程

[M] 北京清华大学出版社2005[5]   伍祥生王克宏 Java2D

API 技术及其实现方法[ J] 中国图像

图形学报1998(8)698-701[6]   吕校春李玲莉

基于 Swing 的 Java

GUI 组件开发[ J]

制造

业信息化2008(5)129-131[7]   杨焱罗玉峰石志新

RRR-PRP 平面六杆Ⅱ级机构的运动

学仿真[J]

南昌大学学报(理科版)

2011(2)136-139[8]   王金龙宋斌丁锐

Node js一种新的 Web 应用构建技术

[J]

现代电子技术2015(38)70-73

10509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979(上接第 51 页)4  结语

通过以上程序对凿岩爆破过程中的打孔装药组网延时设置起爆等进行可视化的模拟可以让

学生直观感受到凿岩爆破过程以及针对不同爆破要

求设计不同爆破网络直观地观察到不同延期时间

在爆破网络中的实现过程 优点在于操作的可重复

性好安全性高成本低直观性更好缺点在于对于

爆破后的爆破效果在软件中未能实现后期的进一

步工作可以放在这一块 目前随着虚拟现实技术

的日趋成熟爆破技术的学习和检验亦可通过这一

技术实现安全高效低成本的运行

参考文献(References)

[1]   凌天龙武宇李胜林等 煤矿巷道光面爆破智能设计系统开

发与应用 [ J] 河南理工大学学报 ( 自然科学版) 201837(2)29-35

[2]   夏梁梦郑武梁孟狄 爆破网络中常见编辑功能设计与实现

[J] 电脑编程技巧与维护2015(1)18-20[3]   吴亮鲁帅磨季云等 建(构)筑物爆破拆除中的力学原理与

教学[J] 成都师范学院学报201632(9)111-116[4]   张欣

圆形及方形截面烟囱爆破拆除计算机辅助设计[ D] 包头内蒙古科技大学2007

[5]   杨仁树马鑫民李清等

煤矿巷道掘进爆破智能设计系统及

应用[J]

煤炭学报201338(7)1130-1135[6]   白润才邓超刘光伟

露天矿爆破设计三维可视化系统[ J]

金属矿山2014(9)116-120[7]   张袁娟可杰农冬灵 数值模拟在爆破工程教学中的应用探

讨[J] 西部探矿工程201628(1)195-196[8]   郁晓华肖敏王美玲等

基于可视化编程的计算思维培养模

式研究mdashmdashmdash兼论信息技术课堂中计算思维的培养[ J]

远程

教育杂志201735(6)12-20[9]   马建兴刘占虎王文才 爆破实验课的教学研究[ J] 实验室

科学201518(1)142-144[10]   何姣云 基于计算机技术的爆破工程实验教学探索[ J] 湖北

水利水电职业技术学院学报20128(3)40-43

55

Page 4: 爆破网络设计的可视化编程教学探索与实践 · 爆破网络设计的可视化编程教学探索与实践 ... 综合学习应用能力,结合凿岩爆破课程中爆破网络设计的问题探讨了将爆破网络设计内容结

李煜等铰链四杆机构实验远程虚拟仿真的研究与实践

数运行虚拟系统观察仿真结果验证设计要求最后浏览ldquo实验测试rdquo界面回答本实验相关问题并

提交答案 运行虚拟仿真实验界面下图 6 所示

图 6  曲柄摇杆仿真界面

4  结语

本文以ldquo铰链四杆机构虚拟仿真rdquo 实验项目为

例介绍了在开源的 Eclipse3 2 集成开发平台中使

用功能强大简单易用的 Java 语言开发具体虚拟实

验项目的一般过程并将其部署在性能稳定的 Web应用服务器 Tomcat 之上 学生通过浏览器借助现

代化的网络技术登录本校虚拟仿真系统即可完成本

次实验教学任务充分的拓展了实验教学的时间和

空间实践证明以学生自主式线上讨论线下交流

式的新型互动式实验教学模式激发了学生的学习

兴趣和潜能充分体现了ldquo以学生为中心的实验教

学理念rdquo为虚拟仿真实验室建设提供了参考实例

参考文献(References)

[1]   教育部办公厅关于 2017-2020 年开展示范性虚拟仿真实验教

学项目建设的通知 [ EB OL]

[ 2017 ndash 07 ndash 13] http www moe edu cn srcsite A08 s7945 s7946 201707 t20170721_309819 html

[2]   万桂怡崔建军张振果 高校虚拟实验平台的设计及实践

[J] 实验室研究与探索2011(3)386-389[3]   程海丽张敬宗王献云等 谈虚拟仿真实验教学中心建设中

的ldquo虚实结合rdquo原则[J] 甘肃科技2017(3)23-25[4]   陈立平张云清 机械系统动力学分析及 ADAMS 应用教程

[M] 北京清华大学出版社2005[5]   伍祥生王克宏 Java2D

API 技术及其实现方法[ J] 中国图像

图形学报1998(8)698-701[6]   吕校春李玲莉

基于 Swing 的 Java

GUI 组件开发[ J]

制造

业信息化2008(5)129-131[7]   杨焱罗玉峰石志新

RRR-PRP 平面六杆Ⅱ级机构的运动

学仿真[J]

南昌大学学报(理科版)

2011(2)136-139[8]   王金龙宋斌丁锐

Node js一种新的 Web 应用构建技术

[J]

现代电子技术2015(38)70-73

10509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979(上接第 51 页)4  结语

通过以上程序对凿岩爆破过程中的打孔装药组网延时设置起爆等进行可视化的模拟可以让

学生直观感受到凿岩爆破过程以及针对不同爆破要

求设计不同爆破网络直观地观察到不同延期时间

在爆破网络中的实现过程 优点在于操作的可重复

性好安全性高成本低直观性更好缺点在于对于

爆破后的爆破效果在软件中未能实现后期的进一

步工作可以放在这一块 目前随着虚拟现实技术

的日趋成熟爆破技术的学习和检验亦可通过这一

技术实现安全高效低成本的运行

参考文献(References)

[1]   凌天龙武宇李胜林等 煤矿巷道光面爆破智能设计系统开

发与应用 [ J] 河南理工大学学报 ( 自然科学版) 201837(2)29-35

[2]   夏梁梦郑武梁孟狄 爆破网络中常见编辑功能设计与实现

[J] 电脑编程技巧与维护2015(1)18-20[3]   吴亮鲁帅磨季云等 建(构)筑物爆破拆除中的力学原理与

教学[J] 成都师范学院学报201632(9)111-116[4]   张欣

圆形及方形截面烟囱爆破拆除计算机辅助设计[ D] 包头内蒙古科技大学2007

[5]   杨仁树马鑫民李清等

煤矿巷道掘进爆破智能设计系统及

应用[J]

煤炭学报201338(7)1130-1135[6]   白润才邓超刘光伟

露天矿爆破设计三维可视化系统[ J]

金属矿山2014(9)116-120[7]   张袁娟可杰农冬灵 数值模拟在爆破工程教学中的应用探

讨[J] 西部探矿工程201628(1)195-196[8]   郁晓华肖敏王美玲等

基于可视化编程的计算思维培养模

式研究mdashmdashmdash兼论信息技术课堂中计算思维的培养[ J]

远程

教育杂志201735(6)12-20[9]   马建兴刘占虎王文才 爆破实验课的教学研究[ J] 实验室

科学201518(1)142-144[10]   何姣云 基于计算机技术的爆破工程实验教学探索[ J] 湖北

水利水电职业技术学院学报20128(3)40-43

55