EcoSim 是一个空间显式(Spatially Explicit)的植被动力学模拟系统,旨在通过数学模型模拟从地衣(Lichen)到成熟森林(Tree)的生态演替全过程。
- 核心目标: 模拟并可视化生态系统的演替序列(地衣 → 苔藓 → 草本 → 灌木 → 乔木)。
- 技术栈:
- 前端: Vue 3 (全局脚本版,非模块化) + Tailwind CSS (CDN)。
- 计算引擎: 基于 GPU 优化的离散数学模型,使用预计算高斯核处理种子扩散。
- 可视化: 使用 HTML5 Canvas (ImageData 像素级操作) 进行网格渲染,Chart.js 展示种群动态曲线。
- 设计风格: 现代“磨砂玻璃”质感(Glassmorphism)UI 布局。
模型基于以下三个核心生态学过程:
-
种子扩散 (Dispersal):
- 物种根据其生物量(盖度)产生种子。
- 使用高斯核(Gaussian Kernel)模拟种子的空间传播。不同物种具有不同的扩散距离(λ)。
-
演替门槛 (Succession Barrier):
- 模拟“土壤成熟”过程。高等植物(如乔木)无法在裸岩上萌发。
- 只有当前格子的总生物量积累到一定比例(象征有机质和水分条件成熟)后,更高级别的物种才能成功萌发。
-
局部竞争 (Competition):
- 采用 Lotka-Volterra 竞争模型。
- 物种间存在不对称竞争:高等物种(乔木、灌木)通过遮荫等效应强烈抑制低等物种,而低等物种对高等物种的影响微乎其微。
- 承载力 (K) 受环境异质性(土壤深度)和气候类型(雨林、草原、苔原等)的修正。
该项目设计为本地零服务器运行,支持 file:// 协议。
- 准备库文件: 确保
./lib/目录下包含以下文件:vue.global.jsgpu-browser.min.jschart.js
- 直接运行: 在现代浏览器中双击打开
index.html即可启动模拟器。
- 气候切换: 支持热带雨林、温带草原、寒带苔原、温带落叶林及荒漠五种模式,不同模式会动态调整物种的生长参数。
- 演替速度: 通过“乌龟/兔子”滑块调节每帧执行的逻辑步数。
- 人为干扰:
- FIRE (火灾): 较大面积杀伤草本和灌木。
- VOLCANO (火山): 毁灭性打击,清除所有生物量及种子库。
- DROUGHT (干旱): 全局性限制,优先打击对水分敏感的物种。
- 地图交互: 鼠标悬停在网格上可查看精确的物种盖度占比和土壤深度。
index.html: UI 结构、Vue 模板与样式定义。main.js:EcoSimulator核心类定义及 Vue 应用状态管理。design/: 包含数学模型文档 (mathmodel.md)、UI 设计指南及参数 CSV 文件。lib/: 存放本地引用的 JavaScript 库副本。GEMINI.md: 供 AI 辅助开发使用的系统指令上下文。
- GNU AGPL-3.0