设计:新增专题「图形学数学基础」
设计:新增专题「图形学数学基础」
背景与目标
在 /home/zzh0838/Project/ComputerGraphicLearn/docs/01-math/ 下已经有一套写给工程师的图形学数学基础文章(9 篇 + 1 篇导读 README),配套 12 张预生成的 SVG 插图。目标是把这套内容作为一个新专题迁移进当前博客项目(VuePress 2 + vuepress-theme-hope),使其和现有的 agentic-coding / aosp / lineageos 三个专题并列出现在导航栏、侧边栏、博客时间线/分类/标签页中。
这是纯内容迁移:只拷贝 Markdown 正文与插图,不拷贝源项目里用来生成插图的 Python 脚本(labs/m1/)和 assets/STYLE.md 风格规范。
路由与配置改动
文件:docs/.vuepress/config.ts
- 新增专题目录:
docs/graphics-math/,对应 URL/graphics-math/ navbar:在LineageOS 源码分析之后追加一项:{ text: "图形学数学基础", link: "/graphics-math/" }sidebar:追加一条:使用自动"/graphics-math/": "structure","structure"模式即可——文章文件名保留源项目的补零数字前缀(01-…09-),字符串排序结果与阅读顺序天然一致,不需要手写显式的 sidebar 数组。
文章迁移
源目录 9 个文件按原文件名逐一拷贝到 docs/graphics-math/,正文内容不做任何编辑,只在文件最前面插入一段 frontmatter(跟随 docs/agentic-coding/AOSP整机源码Harness工程探索.md 已有的写法):
---
title: <文件自身的一级标题>
author:
name: 阿豪
url: http://ahaoframework.tech/
date: 2026-07-29
category: 图形学数学基础
tags:
- 图形学
- 数学基础
- <文章专属关键词标签,见下表>
---逐篇对照表(标题取自各文件自身的 H1;专属标签取自源 README 篇目表格的「关键词」列,按 / 拆分):
| 文件名 | title | 专属 tags |
|---|---|---|
01-vectors-coords.md | 向量与坐标系 | 点积、叉积、手性 |
02-matrices-transforms.md | 矩阵与线性变换 | 旋转、缩放、逆转置 |
03-homogeneous-mvp.md | 齐次坐标与 MVP 变换链 | w 分量、变换链 |
04-projection-depth.md | 投影与深度精度 | 透视、深度非线性 |
05-quaternions.md | 四元数与旋转 | slerp、万向锁 |
06-interpolation.md | 插值 | lerp、双线性、重建核 |
07-sampling-filtering.md | 采样与滤波 | 奈奎斯特、卷积、走样 |
08-color-gamma.md | 颜色空间与 Gamma | sRGB、线性域、YUV |
09-frequency-domain.md | 频域直觉 | FFT、低通、锐化 |
插图迁移
9 篇文章共引用 12 张 SVG(均为 m1- 前缀,源目录 docs/assets/generated/ 下还有属于其他模块的 m2-/m4- 前缀文件,不在本次迁移范围内):
m1-01-dot-projection.svg
m1-02-linear-transforms.svg
m1-03-mvp-stages.svg
m1-04-depth-nonlinearity.svg
m1-05-slerp-vs-nlerp.svg
m1-06-interp-curves.svg
m1-06-kernels-upscale.svg
m1-07-aliasing.svg
m1-07-moire.svg
m1-08-transfer-curves.svg
m1-08-linear-blend.svg
m1-09-fft-lowpass.svg拷贝到新建的 docs/assets/generated/。文章里引用图片的相对路径是 ../assets/generated/xxx.svg——新目录 docs/graphics-math/ 与 docs/assets/generated/ 的相对层级和源项目完全一致,因此不需要改写任何图片路径。
专题首页(landing page)
docs/graphics-math/README.md,改编自源 docs/01-math/README.md,加 frontmatter:
---
title: 图形学数学基础
icon: calculator
article: false
---内容改动:
- 标题从「模块一 · 图形学数学基础」改为「图形学数学基础」(去掉「模块一 · 」前缀——本次只迁移这一个模块,当前博客里没有模块二/三/四,保留编号前缀反而没有意义)
- 保留导语段落(含 🎯 标记说明)
- 保留篇目表格(链接目标文件名不变,天然可用)
- 保留「学习建议」小节
- 删除「如何复现插图」小节——它指向本次不迁移的
labs/m1/脚本和assets/STYLE.md,在博客里是死链/无意义内容
范围之外
- 不迁移
labs/下的 Python 生成脚本 - 不迁移
docs/assets/STYLE.md - 不迁移源项目里
01-math之外的其他模块(m2/m4等),仅本专题涉及的 9 篇 + 12 图 - 不改动评论系统、搜索、sitemap 等其他插件配置
已知风险
icon: calculator是参照现有专题(robot/linux/android/home)的命名风格猜的图标名,未在自定义 iconfont 图标集里核实是否存在对应字形。即便不存在也只是首页图标不显示,不会导致构建失败;构建后用yarn dev目视检查即可,不一致的话再换一个已确认存在的图标名。
验证
yarn build能成功构建,无 broken link / 404 图片引用报错yarn dev起本地服务后,导航栏出现新条目,/graphics-math/落地页正常渲染表格与插图缩略跳转,任意一篇文章内的 SVG 正常显示
