https://image.ne0.io/avatar.webp

羽毛球馆场地预约脚本的失败尝试

学校的羽毛球馆自几年前起就需要在微信小程序上进行预约。预约系统比较 naive, 而且操作手感很差,导致往往很难抢到场地。

前段时间,Persona Live 确定首次在国内举办,笔者因为没有什么抢票的经验,所以为了确保成功,在 GitHub 上找到了一套在会员购上抢票的程序,配置之后发现竟然能 work(但是最后实际抢到票还是凭运气)。观察了一下这个程序的行为,想到可以自己尝试写一个脚本来抢羽毛球馆的场地。于是就开始了这次的折腾之旅。

如何理解相机的等效焦距公式

常见的消费级相机按照感光元件(CMOS)的大小,可分为全画幅和 APS-C(半画幅)。其它的还有更大的中画幅、更小的 M4/3 等。

对于同一焦距的镜头,不同 CMOS 的相机所拍摄到的画面是不同的。这是因为 CMOS 的大小不同,导致了画面的裁切。

基于 FFT 的无互锁的装箱算法

3D 打印中, 如何在打印机的工作空间 (通常是一个长方体) 中摆放物体是一个重要的问题. 首先, 装箱问题本身是一个 NP-Hard 的问题; 其次, 求解这一问题需要进行大规模的碰撞检测, 而对于非凸物体的碰撞检测并没有好的算法能实现; 最后, 如何检测摆放好的物体之间是否有互锁 (也就是说打印之后是否能分开) 也是一个重要的问题, 而这一问题目前并没有有效的算法能解决. 本文将介绍 Dense, Interlocking-Free and Scalable Spectral Packing of Generic 3D Objects 这篇文章中提出的基于快速 Fourier 变换的装箱算法. 这篇文章的主要贡献是将 FFT 应用于基于体素的碰撞检测以大大加快检测速度, 并通过这一算法给出了检测物体之间是否能分离的方法.