夹角函数与静默的共振(第1页)
赵逸坐在陈昭家客厅靠窗的单人沙发上,面前摊着自己的笔记本电脑,屏幕上是GIS软件的复杂界面和正在编写的Python脚本。窗外,午后的阳光在香樟树叶上跳跃,投下晃动的光斑,但他几乎没注意到。他的全部注意力,都集中在构建那个“规划-现实”向量夹角的量化模型上。
联赛是昨天结束的。走出七中的考场,夏日的热浪和嘈杂的人声瞬间将他包裹,与考场内极致的安静和紧绷形成鲜明对比。他没什么特别的感觉,题做完了,该用的方法都用了,有几道卡点最终也解开了,剩下的交给评分标准。脑海里残留的,是最后一道组合极值题那精巧的对称构造,像一件完美的折纸作品,在思维中缓缓展开的瞬间带来的纯粹快感。
但这种快感是私密的,短暂的。回到家,打开手机,涌入的是班级群里关于答案的激烈争论,父母克制的询问,以及一条条或明或暗的、关于“考得怎么样”的试探。他将手机调成静音,扔在一边,先洗了个漫长的热水澡,洗去考场里沾上的、混合着油墨和紧张汗水的黏腻感。然后,他打开了电脑。
不是对答案,也不是放松。他几乎是一种惯性,点开了那个名为“北站研究-资料库”的共享文档。然后,他看到了陈昭上传的王工程师访谈摘要,和那些珍贵的、泛黄的手绘蓝图扫描件。
几乎是瞬间,联赛带来的那种悬浮的、需要“着陆”的感觉消失了。他的思维自动切换了轨道。蓝图,规划意图,矢量化,偏差分析,空间自相关……一连串的专业术语和操作步骤在他脑海里自动生成流程图。这是一种比解数学题更复杂的“建模”过程,涉及的变量更多维(空间、时间、政策、情感、感知),关系更非线性。但挑战性也正在于此。
他开始在GIS软件中加载陈昭她们矢量化好的规划图层,与自己之前做的土地利用变迁图层进行空间叠加和差异计算。算法运行需要时间,他利用间隙,快速浏览了陈昭她们整理的情感记忆地图提炼和问卷的初步空间分析。看到她们用“情感编码”和“热力图”来可视化那些非结构化的记忆和感知数据时,他微微颔首。这种方法虽然粗糙,但有效,尤其是在资源有限的情况下,是一种聪明的“降维”处理。
当“规划-现实”偏差的计算结果以色差图的形式呈现在屏幕上时,他立刻注意到了那几个与问卷负面评价区域高度重合的深色斑块。这不是巧合。他调出莫兰指数的计算模块,准备验证这种空间聚集的显著性。同时,他开始在市政府公开数据平台和市档案馆的线上检索系统里,搜寻北站片区后续的详细性规划、控制性规划等文件。他需要确认,最初的规划意图是否在后期被官方修正,以排除“规划本身改变”这一干扰因素。
这就是他今天坐在这里,在小组讨论中迅速给出完整分析框架和“夹角”模型的原因。那些结构、方法、可视化方案,在他看到蓝图和偏差分析图的那一刻,就已经在他脑海里完成了初步构建。讨论只是将它们用语言表达出来,并分工落实。
此刻,他正专注于计算那几个关键偏差区域的莫兰指数,并编写一个简单的脚本,来动态生成“规划向量”和“现实向量”的夹角动画。向量用起点坐标、长度和方向角定义,夹角用反余弦函数计算,动画用matplotlib库实现。这些对他而言是基础操作,但需要调整参数,使视觉效果清晰直观。
他的思绪偶尔会飘开一下,比如注意到陈昭在向林薇解释某个记忆标签时的耐心细致,或者尹棂和张铭宇为某个图表配色争论时略显幼稚但充满活力的样子。这个小组的氛围,和他熟悉的竞赛团队或四中实验室里的氛围很不一样。这里没有那么强的竞争感和效率压迫感,更多是一种基于共同兴趣的、略带散漫但又不失目标的协作。陈昭是那个隐形的核心,她不是最强势的,但她的沉静、清晰和包容,似乎天然地将这些性格各异的人粘合在一起,并引导着方向。
他不讨厌这种感觉。甚至觉得,在这种氛围下处理一个多维度、跨学科的真实问题,比在纯竞赛环境里解抽象的难题,多了一份沉甸甸的、与脚下土地相连的实在感。
“赵逸,”陈昭的声音打断了他的思绪,她端着一杯水走过来,放在他旁边的茶几上,“空间自相关的结果出来了吗?”
赵逸从屏幕上移开目光,点了点头,将电脑屏幕转向她一些:“嗯。这三个区域的问卷负面评价,空间自相关指数显著为正(MoransI>0。3,p
陈昭俯身看着屏幕上那些带着星号标记的统计结果,眼睛微微发亮:“太好了!这就能更强地说明,不是个人矫情,而是那个‘地方’本身出了问题。”
她的发梢随着俯身的动作,轻轻扫过他的手臂。很轻,几乎感觉不到,但赵逸敲击键盘的手指几不可察地停顿了半秒。
“嗯。”他应了一声,将视线移回自己的代码界面,手指重新开始敲击,“动画的初版代码写好了,你们看看效果。”
他运行脚本,屏幕上出现了之前他描述的简易动画:原点,虚线向量,实线向量,变化的夹角阴影。他调整了几个参数,让动画更平滑,向量长度和角度根据实际数据(规划面积vs实际面积,规划功能vs实际功能)进行比例缩放。
“哇!出来了!”张铭宇第一个凑过来,“虽然看不懂代码,但动画牛逼!一目了然!”
尹棂和林薇也围过来看,纷纷表示直观易懂。
“可以把这个动画,作为我们展示的核心线索,”陈昭思考着,“先播放整体,展示概念。然后,分区域播放,每个区域对应我们记忆地图的片段、问卷的热点、还有王爷爷蓝图上那个地方的原始规划……就像用动画把所有的线索串起来。”
“对!”尹棂兴奋地接话,“就像破案!动画是推理过程,其他都是证据!”
赵逸听着他们的讨论,手指在触摸板上无意识地滑动。他想到的,是用更复杂的交互式图表,比如用Plotly库,可以鼠标悬停查看每个向量的具体数据,点击跳转到对应的详细证据页面。但看到陈昭她们对现在这个简单动画就已经很满意,并且能迅速联想到如何将其融入叙事,他觉得,或许简单直接的形式,对这个阶段和他们面对的观众(中学生、老师)来说,更加有效。
“交互功能,可以后续再加。”他开口道,算是认可了目前的方案,“先确保核心逻辑和叙事流畅。”
“好!”陈昭点头,看向他,“那空间分析的数据和初步动画源文件,你共享到文档里?我们其他部分做好后,再统一整合、调整节奏。”
“嗯。”赵逸开始打包文件。
接下来的时间,每个人重新进入专注的工作状态。客厅里只剩下键盘敲击声、鼠标点击声、偶尔翻动纸张的沙沙声,以及张铭宇小声嘀咕“这个颜色好像不太和谐”的自言自语。阳光在房间里缓慢移动,温度渐渐升高,空调卖力地运转着。
赵逸完成了手头的工作,将数据、代码和动画初版上传到共享文档。他活动了一下有些僵硬的脖颈,目光再次落向那幅摊在餐桌上的手工记忆地图。彩色的便利贴在光线下显得有些斑驳。他起身,走了过去。
他站在地图前,目光扫过那些手写的、充满情感色彩的短句。有些字迹娟秀(应该是陈昭或林薇),有些略显潦草(可能是尹棂或张铭宇)。“蒸汽机车的汽笛,是城市的脉搏。”“搬家的卡车开走时,老邻居在阳台挥手,再也没见过。”“新商场很亮,但走进去不知道该干什么。”“再也找不到那家熬通宵后必吃的蹄花汤。”……