基于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