
3D数学 学习笔记
3D数学:图形学与游戏数学学习笔记,结合Unity以在实际应用中得到实际效果。
ChiLi_Lin
卧槽!卧槽!!卧槽!!!!!
展开
-
3D数学 学习笔记(11) 几何检测
3D数学 学习笔记(11) 几何检测 参考书籍: 《3D数学基础:图形与游戏开发》隐式直线上的最近点任意点q,找到直线 p·n = d 上最近的点q’。- d - dM = d - q·n参数射线上的最近点任意点q,找到射线上p(t) = porg + td 最近点q’。直接点乘做投影即可。 - t = d·v = d·(q - porg)如果t是从0到1变化,计算t必须除以d的模:原创 2017-11-05 00:06:15 · 822 阅读 · 0 评论 -
3D数学 学习笔记(10) 背面剔除(Clipping)、裁切(Backface Culling)、光栅化(Rasterzation)
3D数学 学习笔记(10) 背面剔除(Clipping)、裁切(Backface Culling)、光栅化(Rasterzation) 参考书籍: 《3D数学基础:图形与游戏开发》 《Unity Shader 入门精要》背面剔除(Backface Culling)移除没有面对这镜头的三角形,只考虑三角形与摄像机的相对位置而不依赖与摄像机朝向。依靠三角形顶点顺序直接判断法向量方向(左原创 2017-11-03 11:23:26 · 5872 阅读 · 0 评论 -
3D数学 学习笔记(9) 凹凸映射(bump mapping)和切线空间(tangent space)
3D数学 学习笔记(9) 凹凸映射(bump mapping)和切线空间(tangent space) 参考书籍: 《3D数学基础:图形与游戏开发》 《Unity Shader 入门精要》凹凸映射(bump mapping)用于修改模型表明的发型,可以模拟出模型的“凹凸感”,但不改变顶点位置。 有两种方法: 1. 高度纹理(高度映射,height map):模拟表面位移(dis原创 2017-11-02 16:36:04 · 2510 阅读 · 0 评论 -
3D数学 学习笔记(8) 光照
3D数学 学习笔记(8) 光照 参考书籍: 《3D数学基础:图形与游戏开发》⊗符号代表两个色彩“按位乘”。标准光照方程Clit = Cspec + Cdiff + Camb + CemisClit:打开光照情况下计算颜色值的结果。Cspec:镜面反射分量。Cdiff:漫反射分量。Camb:环境光分量。Cemis:自发光分量。需要考虑的因素: - 材质属性。 - 表明法向量原创 2017-11-01 17:43:59 · 1139 阅读 · 0 评论 -
3D数学 学习笔记(7) 视图、视锥、视场(Field of View)、裁切空间、屏幕空间
3D数学 学习笔记(7) 视图、视锥、视场(Field of View) 参考书籍: 《3D数学基础:图形与游戏开发》视图即摄像机的画面。可对应Unity的Canvas。指定输出窗口窗口位置在左上像素(winPosx, winPosy),整数winResx, winResy 是以像素为单位的窗口大小。 像素纵横比像素高对宽的比值,通常为1。pixPhys 指像素物理尺寸。devPhys原创 2017-10-31 11:56:13 · 5955 阅读 · 0 评论 -
3D数学 学习笔记(6) 图形管道(渲染流水线)
3D数学 学习笔记(6) 图形管道(渲染流水线) 参考书籍: 《3D数学基础:图形与游戏开发》 《Unity Shader 入门精要》 浅墨_毛星云:【《Real-Time Rendering 3rd》 提炼总结】(二) 第二章 · 图形渲染管线 The Graphics Rendering Pipeline概念性三个阶段概念性是指按照渲染流程进行的功能划分提出的。GPU流水原创 2017-10-30 17:16:13 · 1505 阅读 · 0 评论 -
3D数学 学习笔记(5) 三角网格
3D数学 学习笔记(5) 三角网格 参考书籍: 《3D数学基础:图形与游戏开发》三角网格在Unity中,导入的模型都有这个Mesh,如果模型顶点过多,会分成多个Mesh。索引三角网格// 顶点级别信息struct Vertex { // 顶点的3D坐标 Vector3 pos; // 还可以有纹理映射坐标,表面法向量,光照值等。}; // 三角形级别信息s原创 2017-10-30 10:37:06 · 1853 阅读 · 0 评论 -
3D数学 学习笔记(4) 几何图元
3D数学 学习笔记(4) 几何图元 参考书籍: 《3D数学基础:图形与游戏开发》射线p(t) = p0 + td两种形式: 1. d为增量向量,t范围在[0, 1],即0为起点,1为终点。 2. d为单位向量,t范围在[0, l],l为射线的长度。直线斜截式y = mx + b2D直线隐式定义ax + by = d向量法标记的2D直线隐式定义p·n = d n为垂直线上单原创 2017-10-29 21:29:32 · 1681 阅读 · 0 评论 -
3D数学 学习笔记(3) 欧拉角与四元数
3D数学 学习笔记(3) 欧拉角与四元数 参考书籍: 《3D数学基础:图形与游戏开发》 【Numberphile数字狂】神奇四元数常用矩阵和四元数表示“角位移”,用欧拉角表示“方位”。欧拉角常用约定“heading-pitch-bank”围绕轴分别代表:y、x、z,使用的是左手坐标系,从惯性坐标系到物体坐标系。要注意的是heading使用的是惯性坐标,pitch和bank使用的是物原创 2017-10-27 14:17:30 · 3291 阅读 · 0 评论 -
3D数学 学习笔记(2) 矩阵
3D数学 学习笔记(2) 矩阵 参考书籍: 《3D数学基础:图形与游戏开发》矩阵乘法 常用等式** I 为单位矩阵,k为标量,v、w为向量。MI = IM = MAB ≠ BA(AB)C = A(BC)(kA)B = k(AB) = A(kB)(vA)B = v(AB)(AB)T =BTAT (可扩展多个矩阵)(v + w)M = vM + wM注意:用矩阵ABC转换原创 2017-10-24 16:09:07 · 2696 阅读 · 0 评论 -
3D数学 学习笔记(1) 向量、坐标系
3D数学 学习笔记(1) 向量、坐标系 参考书籍: 《3D数学基础:图形与游戏开发》 《Unity Shader 入门精要》左/右手坐标系Unity中坐标系选择左/右手法则常用于判断法向量、网格的正面等。 CW (clockwise),顺时针。CCW (counterclockwise),逆时针。点只有位置。没有大小和方向。向量只有方向和大小。没有位置,如位移、速度。将向量表示原创 2017-10-24 16:07:41 · 1540 阅读 · 0 评论