3D-printed-mirror-array:可投影任意图案的3D打印六边形镜阵

物理学 2026-10-25 18 阅读

一个开源项目,提供计算镜面角度并生成3D打印模型的Python代码,把六边形镜阵排布成能将阳光反射到指定焦平面、形成任意图案的装置。

这个工具是什么

该项目由 Ben Bartlett 发起,最初用于设计一个在日落时把阳光反射到地面拼出求婚文字的镜阵,随后将生成3D打印模型的全部源代码公开。技术基础是几何光学中的反射定律:已知每面镜子的位置、对应目标像素位置以及太阳方向,通过求入射方向与目标方向夹角平分线得到镜面法向量,进而确定每面镜子的三维朝向。代码以 Jupyter Notebook 编写,依赖 numpy、matplotlib、numpy-stl、hexy,可选 vpython 做光线追踪可视化,输出可打印的 STL 模型。README 说明可较直接地修改代码,以把任意图像投影到任意焦平面。

核心能力

  • 根据镜面位置、目标像素与太阳方向求解每面镜子的三维朝向
  • 生成可导入3D打印机的STL镜阵模型,镜面按计算角度排布
  • 提供光线追踪可视化选项,便于检查反射路径是否符合预期
  • 代码结构便于替换目标图像与焦平面,适配不同投影需求

科研中的典型用法

  • 设计户外光学装置:把指定文字或图案反射到地面、墙面等焦平面
  • 作为几何光学与向量反射的教学示例,演示法向量求解与光线追迹
  • 在3D打印与光学交叉项目中,快速生成带特定倾角的镜面阵列结构

快速上手

准备 Python 3 与 Jupyter,安装 numpy、matplotlib、numpy-stl、hexy,如需渲染光路再装 vpython。按 README 的 Supplies 清单备好 FDM 打印机、PLA、1 英寸六边形镜片和不固化膨胀的胶水。运行 Notebook 计算镜面角度并导出 STL,打印后把镜片粘到对应位置;胶层要薄,以免影响敏感的镜面角度。

生态与相近工具

同类工作多集中在计算光学与3D打印结构设计,如用于太阳能聚光的定日镜阵列或艺术投影装置。该项目侧重可打印模型生成与光路计算,不涉及硬件控制。若只需静态图案投影,可直接复用其代码;若需要动态或闭环控制,则需另行搭建跟踪与驱动部分。

项目信息


本文属于《学科研究工具知识库 · 物理学》第 7 篇(按 GitHub 星标排序)。收录标准:该学科公开可获取的开源研究工具,星标与活跃度为主要参考,不代表对其性能或适用性的背书;选型前请结合自身场景评估。

评论 共 0 条

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部