本帖最后由 蒜薹 于 2017-5-5 09:37 编辑
基本介绍 在与军迷好友的聊天中发现,飞机的弹射起飞和机群起飞是一个很酷炫的事情,在三维平台上显示出来也将是很好玩的,所以开始寻找公开资料和三维平台的调试。 根据公开资料,制作了飞机弹射起飞的物理模型,在此感谢博士论文(孟祥印. 飞行甲板总布置设计中的若干问题研究[D]. 哈尔滨工程大学, 2011.)的作者,将复杂的机械、空气动力学等知识简化成了高中物理,整体降低了变成难度,非常好用。 三维平台使用的是blender,开源三维制作平台,支持建模、动画在内的很多功能。而且脚本语言使用python,易于上手,blender内部对python编程的提示明显,官方和社区支持丰富。这里要特别感谢blenderCN(blender中文社区,斑斓中国),不仅在编程,还有blender相关的很多方面都给予了很多支持。 第一阶段——飞机弹射起飞 基本思路 飞机弹射起飞的制作流程分为两步,不同时间飞机运动距离的计算和blender动画制作。 飞机的运动距离依靠牛顿第二定律,也就是高中所学的加速度公式进行计算。首先建立飞机的受力分析,参考上文所述博士论文即可,再建立飞机受力的加速度公式,最后使用数值积分求解每个时间点下的速度和运动距离,数值积分采用最简单的矩形法。 blender方面,将时间点与动画帧的时间对应,取每一帧上的位置,并赋予blender中的飞机模型。 代码 第一步的代码比较简单,使用任何支持数学计算的编程语言都可以完成,也可以进行人工积分。 第二步的代码主要完成的是将每一帧下,飞机的坐标赋予blender中的飞机模型,再将这个模型的坐标插入关键帧。具体实现依靠两步,首先遍历blender的每一帧,然后再每一帧中进行坐标的赋予和关键帧插入。
|