在局部坐标系上创建取向矩阵 Creating on Orientation Matrix or Local Coordinate System

计算机图形学数学基础译自 ScratchaPixel 网站,数学基础部分共八篇,本篇为第八篇,感兴趣的同学可以参考我的 GitBook 镜像。

本文将基于目前所掌握的坐标系知识,基于 向量(Vector) 或者 法线(Normal) 构建局部坐标系。这是 渲染管线(renderer pipeline) 中常用来转换点或向量的坐标系的一种方式。核心思想是让点P上的法线成为局部坐标系的某一条轴,通常与向上的向量平齐,P点的 正切线(tangent)双切线(bi-tangent) 分别作为局部坐标系的另外两条轴。如图:

local_coords

构建局部坐标系的最佳方式是在平面上使用法线、正切线和双切线。这三个线所形成的坐标轴必须是正交而且是单位长度。在后续射线衍射的章节中,我们通常将入射点P的正切线命名为 dPdu,双切线命名为 dPdv,通过 dPdu 和 dPdv 的叉积可以得到点P上的法线。假设法线N表示向上的向量,正切线将为向右的向量,双切线为同时与法线和正切线垂直的向量。可以将上述三个向量在 [4 x 4] 矩阵中表示:

在使用该矩阵时需要留意 上下文(context),在处理 着色任务(shading tasks) 时。矩阵行的次序为:

此时法线位于矩阵的第三行。这是在着色相关领域遵循的惯例。

需要注意的是在列主序(column-major)的场景下(Scratchapixel 使用的都是行主序(row-major)),向量的表达方式都为T, B, N 列而不是T, B, N 行。

取向矩阵 Orientation Martix

假设在认为任意空间下有一向量 ,然后乘以矩阵 M 得到向量 ,向量 的坐标与我们由 T, B,N定义局部坐标系相关,这一矩阵称为 取向矩阵(Orientation Matrix)。取向矩阵大部分场景用于着色。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值