Skip to content

threeaus/3D-Biology-Teaching

Repository files navigation

3D Biology Teaching

一个面向生物教学场景的 3D 细胞展示网站。项目以“细胞建筑实验室”为核心界面,把 3D 模型、显微镜图片、出现位置图、结构信息和细胞对比集中在同一个学习页面里,适合用于课堂演示、科普讲解和交互式学习材料。

在线仓库:

https://github.com/threeaus/3D-Biology-Teaching

参考项目:

https://x.com/DilumSanjaya/status/2053155739389378849

项目介绍

这个网站的目标不是做一个普通图片资料页,而是让学习者可以围绕一个细胞对象进行多角度观察:

  • 左侧选择不同细胞类型
  • 中间查看可旋转的 3D 细胞模型
  • 右侧查看结构详情、生物笔记和出现位置
  • 底部查看显微镜视图、细胞器列表和细胞对比

页面目前覆盖 7 类细胞:

  • 植物细胞
  • 白细胞
  • 神经元
  • 上皮细胞
  • 细菌细胞
  • 动物细胞
  • 肌肉细胞

每种细胞都配有对应的 3D 模型、细胞缩略图、出现位置图、光学显微镜图、染色切片图和电子显微镜图。

参考方向

项目视觉和交互节奏参考了上面的 X 链接中的 3D 展示案例,重点借鉴的是:

  • 左侧对象列表与中间主展示区结合的布局
  • 选择对象后模型、标题和图片同步切换的展示方式
  • 教学对象以 3D 模型为中心、周围配合信息卡片说明的结构
  • 切换时带有轻量动效,让页面更像演示型学习工具,而不是静态资料页

在此基础上,本项目围绕生物教学重新组织内容,补充了显微镜视图、出现位置、细胞器列表、结构详情和细胞对比。

主要功能

3D 细胞展示

中间主区域用于展示细胞 3D 模型。模型默认采用 45 度俯视角,方便直接看到整体结构。用户可以拖动旋转模型,也可以通过滚轮缩放。

细胞类型切换

左侧列表可以快速切换不同细胞。切换时,细胞名称、模型、详情图片和底部内容都会同步更新,并带有不同的动效,让页面更接近视频参考里的展示节奏。

结构详情

右侧“结构详情”区域展示当前细胞的重点结构、基础特征和说明信息,例如:

  • 植物细胞:细胞核、液泡、叶绿体、细胞壁
  • 神经元:树突、轴突、髓鞘
  • 肌肉细胞:肌原纤维、肌节、线粒体、肌质网

出现位置

“出现位置”区域用于说明这种细胞通常存在于哪里,例如植物组织、血液、脑和脊髓、皮肤或肌肉组织。图片已经调整为完整展示,不会再被裁切。

显微镜视图

每种细胞都包含三类辅助图片:

  • 光学显微镜
  • 染色切片
  • 电子显微镜

这些图片用于补充 3D 模型,让学习者可以把模型结构和真实显微观察联系起来。

细胞对比

底部“细胞对比”区域会根据当前细胞展示一个相关对比对象,方便理解不同细胞之间的结构差异。

素材说明

为了让 GitHub 上传和网页加载更稳定,项目中同时保留了“本地原始素材”和“网页使用素材”的概念。

3D 模型

原始 3D 模型本地保留在:

public/assets/models/

网页实际加载、并上传到 GitHub 的轻量版模型在:

public/assets/models/optimized/

页面代码目前使用的是 optimized 文件夹中的模型。

图片素材

原始 PNG 图片本地保留,但不会上传到 GitHub。网页实际加载的是轻量版 WebP 图片。

显微镜和细胞缩略图:

public/assets/images/microscope/

出现位置图片:

public/assets/images/locations/

本地运行

先安装依赖:

npm install

启动本地网站:

npm run dev -- --port 5173

然后打开:

http://127.0.0.1:5173/

构建检查

发布或提交前可以运行:

npm run build

如果构建通过,说明项目可以正常打包。

技术栈

  • React
  • Vite
  • Three.js
  • Lucide React

项目结构

.
├── public/
│   └── assets/
│       ├── images/
│       │   ├── locations/
│       │   └── microscope/
│       └── models/
│           └── optimized/
├── src/
│   ├── components/
│   │   └── CellViewer.jsx
│   ├── data/
│   │   └── cells.js
│   ├── App.jsx
│   ├── main.jsx
│   └── styles.css
├── index.html
├── package.json
└── vite.config.js

后续可扩展方向

  • 增加更多细胞类型
  • 增加结构标签和点击讲解
  • 增加细胞对比详情页
  • 增加课堂演示模式
  • 增加截图导出和学习卡片导出
  • 增加更细致的组织、器官和系统层级展示

当前状态

项目已经完成基础展示功能,所有 7 种细胞都已接入图片和 3D 模型。当前版本适合本地运行、课堂预览和继续扩展内容。

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors