向量点乘的图形学意义

本文深入浅出地介绍了向量点乘这一图形学基础概念,包括其几何意义、公式以及在光照计算中的应用。通过实例解析了NDotL、NDotV、RDotV和NDotH等点乘运算在基础光照模型、菲涅尔边缘光效果和高光算法中的作用,帮助新手理解向量点乘在图形学中的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

向量的点乘是入门图形学的重要基础,本身并不复杂,但因为总与叉乘(图形学前期用不着)放在一起讲,搞得新手都很混乱,本文单独讲解一些点乘的图形学意义,新手先忘掉叉乘吧。

1.向量

向量即空间中的一个点到另一个点。

二维向量

2.向量点乘

向量点乘通常用来描述一个向量在另一个向量的投影分量。

向量点乘的几何意义
向量点乘公式

如上图的映射结果即为点乘结果,因此:
当两个方向向量相等时点乘结果为1
当两个方向向量垂直时点乘结果为0
当两个方向向量相反时点乘结果为-1

原理

3.图形学基础常用的点乘

NDotL

法线方向点乘光入射方向L,通常用来计算基础光照结果
如下图,使用NDotL可以直接得到模型顶点的法线方向与光线方向的结果,越接近1的地方越亮,等于0的地方则不发光,小于0的地方则为暗部。如此即为最基础的“兰伯特光照模型”。

兰伯特光照模型
NDotV

法线方向点乘视角方向V,通常用来计算模型边缘实现菲涅尔边缘光效果
其实与NDotV原理差不多,相机的视角方向与N法线方向点乘结果越小,说明该顶点与视角方向越垂直,则中间越亮边缘越暗,然后按照取值再做一下换算即可获得边缘光效果。

NDotV
RDotV

Phong高光算法:光线出射角的向量R与视角方向V点乘来获取物体的高光值
R是L基于N的镜像反向量(镜面反射),Phong是最早的物体高光算法

Phong高光算法
NDotH

法线方向点乘光入射方向L和视角方向V的中间向量,BlinnPhong高光分布,用于简化Phong高光算法
将上述Phong取镜像反向量变成了L+V,简化了计算过程提升了效率,顺带解决了一些Phong算法本身存在的问题参考

BlinnPhong高光原理
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值