下一章 上一章 目录 设置
5、第 5 章 建模大赛 ...
-
建模大赛的第一次组队会议定在周五下午。
地点是程错的实验室——顾忍冬收到通知的时候盯着"实验室"三个字看了几秒。大一新生通常没有独立实验室。程错有大三才有——但她占的那间据说是整个机甲工程系最偏的一间,在崇德楼副楼四层走廊尽头,紧挨着废弃耗材仓库。因为偏,没人跟她抢。
顾忍冬提前十五分钟到了。走廊很长,灯是声控的老款,走两步亮一截,身后那截又灭了。她觉得自己像是在被一截儿一截儿的光追着走。
实验室的门没有锁。
正确的说法是——门曾经有锁,但锁被人拆了。拆锁的人没有把锁装回去。门把上方的锁孔里塞着一小块磁吸垫片,垫片上贴了一张便签纸,上面写着四个字:
「进来就行」
笔迹很用力。不是生气的用力——是写字的人习惯用实体触感笔在智材绘板上画结构图的手劲。程错是机甲工程系众所周知的"古典派"——别人用全息手势在空中拖拽模型,她偏要用触感笔在实体板上一笔一笔画。她说这样"力反馈更准"。
顾忍冬推开门。
实验室内部跟走廊之间隔了一道视觉结界。走廊是旧楼的白墙和声控灯——实验室内是另一个宇宙。三面墙上挂着智材显示板,有些年头的板子磷光涂层已经开始衰减了——边缘区域亮度不均,局部泛出淡淡的暗斑——但板上每一张结构图都标注得清清楚楚,手写的批注字迹跟便签纸上的一模一样。中间一张大工作台上躺着一台被拆了一半的旧终端,内里全露着——主板、光纤排线、散热模块——旁边放着一把焊枪和两把不同尺寸的螺丝刀。角落里堆着大概是三个学期的废弃零件,叠出了一座半人高的小山。
然后有一个女生蹲在零件堆前,背对着门,正在翻找什么。
她个子不高,蹲下去的轮廓几乎被零件堆吞没了。头发扎成低马尾,马尾尾端有一点点被焊过的痕迹——长期在焊接环境下头发末端蛋白质变性形成的那种特殊的焦。
"程错学姐。"
蹲着的女生转过头。护目镜上有一道明显的焊痕,从镜框延伸到镜片边缘——她被这道痕迹挡了一只眼睛,但另一只眼睛还是直直地看向来人。然后她站起来,右手还攥着一把刚从零件堆里翻出来的电磁阀。
"——顾忍冬?结构力学满分那个。"
"是我。"
程错点了下头。没有寒暄。没有"你好"。她看了一眼手里的电磁阀,又看了一眼顾忍冬,然后说了句"等一下",走进工作台后面,从满桌的工具里拔出了一张折叠椅。她把椅子摊开,推到顾忍冬面前。然后自己坐回工作台前,把电磁阀夹在夹具上,开始拆。动作很熟练——先把外壳的四个螺丝同时拧了,然后左手压住阀体、右手把外壳撬开。整个过程大概没有超过十五秒。
然后她才再次抬头。
"队长的事。我说明一下。我不是主动当的——系统随机分配,分配完之后十分钟我提交了队长转让申请——被教务系统驳回了。驳回理由:'请等待至少一个队内成员同意接任'。我找了你们两个——小飞还没回我,你应该看到了我发的消息。"
顾忍冬看了一眼终端。程错确实给她发过一条消息——只有一行字:「你能当队长吗。我不太适合。如果你也不适合,我们可以一起想办法把队长权限拆了。」
消息发送时间是凌晨两点四十三分。
"看到了。我不太适合当队长。"
"没关系。那我们继续想办法拆。另外,这个实验室有点乱——但功能都在。墙角那个箱子是饮料箱,里面有能量饮料——自己想喝拿。"
她把拆开的电磁阀放在检测座上,通上电。电磁阀发出了一声轻微的"嗡"——然后安静了。她看了一眼读数,皱了皱眉,然后把阀卸下来扔进了另一个箱子里——箱子上贴着一张标签:「待修」。
"学姐,"顾忍冬说,"你刚才拆的那个——是电磁阀,对吧。"
"嗯。"
"拆了大概十五秒。"
"嗯。"程错扭头看她,以为她在质疑,"——太慢了。我知道。但这个阀体是旧款,卡扣位置跟新的不一样,第一下撬错了方向。"
顾忍冬沉默。
**「我说的是'拆了十五秒'——意思是'太快了'。她理解成了'太慢了'。这个人不但不会寒暄——她连被夸奖都听不出来。」**
就在这时候,门开了——不是推开,是撞开。力道没控制好,门板差点砸到旁边的零件堆。
"大家好!!!我来了!!!"
一个男生冲进实验室。头发是乱的中分,身后背着一个转播背包——星网直播级别的全息采集模块、备用电源组、一□□立的全息渲染引擎,装备很专业。但三块全息屏都熄着——两块副屏折叠收纳在背包侧面,主屏也没亮。他进门之后先左右看了一眼,然后目光锁定了蹲在零件堆前的程错。
"大家好!!!我来了!!!"
"我叫小飞——机甲系大二,做星网机甲直播的——之前我跟顾忍冬在食堂见过——"他转头看到程错,"这位就是程错学姐吧!!我听人说了你把队长的权限拆了吗真拆了?!!"
程错看了他一眼。那种目光跟鱼丸看新来的猫粮时完全一样——"你能不能安静一秒钟然后坐下来。"她没把这句话说出来。但她的沉默和不说话,比说出来还清楚。然后她的视线移到了他背后的直播背包上,在熄着的全息屏上停了一秒。
小飞立刻接收到了。两件事。第一件事是安静,第二件事是那个背包。他先把声音压低了大概一半——还做不到正常音量,但已经算让步了。然后补了一句:"没开!我知道规矩——战术讨论不直播。装备是刚从实训室带过来的,还没来得及放回去。"
程错的目光从直播背包上移开了。没有表扬。没有"谢谢你的配合"。她的"不追究"就是认可。
小飞松了口气。"好的好的——那我们开始开会。队长你先说。"
程错看着自己的终端。"队长的事我说好了。我不太想当。但系统不让退。所以这个会我先按流程主持——建模大赛赛题是前天才公布的,我在读赛题之前先组了队。因为我算过——不先组队的话,报名截止前肯定找不到人。"
"所以你是先拉人再看题的。"小飞总结。
"是。看题是组队成功之后的事。"
"然后题是什么。"
程错在终端上划了一下。一张全息投影从实验室正中央升起来——建模大赛赛题。蓝色全息光构筑出的战术场景,在散落的零件和拆了一半的终端上方旋转。实验室瞬间有了指挥部的气氛——即使那气势大半来自灯光。
> **「星区赛题目:虫洞引力异常区·三台轻甲如何牵制一台重甲」**
>
> 假定战场为不稳定的虫洞引力异常区——重力场波动范围在0.8至1.6倍标准重力之间。蓝方——三台轻型突击型机甲。红方——一台重型火力型机甲。目标:蓝方在红方突破防区之前完成牵制任务——至少拖住红方二十分钟。允许使用地形优势、骚扰战术、假信号诱导等一切非正面对抗手段。"
小飞吹了声口哨。"三轻甲拉住一重甲——二十分钟不放。这差不多是——让三条猎犬在不被碾死的前提下拖住一头大象。"
程错没接这个比喻。她正在用另一种方式解析赛题。"重甲的优势是装甲厚度和一对一碾压。弱点是机动性差——虫洞异常区的重力场在天平上乱跳,对重甲的能耗管理是致命的。那边的力矩反馈总成要做好至少在三个不同重力区间内重新校准力矩的准备。"
"轻甲呢。"
"轻甲的优势是机动性——在变重力场里,轻甲更容易调整姿态。弱点是装甲太薄,重甲一炮就能打穿。所以三台轻甲不能同时出现在重甲的正面火力覆盖区——必须有至少一台在侧翼游走、一台伪装主攻、一台负责干扰对方的传感器判断。"
顾忍冬没有说话。她在看那道题的全息投影。手指在膝盖上敲了两下。
这道题她好像做过——但不是在学校里做的。
不在模拟器上,也不是在考场上做的。是八岁那年,矿星第七农业区的废弃矿区里,三台采矿轻型机甲围着矿坑边上失控的运矿重甲——它失控了,某个操作员操作不当导致重甲的动力模块进入超速运转。三台采矿机甲的操作员只能在矿坑边上找掩体,硬是拖住了它半个小时,再硬拖到联邦矿用机甲安全组赶来。
那时她爸在这场事故中。当时他帮一胎驾驶采集机甲弄出了一套方案——在矿坑的东西两侧轮流做伪动作,让重甲的目标追踪系统在两套虚假目标之间反复切换。矿星上没有引力异常区,但有高低差矿渣山和好几个地下矿洞入口——地形比虫洞区还复杂。
她爸管这套方案叫"遛狗"。
不是什么精密战术——是矿星老师傅们的土办法。
但是土办法里有一个很关键的点:重甲的AI目标追踪算法在双目标切替时有个零点几秒的延迟——这意味着如果你在两套假目标之间切换的节奏刚好跟它的AI扫描频率同步,它的主控系统会被诱导入一种类似震荡的状态——左右反复切替,哪个都锁定不了。这个BUG联邦手册上不会写——是矿星上的人在实际作业中无意发现的。
她盯着那个场景。三台轻甲的蓝点,在变重力场中绕着一台重甲的红点转。
**「一样的题。不一样的包装。」**
**「但这次没有矿坑给我钻。要做数学模型了。」**
"你在想什么。"
程错注意到她盯着模型很久。
顾忍冬眨了眨眼。"——我在想——重甲的目标追踪AI在双目标切换的时候——如果切替频率刚好跟扫描频率对上,是不是会出现震荡——就是左右反复切替哪个都锁定不了。"
安静。
程错看了她一眼。那种目光——不是惊讶,是一种"你从哪里知道这个的"警觉。她在军工世家长大。她知道有些缺陷在公开手册上从来不会写。
"有这种人。在频率上切替精准的情况下——重甲的AI确实会出现震荡延迟。延迟时间大概在零点三到零点五秒之间。但你得先明确目标追踪的AI扫描周期是多少——这个在战术手册上没写。是个空白。"
"AI扫描周期可以反推。假设标准重甲的目标切换响应时间是零点八秒——这里头有扫描时间、处理时间和指令下发时间三段。如果能拿到处理时间和指令下发时间的参考值,减去后就是扫描区间。然后用仿真模拟去逼近。"
程错摘下护目镜,第一次用两只眼睛完整地看顾忍冬。
"你爸是做什么的。"
顾忍冬的手指在膝盖上停了一下。
"矿星维修员。"
程错没有继续问。她只是把那句话收在了护目镜擦干净之后重新架回去的动作下面。
小飞在旁边已经盯了半天全息模型。他的表情有点像在看直播弹幕——不是看热闹,是职业病发作了。"所以——这个战术的核心是骗。三台轻甲谁都不跟重甲正面打。它们就遛它,溜到它系统震荡了——就赢了。"
"对。但数学模型还没算。变重力场对假信号的传播速度和衰减系数都有影响——得把虫洞异常区的重力波动函数代进信号传播模型里,看假信号在不同重力值下能不能稳定维持。"
"这个谁来做?"
顾忍冬想了想。"我。"
程错已经开始分配了。"我负责机甲结构分析——轻甲在这个重力场里跑二十分钟,关节的摩擦损耗会比平时高至少30%。我得算出来哪几个关节最容易出问题、以及需要带什么备用件。小飞——你负责全息模拟和可视化。把模型搭出来,让评委看得懂我们在做什么。"
"懂了!!我有直播的转播设备——全息模拟渲染靠我的副屏搞定——"他忽然想到什么,立刻又压低声音,"——对不起我是不是又喊太大声了——"
程错点的头。幅度大概只有两度左右。算是同意了。
顾忍冬打开自己的终端,开始写第一层模型。她从赛题说明文件里抓取了虫洞异常区的重力场波动曲线——一个分段函数,在不同时间区间内的重力值上下跳动。她把那段曲线导进数学模型里,然后开始往里面代假信号的传播参数。
手指在键盘上打得很快。偶尔停下来想一想——不是在找公式,是在回想锦蓝星矿坑那次事故的时间线。
一台重甲失控后第一反应是什么?——往阻力最小的方向走。矿星上是开往矿渣山的方向——因为那是一条直路。虫洞异常区呢?——重甲的AI会优先选择重力值最接近标准星的路线,因为那是对发动机最经济的。
那么如果把假信号布在重力最不稳定的区域——重甲追不追?追——能耗浪费。不追——AI判定目标消失,系统又会切回扫描模式。进退都是损耗。这就是牵制。
她往下计算,越来越投入。
小飞把全息模拟引擎启动了。他的副屏展开,三台蓝色轻甲的线框模型出现在空中——还没上材质和光影,只是最原始的几何轮廓。他把顾忍冬的数学模型导进去,开始搭第一版全息演示框架。动作很快——手指在副屏上拖拽模型节点的方式带着一种长时间练出来的流畅,但这次不是为了取悦观众,是在搭骨架。
三个人。一间边角实验室。一台拆了一半当板凳坐的旧终端。一个头上几乎盖着护目镜但手上没停过的机械狂人队长。一个把全部精力压缩在数据层里的数学模型——键盘旁边还放着她自己带的酱菜盒,她还没吃午饭。
外面走廊上有人在过——是自动化系的一支建模队伍,经过的时候往里瞥了一眼。一个女生说:"这个实验室怎么还在用旧款终端——他们真打比赛?"
程错没有抬头。
顾忍冬没有抬头。
小飞抬起头了——但他抬头是为了调全息模拟的渲染视角。
"角度好了——来——开始跑第一层模拟。"
---
三个小时过去了。
第一层模型跑通。程错的关节损耗计算完成了初步分析——轻甲左膝力矩反馈总成在1.6倍重力区的损耗率比预期高出了百分之十。她当即在智材绘板上开了一张新的结构图层,触感笔在上面勾了六条线——每条线都精确到毫米。
"这个关节得加一根辅助支撑杆。不然二十分钟撑不到——第十一分钟左膝就爆了。"
顾忍冬看了一眼绘板上的图层。"支撑杆加在这里会影响机动性吗。"
"不影响。它在关节外侧——不干涉运动范围。但它会增重0.7公斤。"
"轻甲上限是多少。"
"标准型轻甲的最大战斗全重是7.2吨。0.7公斤可以忽略。"
"你是在用毫米和百分比的精度做鸡毛蒜皮的事。"
程错抬起头。"不鸡毛蒜皮。重甲一炮过来的时候,少一毫米钢片都可能把腿炸飞。"
她从来没开过真机甲。她只是把所有拆过的机甲当成了生命。
小飞把全息模拟渲染了第一版——三台蓝色轻甲在虫洞异常区的全息投影里跑了起来,中间红色重甲在追。视觉效果是好的,但画面左下角时不时闪出一段红色警告——假信号衰减。三个人同时盯着那行红色的警告。
"假信号断了。"小飞说。
顾忍冬盯着警告。假信号在重力值突然跳升的时候衰减——1.6倍重力区,假信号的传播距离缩短了大概百分之四十。这意味着在重力波动最大那段时间——假信号在维持链路,但重甲扫描不到它。
"得把假信号的布放位置沿着重力值过渡带移动。不让它进高重力区——在高重力区边缘切换到下一个假信号,让重甲的目标追踪AI一直追。追到了不会被爆——追不到又立刻切下一个。"
程错想了想。"可行。像接力。"
"就是接力。矿星上的操作员也是这么干的。三台车在矿坑边上排成接力线——重甲追一台,另一台立刻从对面出现——重甲的AI切换目标——再换台——节奏带住。"
她差点说"我爸"。把这两个字吞回去的时候,口腔上颚像被什么扎了一下。
程错又看了她一眼。这次护目镜全程没摘,眼神完整的——但她什么都没说。
---
晚上八点。
第一天的组队会议差不多该收了。小飞把全息模拟引擎收进背包,精神还处于亢奋状态——"今天我们跑了第一层模型!!!三层模型之后就可以交初稿了!!!下周末之前交上去来得及——"
程错从工作台前站起来,把护目镜推上额头。她的眼睛周围被镜框压了一道浅浅的印——戴太久了。
"今天进度不错。"她说。没有"非常好"与"还行"之间的修饰层。就是陈述。
顾忍冬把键盘收了。她的终端桌面还开着第一层模型的数据图——她盯着某一条线又看了两眼,然后用手指在上面轻轻划了一下,把波动曲线的高重力区用红色圈出来——标注:"遛狗带——别进这里。"
她把终端合上。
"学姐,有个问题。"
程错转头看她。用沉默说"问"。
"你为什么怕当队长。"
程错没有立刻回答。她把护目镜从额头上摘下来,拿在手里翻来覆去地折了两下镜腿——旧护目镜的镜腿已经很软了,被调过至少几十次屈光角度。
"我管不了人。我连我自己都管不好——你看这间实验室。拆了的都没装回去。待修的从来没修完过——标签"待修"的箱子从大一下学期到现在一直是满的。如果我把队长权限拆了——"她停了一下,"如果我拆了——我就不用背着别人的进度了。"
她垂下眼睛看着地上半米高的零件山。
"我不想让人失望。不让人失望最简单的办法就是不当队长。"
顾忍冬看着那个零件堆。上面有一颗滚珠——从某台旧机甲关节里拆下来的。滚珠旁边是一小块写着"待修"的标签。
"学姐,"她轻声说,"你刚才知道我说的'遛狗'战术有AI震荡延迟——因为你在看到题的第一时间就查过了,对不对。"
程错的动作停了一下。
"不是你拆开的东西才属于你身上的那部分。你没拆的——你查的——也算你的。"
程错没回答。她把护目镜重新推上额头。动作很慢。
然后她说:"明天继续。"
这是她能说出来的最接近"谢谢"的话。
---
顾忍冬走出崇德楼副楼的时候,天已经全黑了。竹子在路灯下晃得很厉害——今晚风大。
终端震了一下。沈绿腰在307的群里发了一条消息:
> **「今天建模第一战战况如何!!!我们能不能拿第一!!!快回来说!!!白露煮了咖啡而且把半台洗衣机拆了又装回去了但她装回去的时候发明了一种新结构——洗衣程序自动加了预洗阶段。这个人根本没学过机械工程但她把投币洗衣机的逻辑芯片黑了。」**
另一条。白露发的:
> **「那个,我好像不小心开启了它的工程师调试模式。它现在不投币也能洗。我算了一下,按这个进度,我们宿舍到毕业之前可以省大概四百八十枚硬币。——但不要告诉学校。」**
顾忍冬弯了下嘴角。
**「还行。第一层模型过了。」**
她回完,把终端按灭。
鱼丸蹲在副楼门口的石墩上等她。今晚的鱼丸没有"就这"的眼神——它只是安静地蹲着,然后跟在她身后走回竹苑。走的时候尾巴还是翘着的。
今晚走廊归鱼丸,也归她。
但她的手心里还留着操纵杆包胶的触感——那种微凉的、胶质表面在她大拇指根部产生摩擦的感觉。她在来建模会的路上加练了一个多小时模拟舱。明天还要继续加。
因为今天程错问她"你爸是做什么的"的时候,她说矿星维修员。她没说往下——她爸还是什么都修的维修员,也是一台从未能上战场的轻甲驾驶员。
总有一天她会需要回答这个问题的。她需要的不只是理论。
她也需要那双手的成绩。