bencbartlett/3D-printed-mirror-array
⭐⭐⭐☆☆ (3/5)
🧩 软硬件结合
已发布
项目简介
3D-printable hexagonal mirror array capable of reflecting sunlight into arbitrary patterns
这是一个充满浪漫与工程巧思的开源项目。作者为了向同为极客的伴侣求婚,设计并3D打印了一个六边形镜面阵列,利用落日的光线在地面上拼出“MARRY ME?”字样。项目核心功能是通过算法精确计算每个镜面的倾斜角度,使阳光经反射后汇聚到地面指定位置,形成预设图案。其技术栈以Python为主,依赖numpy、matplotlib、numpy-stl、hexy等库进行几何计算与3D模型生成,并支持在Jupyter环境中交互式调试。项目解决了如何将任意图像通过镜面反射投影到任意焦平面的工程问题,核心算法基于向量反射定律:已知太阳位置、镜面中心坐标和目标像素位置后,通过计算入射光与反射光的角平分线来确定镜面法向量,进而生成每个六边形棱柱的3D打印模型。适用场景非常广泛,除了浪漫求婚,还可用于艺术装置、户外广告、天文观测辅助设备或建筑外立面的动态光影设计。用户只需修改代码中的目标图像和焦距参数,即可生成专属的镜面阵列模型。项目还贴心地列出了所需硬件清单,包括1英寸六边形镜片、PLA耗材和氰基丙烯酸酯胶水,并强调胶水需极薄涂抹以避免影响镜面角度精度。整体而言,这是一个将数学、编程、3D打印与光学巧妙结合的硬核浪漫项目。