ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

游戏开发数学基础实战指南:GameDevMind 数学知识图谱详解(向量·矩阵·四元数·贝塞尔·随机·Noise)

游戏开发数学基础实战指南:GameDevMind 数学知识图谱详解(向量·矩阵·四元数·贝塞尔·随机·Noise) 游戏开发数学基础实战指南GameDevMind 数学知识图谱详解向量·矩阵·四元数·贝塞尔·随机·Noise【免费下载链接】GameDevMind最全面的游戏开发技术图谱(Game Development Map)。帮助游戏开发者们在已知问题上节省时间省出更多的精力投入到更有创造性的工作中去。项目地址: https://gitcode.com/GitHub_Trending/ga/GameDevMind本文以 GameDevMind 知识图谱 mds/1.基础能力/1.3.1.数学.md 为核心骨架展开。数学在游戏开发中无处不在图形渲染、物理模拟、声音处理、数值平衡、概率掉落……本文按「几何与线性代数 → 代数与基础函数 → 概率与随机 → 信号与媒体处理 → 离散数学」五条主线逐项梳理每类数学知识的作用、应用场景、常见坑与解决方向并附上可直接复用的AI Coding 协作提示词同时结合仓库内 game_math.py、hex_coord.hpp、camera_system.py 等源码把每条知识点落到可运行的实现上。读完本文你将建立一张「按场景取用数学」的完整地图知道每个问题该用哪种数学工具、会遇到什么坑、如何用 AI 快速生成正确代码。一、数学在游戏开发知识体系中的位置GameDevMind 将游戏开发知识划分为六大能力模块基础能力、技术能力、研发能力、生产能力、管理能力、运营能力。数学位于**「1.基础能力 → 1.3 通用基础」之下与人工智能基础、操作系统、计算机组成原理、计算机网络并列是无论客户端、服务端还是工具开发都可能用到的可迁移基础知识**见 mds/1.基础能力/1.3.通用基础.md。数学的辐射面极广下游领域用到的数学分支图形渲染向量、矩阵、四元数、坐标系变换物理模拟向量、微积分、刚体旋转声音处理三角函数、傅里叶变换数值与平衡对数、斐波那契数列、概率统计AI 与寻路图论、计算几何、正态分布、随机这份图谱文档本身是索引与导航而非教材定位说明见 mds/阅读说明.md它告诉你「是什么、在哪用、会踩什么坑、怎么向 AI 描述需求」而系统化的公式推导与完整实现需要结合教材、官方文档与实战项目。本文在保留图谱全部信息的基础上补充了仓库源码级证据方便你对照实现。关键词向量、矩阵、三角函数、对数、几何、随机、点乘、叉乘、斐波那契数列、欧拉角、四元数、Noise、傅里叶变换、AI Coding标签等级 初级|中级阶段 学习|开发分类 基础能力角色 客户端开发|美术二、几何与线性代数游戏世界的空间语言2.1 坐标空间中点的位置维度内容作用表示空间中点的位置应用场景3D 图形渲染物理模拟游戏对象定位类型齐次坐标便于矩阵运算笛卡尔坐标极坐标会遇到哪些问题用什么解决问题解决方向坐标系差异坐标系转换矩阵转置统一坐标系导入导出时转换坐标精度问题双精度定点数epsilon 比较避免累积误差要点和思考方向理解坐标系转换注意浮点精度统一坐标系。类型AI Coding 指南交互提示说明来源坐标系、目标、精度需求如「Unity 左手系转右手系」「模型导入」「Z-fighting」方法要求矩阵转置/镜像提供 epsilon 比较说明精度选择应用生成坐标系转换处理精度问题统一项目坐标系提示词范例「模型从 3ds Max 导入 Unity坐标轴不对请给出转换矩阵或旋转并说明左右手系差异」仓库中的 hex_coord.hpp 是「坐标系转换」的极佳工程样本同一张六边形网格用Cube 坐标 (q,r,s)、Axial 坐标 (q,r)、Offset 坐标 (col,row)三种表示并提供axial_to_cube、cube_to_axial、offset_to_cube等转换函数。这正是图谱所说的「统一坐标系 导入导出时转换」——存储用 Offset直观的二维数组索引寻路与距离计算用 Cube/Axial对称性好、距离公式简单各表示之间通过转换函数无缝衔接。2.2 向量最常用的数学工具维度内容作用表示方向和大小游戏开发最常用数学工具应用场景位置和方向物理模拟图形渲染碰撞检测AI 寻路2.3 向量运算运算应用向量加减力的叠加、位置移动标量乘向量缩放向量法线垂直于表面光照计算切线判断曲线上行、下行拐点点乘夹角、投影平滑笔刷视野判断叉乘面法向左右方向垂直方向向量标准化获取方向加速度计算会遇到哪些问题用什么解决问题解决方向零向量问题标准化前检查长度安全标准化函数处理零向量向量精度问题epsilon 比较定期重新标准化注意累积误差性能问题SIMD批量处理缓存数学库优化要点和思考方向掌握向量运算注意零向量和精度理解点乘叉乘几何意义。类型AI Coding 指南交互提示说明运算目的、零向量风险、性能如「视野判断用点乘」「法线计算用叉乘」「可能为零向量」方法要求标准化前检查长度提供安全 Normalize说明点乘叉乘选择应用实现向量运算处理零向量优化 SIMD提示词范例「判断角色是否面向目标用点乘请实现并处理目标与角色重合零向量的边界情况」源码印证仓库的 game_math.py 用纯标准库实现了Vector2/Vector3类完整覆盖上表全部运算安全标准化零向量保护normalized()先计算长度mag 1e-10才做除法否则返回零向量game_math.py L116-L120——这正是图谱「标准化前检查长度、安全 Normalize」的落地实现点乘视野判断dot 0 → 夹角 90°面向dot 0 → 垂直dot 0 → 背向game_math.py L122-L125。demo 中用它判断敌人是否在前方视野内阈值dot_val 0.7即「正前方」叉乘法线与旋转轴cross结果垂直于 a、b 所在平面遵循右手定则game_math.py L127-L134demo 中用它求「前方 × 敌人方向」得到旋转轴。运行方式纯标准库、无外部依赖python3 code/artile-sample-code/01-foundation/04-math/game_math.py2.4 欧拉角直观但危险的旋转表示维度内容作用用三个角度表示 3D 旋转直观易懂应用场景第一人称摄像机自身轴旋转简单旋转角度Roll绕 ZPitch绕 XYaw绕 Y会遇到哪些问题用什么解决问题解决方向万向锁四元数替代限制角度轴角表示角度插值四元数插值处理 0°/360° 环绕SLERP要点和思考方向复杂旋转用四元数注意角度范围和插值。类型AI Coding 指南交互提示说明旋转类型、万向锁风险、插值需求如「第一人称摄像机」「多轴旋转」「需平滑过渡」方法复杂旋转推荐四元数限制 Pitch 避免万向锁插值用 SLERP应用欧拉角转四元数实现摄像机控制处理 0°/360° 环绕提示词范例「第一人称摄像机用欧拉角控制 Yaw/Pitch请限制 Pitch 在 -89°~89° 避免万向锁并处理鼠标灵敏度」万向锁是欧拉角绕不开的坑当 Pitch 到达 ±90° 时Yaw 与 Roll 的旋转轴重合丢失一个自由度。工程上的标准对策就是图谱列的三种——限制角度、改用四元数、轴角表示。2.5 四元数稳定旋转的工程答案维度内容作用用四个数表示 3D 旋转避免万向锁应用场景3D 旋转SLERP 插值复杂旋转骨骼动画优势比欧拉角稳定插值更自然会遇到哪些问题用什么解决问题解决方向理解困难数学库封装理解基本操作参考文档转换问题数学库转换函数注意精度统一表示性能考虑优化数学库缓存关键路径考虑矩阵要点和思考方向使用数学库注意与欧拉角、矩阵转换插值用 SLERP。类型AI Coding 指南交互提示说明旋转场景、插值需求、引擎如「骨骼动画」「两朝向间平滑旋转」「Unity」方法要求 SLERP 插值提供 Quaternion.Slerp注意单位四元数应用实现旋转插值欧拉角与四元数转换生成旋转代码提示词范例「角色从当前朝向平滑旋转到目标朝向用四元数 SLERP2 秒内完成Unity C#」源码印证虽然四元数本身是引擎数学库的职责图谱也建议「使用数学库、不要手写」但仓库的 game_math.py L150-L170 给出了Slerp球面线性插值的参考实现展示了背后的关键细节先归一化两个向量单位向量点乘后clamp到 [-1,1] 防止 acos 越界夹角theta 1e-10时直接返回避免除以 sin(0)权重wa sin((1-t)·θ)/sinθ、wb sin(t·θ)/sinθ保证沿球面大圆弧匀速旋转。demo 对比了 Lerp 与 SlerpLerp 在中间点向量长度变短角速度不匀Slerp 始终保持单位长度匀速旋转。这正是「插值用 SLERP」的原因所在。2.6 矩阵运算一切变换的载体维度内容作用表示和计算变换平移、旋转、缩放应用场景3D 图形变换坐标系转换视图投影骨骼动画2.7 矩阵运算类型运算应用加减基本运算乘法平移、旋转、缩放、组合变换转置左右手坐标系转换求逆反向变换、坐标转换会遇到哪些问题用什么解决问题解决方向矩阵乘法顺序理解从右到左约定顺序数学库性能问题SIMD数学库优化缓存避免不必要运算精度问题定期重算双精度注意累积误差要点和思考方向注意乘法顺序使用数学库理解变换组合。类型AI Coding 指南交互提示说明变换顺序、坐标系、引擎如「先缩放再旋转再平移」「局部到世界」「Unity」方法要求明确 SRT 顺序提供矩阵乘法顺序说明从右到左应用生成变换矩阵组合 SRT解释乘法顺序提示词范例「实现物体的局部到世界变换顺序为 Scale→Rotate→Translate请给出 4x4 矩阵乘法顺序并说明原因」源码印证矩阵乘法顺序是新手最容易搞错的点。仓库 game_math.py 的Matrix4x4采用列主序与 OpenGL/Unity 一致trs()组合变换的写法是M T * R * S即先缩放、再旋转、再平移t_mat Matrix4x4.translate(tx, ty, tz) r_mat Matrix4x4.rotate_z(angle_rad) s_mat Matrix4x4.scale(sx, sy, sz) return multiply(t_mat, multiply(r_mat, s_mat)) # M T * R * S见 game_math.py L231-L240。demo 中一个位于 (3,2)、旋转 45°、缩放 1.5x 的精灵通过transform_point把模型空间点 (1,0,0) 变换到世界空间。此外该类还区分了transform_pointw1受平移影响与transform_directionw0不受平移影响见 game_math.py L242-L257这对应图谱「齐次坐标」条目用 w 分量区分点是方向是 3D 变换的标准做法。2.8 曲线与贝塞尔曲线维度内容作用生成平滑路径和动画曲线应用场景路径规划动画曲线UI 动画地形生成贝塞尔曲线维度内容作用通过控制点生成平滑曲线应用场景路径生成动画缓动UI 设计如赛车赛道生成会遇到哪些问题用什么解决问题解决方向控制点选择可视化工具理解数学原理预设模板性能问题预计算查找表优化算法要点和思考方向使用可视化工具预计算提高性能。类型AI Coding 指南交互提示说明曲线用途、控制点数量、性能如「赛车赛道」「缓动动画」「4 个控制点」方法要求贝塞尔公式提供查找表优化说明 de Casteljau 算法应用生成贝塞尔路径实现缓动曲线预计算采样点提示词范例「用三次贝塞尔曲线实现 UI 弹窗的缓动动画ease-out 效果给出控制点坐标和采样函数」源码印证仓库 game_math.py L308-L335 实现了二次与三次贝塞尔二次贝塞尔B(t) (1-t)²P0 2(1-t)t·P1 t²P2demo 用它生成「炮口→弹道顶点→目标」的抛物线弹道路径三次贝塞尔B(t) (1-t)³P0 3(1-t)²t·P1 3(1-t)t²P2 t³P3适合赛车赛道、过场相机路径等更复杂的曲线。t被 clamp 到 [0,1]调用方按固定步长如 0.25采样即可得到路径点序列——这本身就对应图谱说的「预计算采样点、查找表优化」思路把曲线预烘焙成点表运行时只做查表避免每帧重复计算。三、代数与基础函数驱动数值与动画的基本函数3.1 三角函数维度内容作用处理角度和周期性变化应用场景周期性动画角度计算圆形运动波形生成函数应用sin波浪、水面动画cos夹角、圆形运动tan切线、斜率会遇到哪些问题用什么解决问题解决方向性能问题查找表预计算近似函数数学库角度单位统一弧度转换函数明确标注要点和思考方向注意度/弧度查找表优化理解周期性。类型AI Coding 指南交互提示说明用途、精度、性能如「水面波浪」「圆形运动」「每帧调用」方法要求统一弧度热路径考虑查找表提供 sin/cos 近似应用实现周期性动画角度弧度转换优化三角函数调用提示词范例「实现角色绕圆心做圆周运动用 sin/cos半径 5角速度 2 rad/s请用弧度并给出位置更新公式」源码印证仓库 game_math.py L220-L229 的rotate_z就是用 cos/sin 构造旋转矩阵的典型m00c, m01s, m10-s, m11c。demo 里调用math.radians(45)显式完成度→弧度转换正是图谱「统一弧度、转换函数、明确标注」的实践。3.2 对数维度内容作用实现非线性变化变化率逐渐变慢应用场景声音衰减摄像机跟随经验值曲线缩放动画会遇到哪些问题用什么解决问题解决方向参数选择ln/log10根据效果调整对数曲线编辑器数值范围检查输入安全对数函数处理边界要点和思考方向注意定义域0根据效果调整。类型AI Coding 指南交互提示说明用途、输入范围、边界如「经验值曲线」「摄像机跟随」「输入可能为 0」方法要求检查定义域提供 log(1x) 等安全形式说明底数选择应用实现衰减曲线经验值公式安全对数函数提示词范例「经验值升级所需经验用对数曲线1 级 10010 级 1000100 级 10000请给出公式并处理 0 级」工程细节对数的定义域是 x0输入为 0 或负数时log(x)会抛异常/返回 NaN因此工程上常用log(1x)这种安全形式或在调用前先 clamp。摄像机「跟随越远追得越快、越近越缓」的阻尼效果本质上也是对数/指数性质的体现——仓库 camera_system.py L42-L44 用 lerp 系数实现了类似的平滑跟随。3.3 斐波那契数列Fibonacci sequence维度内容作用提供自然增长曲线符合人类感知应用场景数值设计游戏平衡进度曲线策划数值进阶会遇到哪些问题用什么解决问题解决方向增长过快修正斐波那契结合对数分段曲线要点和思考方向注意后期增长适合数值设计。类型AI Coding 指南交互提示说明应用场景、级数、增长约束如「装备强化费用」「等级上限 100」「后期不能暴涨」方法要求修正斐波那契或分段结合对数平滑提供数值表应用设计数值曲线生成斐波那契变体平衡游戏数值提示词范例「装备强化 1~10 级费用用斐波那契增长但 10 级总费用不超过 10000请给出每级费用序列」斐波那契1, 1, 2, 3, 5, 8, 13, 21…的增长率约为黄金比例 φ≈1.618/级比指数曲线温和、又比线性曲线更有「成长感」因此常被数值策划用来设计强化费用、升级成本。但纯斐波那契后期膨胀很快需要按图谱给出的方向做修正分段曲线前期斐波那契、后期转对数、结合对数平滑、或直接给出数值表让 AI 反推公式。3.4 递归维度内容应用遍历文件目录递归在游戏开发中最典型的应用是遍历文件目录资源扫描、目录树构建以及树形结构场景树、行为树的深度优先遍历。3.5 其它基础函数函数作用Abs绝对值Floor向下取整Ceil向上取整这三个函数在游戏中无处不在Abs 用于距离差、误差判定Floor/Ceil 用于网格坐标取整、分页计算、HUD 数值显示。四、概率与随机让世界不可预测又可控4.1 随机维度内容作用生成随机数实现随机事件应用场景掉落系统AI 决策地图生成数值波动4.2 正态分布维度内容作用模拟真实数据分布符合自然规律应用场景玩家属性AI 行为数值波动应用武器使用率、掉落率、技能分布AI 行为预测动画曲线、物理效果会遇到哪些问题用什么解决问题解决方向可控随机Shuffle Bag加权随机PRNG种子控制随机性不足更好 PRNG真随机定期重种子可预测性种子保存确定性 PRNG记录序列要点和思考方向使用合适分布注意可控性部分场景需可预测。类型AI Coding 指南交互提示说明随机场景、可控需求、可预测性如「掉落系统」「需保底」「回放需一致」方法保底用 Shuffle Bag可预测用种子正态分布用 Box-Muller应用实现加权随机设计掉落表生成正态分布采样提示词范例「掉落系统3 种物品权重 1:2:310 次必出一个稀有请用 Shuffle Bag 实现并说明原理」随机三定律工程视角可控性纯rand()会让玩家觉得「脸黑」「连出垃圾」保底机制要用Shuffle Bag把权重摊成一袋球抽完重洗保证稀有品必出或加权随机一致性/可预测性录像回放、观战系统、AB 测试要求相同输入产生相同结果必须用带种子的确定性 PRNG并记录随机序列分布形态均匀分布 ≠ 真实感玩家属性、AI 行为、数值波动往往要用正态分布Box-Muller 变换是标准采样方法。源码印证仓库 camera_system.py L47-L52 的震屏效果使用random.uniform(-intensity, intensity)生成每帧随机偏移并随时间线性衰减——这是「数值波动」的经典用法均匀随机 衰减曲线。而 quadtree/main.cpp 的碰撞检测性能测试用random库生成 500 个对象的随机分布坐标属于「地图/对象随机生成」场景。4.3 概率应用场景说明随机事件概率分布控制AI 决策基于概率选择赔率概率分布计算期望数据分析假设检验回归分析五、信号与媒体处理噪声与频率的世界5.1 Noise程序化生成的核心维度内容作用生成平滑随机噪声模拟自然效果应用场景地形生成纹理云层程序化生成类型说明Perlin noise最常用含 Gradient、Value NoiseSimplex noisePerlin 改进版性能更好会遇到哪些问题用什么解决问题解决方向性能问题查找表预计算Simplex分块GPU参数调优可视化工具理解频率振幅多层叠加要点和思考方向多层叠加查找表或 GPU 优化理解参数。类型AI Coding 指南交互提示说明用途、规模、性能如「地形高度图」「程序化纹理」「256x256 实时」方法要求 Perlin/Simplex 选择提供查找表说明频率振幅叠加应用实现 Perlin 噪声地形生成参数调优提示词范例「用 Perlin 噪声生成 64x64 地形高度多层叠加频率 1/4/16振幅 1/0.5/0.25请给出采样函数」关键理解——频率与振幅的多层叠加fBm单纯一层 Perlin 噪声过于平滑单调自然的地形/云层需要把多个频率、不同振幅的噪声层叠加低频大振幅提供宏观起伏高频小振幅提供细节纹理。上表提示词中的「频率 1/4/16、振幅 1/0.5/0.25」就是典型的三层 octave 配置每层频率翻倍、振幅减半。5.2 傅里叶变换维度内容作用时域转频域分析频率特征应用场景图像处理声音处理信号分析数据压缩会遇到哪些问题用什么解决问题解决方向计算复杂度FFTGPU 加速预计算降低采样率要点和思考方向使用 FFT理解频域时域转换。类型AI Coding 指南交互提示说明应用、数据规模、实时性如「图像滤波」「512x512」「需 GPU」方法要求 FFT 库说明频域操作提供复杂度分析应用实现 FFT 滤波图像特征提取生成 FFT 代码提示词范例「对 256x256 灰度图做 FFT提取低频成分做模糊请说明步骤和可用的 FFT 库C/C#」朴素 DFT 复杂度为 O(n²)工程上必须用FFT快速傅里叶变换O(n log n)。图像模糊的本质就是「保留低频、抑制高频」——先 FFT 到频域、滤波、再逆变换回时域。5.3 图像处理维度内容作用提取特征、压缩数据等应用场景特征提取抗锯齿压缩增强应用说明特征提取像素→频率→轮廓、纹理、边缘物体检测抗锯齿曲面→频率→细节显示减少模糊图像压缩压缩数据图像增强去噪、增强质量会遇到哪些问题用什么解决问题解决方向计算复杂度FFTGPU 加速预计算降低采样率要点和思考方向使用 FFT理解频域时域转换。类型AI Coding 指南交互提示说明应用、数据规模、实时性如「图像滤波」「512x512」「需 GPU」方法要求 FFT 库说明频域操作提供复杂度分析应用实现 FFT 滤波图像特征提取生成 FFT 代码提示词范例「对 256x256 灰度图做 FFT提取低频成分做模糊请说明步骤和可用的 FFT 库C/C#」5.4 声音处理维度内容作用提取频率特征应用场景音效音乐分析可视化压缩应用声音→频率→频率、响度、音色控制音量音色要点和思考方向FFT 实时处理理解频域特征。类型AI Coding 指南交互提示说明应用、采样率、实时性如「音频可视化」「频谱分析」「44.1kHz」方法要求 FFT 窗口说明窗函数提供实时处理流程应用实现音频 FFT频谱可视化音高检测提示词范例「实时音频频谱可视化采样 1024 点请用 FFT 实现并说明窗函数和帧率的关系」关键理解——窗函数对有限长信号直接做 FFT 会产生频谱泄漏能量扩散到相邻频点因此工程上先乘窗函数汉宁窗、汉明窗等再变换。实时频谱可视化通常取 1024~4096 点做一帧帧率与 FFT 点数、采样率共同决定时间分辨率与频率分辨率。六、离散数学网格、寻路与几何算法维度内容作用处理离散对象解决几何和逻辑问题应用场景计算几何图论组合数学逻辑推理分支说明离散数学离散对象计算几何几何算法抽象代数代数结构组合学排列组合、概率6.1 应用举例领域应用计算几何物体位置关系像素偏移碰撞检测可见性图论路由多人协作寻路状态机会遇到哪些问题用什么解决问题解决方向算法复杂度BVH、四叉树近似算法预计算几何库要点和思考方向使用成熟算法和库注意复杂度理解原理。类型AI Coding 指南交互提示说明几何问题、规模、精度如「射线与三角形相交」「大量碰撞检测」「浮点精度」方法要求成熟算法Möller–Trumbore 等提供几何库说明数值稳定性应用实现射线相交碰撞检测优化选几何算法提示词范例「射线与三角形相交检测用于拾取请用 Möller–Trumbore 算法实现并处理射线与三角形共面的情况」源码印证一空间分区降低碰撞复杂度。图谱指出离散数学的核心问题是「算法复杂度」解决方向是 BVH、四叉树等空间分区结构。仓库 quadtree/main.cpp 正是这一思想的可运行验证500 个对象NPC 子弹 道具分布在 2000×2000 的世界中暴力法 O(n²) 需要约 125K 次 AABB 检测四叉树分区后降到 O(n log n) 级别且两种方法检测出的碰撞对数量完全一致验证正确性对象越稀疏优势越明显。配合 Python 版本 quadtree.py 可对照学习。源码印证二图论寻路与网格坐标。六边形网格工程示例 hex_grid 是「图论 计算几何」的综合体hex_coord.hpp L76-L84 给出 Cube 坐标系下的精确距离公式max(|Δq|,|Δr|,|Δs|)六边形曼哈顿距离所有 6 个邻居等距无四边形网格对角线「加速」问题astar.hpp 是完全模板化的 A* 寻路实现核心公式f(n) g(n) h(n)用六边形曼哈顿距离作启发函数可接受、不高估代价保证最优解。这两份源码把「距离计算」「邻居枚举」「图搜索」这些离散数学概念变成了可直接编译运行的 C17 代码g -stdc17 -O2 -o hex_demo main.cpp ./hex_demo。七、AI Coding把数学知识转化为高效的 AI 协作能力GameDevMind 的知识图谱里每个技术点都内置了AI Coding 指南其设计逻辑详见 mds/阅读说明.md是掌握知识才能更好地操作 AI——只有你能准确描述「要做什么、在什么约束下做、如何验证结果」AI 输出的代码才可预期、可纠正。指南包含三类内容类型说明交互提示如何向 AI 描述需求让输出更符合预期方法与 AI 协作的流程和注意事项应用可交给 AI 的具体任务场景本数学文档中所有提示词遵循同一套模式可提炼为四步模板给场景说明用途视野判断/弹道/掉落/地形…与引擎/语言Unity C#、C…给约束说明边界情况可能为零向量、需要保底、后期不能暴涨…与精度/性能要求给方法点名要用的数学工具点乘、SLERP、Shuffle Bag、Box-Muller、Möller–Trumbore…要验证要求说明原理或给出自检逻辑处理共面、检查定义域、对比碰撞对数…。例如「判断角色是否面向目标」的正确提示词是「用点乘请实现并处理目标与角色重合零向量的边界情况」——把数学工具与坑位同时告知 AI比笼统的「写个视野判断」高效得多。本文前面各节共包含十余个可直接复用的提示词范例覆盖向量、欧拉角、四元数、矩阵、贝塞尔、三角函数、对数、斐波那契、随机、Noise、FFT、射线相交等全部主题可配合 code/artile-sample-code/07-ai-coding/ai_prompts.py 对照练习。八、配套代码与延伸学习8.1 仓库配套代码本文涉及的核心源码与运行方式汇总文件主题运行方式code/artile-sample-code/01-foundation/04-math/game_math.pyVector2/3、点积叉积、TRS 矩阵、AABB、贝塞尔、Lerp/Slerppython3 game_math.py纯标准库code/artile-sample-code/01-foundation/04-math/README.md上述代码的章节↔示例映射—code/artile-sample-code/03-rd/08-camera/camera_system.pylerp 平滑跟随、震屏随机、缩放python3 camera_system.pycode/gamedevmind/3.研发能力/3.1.2.客户端3D场景开发/hex_grid/六边形坐标系统 A* 寻路C17CMake 或g -stdc17编译code/gamedevmind/1.基础能力/1.2.2.数据结构/quadtree/四叉树 vs 暴力 O(n²) 碰撞检测性能对比CMake 编译运行更多配套代码入口见 code/README.md实战案例见 cases/README.md。8.2 延伸阅读经典主题索引图谱末尾给出了一系列值得深入的主题原文档为外部链接此处保留主题名便于检索3D 数学入门3D Math Primer for Graphics and Game Development向量、矩阵、变换的系统讲解随机与游戏设计Randomness and Game Design随机性如何影响玩家体验噪声生成Perlin noise 教程、Noise Generation、Noise and TurbulencePerlin 本人文章射线相交空间射线与三角形相交算法Möller–Trumbore 详解斐波那契与数值平衡Fibonacci game design、Using Fibonacci for Game Balance数值策划向AI 随机技术进阶Advanced Randomness Techniques for Game AIGame AI Pro 章节视频Vectors Dot Product、Spaces Cross Product、How I Made The World with SINE用正弦函数程序化生成世界总结游戏开发中的数学从来不是「为学而学」而是按场景取用的工具箱坐标与矩阵解决「物体在哪、怎么变换」向量与点乘叉乘解决「朝向、投影、法线」四元数与 SLERP 解决「平滑旋转」贝塞尔解决「路径与缓动」三角函数与对数解决「周期运动与衰减曲线」斐波那契解决「数值平衡」随机与正态分布解决「可控的不确定性」Noise 解决「程序化生成」FFT 解决「频域分析」离散数学解决「网格、寻路与几何算法」。结合 GameDevMind 图谱中的问题清单与 AI Coding 提示词你可以把每一类数学知识快速转化为「可描述、可验证、可交付」的工程能力——这正是这份知识图谱相较于传统数学教材的最大价值所在。【免费下载链接】GameDevMind最全面的游戏开发技术图谱(Game Development Map)。帮助游戏开发者们在已知问题上节省时间省出更多的精力投入到更有创造性的工作中去。项目地址: https://gitcode.com/GitHub_Trending/ga/GameDevMind创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进