NP相关 - Φ观测方位角差 和 理解
2025-11-9
| 2025-11-11
Words 1461Read Time 4 min
type
status
date
slug
summary
tags
category
icon
password

1.什么是 Φ

是“横截面平面内的角度差”
我们可以把毛发想象成一根圆柱形的纤维(比如一根细吸管):
  • 纵向:沿吸管的长度方向(比如从发根到发梢),这个方向的角度就是熟悉的 θ(光线 / 视线与吸管轴线的夹角);
  • 横截面平面:垂直于吸管长度的平面(比如用剪刀剪断吸管后看到的圆形截面所在的平面),这个平面内的角度,就是我们要聊的 “方位角”。
notion image

方位角差 φ是什么

“方位角差 φ” 具体指:在横截面平面内,“光线入射方向的投影” 与 “视线方向的投影” 之间的夹角。
  • 比如,假设在横截面平面内,光线投影指向 “3 点钟方向”,视线投影指向 “3 点 10 分方向”,那么 φ 就是 10 度 —— 这就是 “方位角差”,描述的是横向平面内两个方向的偏离程度。
和 θ 的区别:θ 是 “顺着毛发长度方向” 的角度(比如光线从上方还是下方照来),φ 是 “绕着毛发转圈方向” 的角度(比如光线从左侧还是右侧照来)。

2.Φ(p,h) 是什么

Φ(p,h) 中的 “h” 对应不同的光线路径(比如 R、TT、TRT),所以 Φ(p,h) 可以理解为:对于第 h 条路径的光线(比如 TRT 路径),它在横截面平面内有一个 “最佳观察角”—— 只有当你的视线与光线在横截面内的夹角刚好是 Φ(p,h) 时,这条路径的光线才最容易被看到。
为什么由 “光程” 决定?不同路径的光线在毛发内部走的距离(光程)不同:
  • 比如 TRT 路径(透→反→透)比 TT 路径(透→透)长,光线在毛发内部 “绕的圈” 更大,导致它在横截面平面内的 “出射方向” 更固定 —— 这个固定的出射方向与入射方向的夹角,就是 Φ(p,h)。
  • 简单说:光程越长,光线在横截面内的出射方向越 “挑食”,只在特定角度 Φ(p,h) 出现。

3.为什么 “φ=Φ(p,h) 时才能看见”——δ 函数是 “方向筛选器”

狄拉克 δ 函数 δ(φ - Φ(p,h)) 的作用,就像一个 “方向筛选器”:
  • 当你的观察角度差 φ 不等于 Φ(p,h) 时(比如 φ=5 度,Φ=10 度),筛选器关闭,这条路径的光线 “不被看见”(贡献为 0);
  • 当 φ 等于 Φ(p,h) 时(比如都是 10 度),筛选器打开,这条路径的光线 “被看见”(贡献最大)。
这不是说 “完全看不见”,而是图形学的简化:真实毛发中,某个路径的光线在 Φ(p,h) 附近都有贡献,但集中在 Φ(p,h) 处最强。
δ 函数用 “非 0 即最大” 的极端方式,简化了这种 “集中性”—— 就像 “只有当你正对着手电筒光束时,才能看到最亮的光”,稍微偏一点就暗很多,δ 函数直接简化成 “只有正对时才亮”。
当然,实际中,也不用这个理想函数,而是用窄高斯函数,NX里直接简化为单调递增的指数函数

4.举个例子

把毛发的每个光线路径想象成一个 “固定朝向的手电筒”:
  • TRT 路径是 “朝向 8.9 度方向的手电筒”(Φ=8.9 度);
  • TT 路径是 “朝向 5 度方向的手电筒”(Φ=5 度);
  • R 路径是 “朝向 0 度方向的手电筒”(Φ=0 度)。
“方位角差 φ” 就是 “你的眼睛当前看向的角度”:
  • 当你看向 8.9 度时(φ=8.9),TRT 手电筒的光刚好照进你眼里(δ 函数生效),你看到它的光;
  • 当你看向 5 度时(φ=5),TT 手电筒的光照进眼里,你看到它的光;
  • 公式中的求和 Σ,就是 “把所有手电筒的光加起来”,最终形成你看到的毛发整体反光效果。

在联想公式

N (p,φ) = Σ A (p,h) δ(φ - Φ(p,h)),就很清晰了?
  • φ:你当前观察的方位角(眼睛看向的横向角度);
  • Φ(p,h):第 h 个路径的光线 “自带的朝向”(手电筒的方向);
  • δ 函数:只有眼睛看向手电筒方向时,才能看到这个手电筒的光;
  • A (p,h):这个手电筒的亮度(受材质、光照等影响)。
本质上,这个公式就是 方向筛选器 + 亮度分配
notion image
 
这里说 TRT 范围窄,是不是不符合现实的观察逻辑?因为现实中,能看到基础色的范围是很大的
 
答:因为这个描述的是单根,但是现实头发是成千上万的。你总能在其他角度看到不同头发的TRT,组合在一起就类似漫反射了
  • 图形学
  • 渲染
  • MP相关-头发的纵向夹角θ和最大高光PreintegratedSkin预积分皮肤BxDF
    Loading...