Flip-card:用 Rust 编写运行流体模拟的名片式设备
flip-card
是一个结合了硬件设计和软件实现的项目,旨在通过名片式设备展示流体模拟(FLIP)效果。
它利用了现有的流体模拟算法和硬件设计,通过 Rust 编程语言实现了高性能的固件,并提供了调试工具以便于开发。
项目概述
- 目标:创建一个名片大小的设备,能够运行流体模拟(FLIP)。
- 灵感来源:该项目受到 mitxela 的流体模拟挂件项目启发。
- 技术基础:流体模拟逻辑基于 Matthias Müller 的工作,他通过 YouTube 频道 “Ten Minute Physics” 展示了相关技术。
项目结构
- PCB 设计文件:位于
kicad-pcb
文件夹中,包含用于制造名片式设备的电路板设计。 - 流体模拟逻辑:包含在独立的 Rust crate 中,位于
fluid_sim_crate
文件夹。 - 可充电电池设计:借鉴了 cnlohr 的 tiny touch lcd 项目中的 USB-C 端口设计。
- WebAssembly 模拟器:位于
sim_display
文件夹中,用于调试流体模拟中的问题。 - RP2040 固件实现:位于
flip-card_firmware
文件中,负责在硬件上运行流体模拟。
特点
- 流体模拟:基于 FLIP(Fluid-Implicit-Particle)算法,能够生成逼真的流体效果。
- 硬件设计:包含 PCB 设计文件,支持可充电电池和 USB-C 接口。
- 软件实现:使用 Rust 编写,确保高性能和可靠性。
- 调试工具:提供 WebAssembly 模拟器,便于在开发过程中测试和调试流体模拟逻辑。
详细信息
-
项目文件夹:
kicad-pcb
:包含用于制造名片式设备的 KiCad PCB 设计文件。fluid_sim_crate
:包含流体模拟逻辑的独立 Rust crate。sim_display
:包含用于调试的 WebAssembly 模拟器。flip-card_firmware
:包含在 RP2040 硬件上运行的流体模拟固件。
-
技术细节:
- 流体模拟基于 Matthias Müller 的 FLIP 算法。
- 可充电电池设计借鉴了 cnlohr 的 tiny touch lcd 项目。
- 固件针对 RP2040 微控制器进行了优化。
仓库:https://github.com/Nicholas-L-Johnson/flip-card
文章《使用 Trustfall 创建 CLI 工具》
Trustfall 是一个强大的查询引擎,可以将文件和 API 视为数据库进行查询。
作者通过一个 Docker 镜像管理工具的开发案例,详细介绍了如何使用 Trustfall。
项目的目标是查询和删除符合特定条件的 Docker 镜像。作者首先定义了数据模式,然后生成了初始代码,并逐步实现了查询逻辑。
他还介绍了如何处理不同数据源(如 Docker 和 Podman)的差异,并展示了如何通过 Trustfall 的查询语言执行复杂的过滤操作。
最后,作者通过一个 CLI 工具展示了如何使用 Trustfall 查询和操作 Docker 镜像。
阅读:https://xd009642.github.io/2025/08/18/Making-CLI-tools-with-Trustfall.html
讨论:专业的 Rust 开发人员可以做什么类型的项目?
“我几乎放弃了所有中级语言,转而选择 Rust。如果我需要性能、可靠性,或者计划构建更大的项目,我会使用 Rust。如果这些都不需要,我就用 Python。”
Reddit:https://www.reddit.com/r/rust/comments/1msyvjz/what_type_of_projects_to_professional_rust_devs_do/
--
From 日报小组 苦瓜小仔
社区学习交流平台订阅:
评论区
写评论还没有评论