基于WM的非抛物线弹道设计

一、引子

近日在网上检索教学资料,偶然看见美丽的弹道曲线,就想在WorkingModel中模拟一下。

其实,在WorkingModel中实现对弹道的模拟是比较容易的,只需要赋予小球一个斜向上的初速度,并考虑空气阻力就可以了。

但是如果抛射体是一枚卵圆形的炮弹,让炮弹一边沿着弹道飞行、一边改变弹头指向,就相当困难了。

二、基于WorkingModel的弹道曲线设计

在WorkingModel中首先构建两个控制条,一个控制抛射角度,一个控制抛射速度,随后构建一个质量和转动惯量都很大的长方体,最后再构建一个质量和转动惯量都很小的弹头。

将长方体和弹头的质心重合在一起,在公共质心上安装一个电动机,而电动机的角度被预设的变量控制。

当长方体和弹头一同被发射出去以后,随着运动方向的不断变化,测算出长方体的速度方向与水平方向的夹角,并让这个夹角作为变量控制电机旋转的角度,电机驱动弹头旋转至与弹道曲线相切的位置,进而实现一边飞行、一边旋转的目的。

利用控制条控制弹头的初始速度和角度

vx=input[3]*cos(input[2]/180*3.14)

vy=input[3]*sin(input[2]/180*3.14)

利用函数控制电机旋转

if(t=0,input[2]/180*pi,atan(body[5].v.y/body[5].v.x))

其物理意义为:初始情况下,角度取角度控制条预设值;在程序运行中,角度取长方体速度与水平方向的夹角。

对于长方体速度与水平方向的夹角计算,可以先测算出长方体的竖直速度分量和水平速度分量,然后相比,再求反正切即可。

随后,把电机和长方体隐藏,只保留弹头和两个控制条,运行程序,可以看到弹头指向与弹道曲线时刻保持一致。

45度抛射角时的弹道

45度抛射角时的弹道

60度抛射角时的弹道

三、心得

在学习和研究WorkingModel的过程中,使用者可以用自己的创造性思维弥补软件自身的不足,以提高作品设计的质量。

| 创客焦作 | 

河南创客焦作是焦作市创客教育名师工作室的微信公众平台,以创客教育为主要研究方向,分享创客案例,讲解创新方法,启迪创意设计,开展科学探究,组织社会调查,指导论文写作,参加创客大赛和专利申请,发现、培养和成就一批具有创新潜质的学生。

河南公众号码:chuangkejiaozuo

河南名师博客:http://blog.sina.com.cn/updays

(0)

相关推荐