计算特定2D方向的切线指向

时间:2016-06-02 19:48:27

标签: vector 3d normals

我需要计算相同(x,y)方向的切线指向作为给定法线的2D矢量。 这是一个可视化:

Directed Tangent From Normal Viz

青色光线的红色平面是表面,这是正常的, 绿色'箭头'代表2D方向,蓝色代表法线的切线与绿色箭头的(x,y)方向。 因此,当从顶部(在物体空间,而不是表面空间)观察投影到2D时,绿色和蓝色是相同的方向。

所以,如果这太抽象了,这里是上下文: 我正在进行GPU侵蚀模拟,为了计算溶解度,我需要3D水流速度矢量来测试与地形法线的碰撞。但是模拟是2D的,所以我只有2D速度矢量。 我引用的论文只注意到程序应该从地形表面切线和2D速度矢量计算这个3D矢量。

鉴于此信息,法线和2D矢量,计算所述匹配切线的算法是什么?

1 个答案:

答案 0 :(得分:1)

要计算曲面切线,首先将矢量投影到法线上。

enter image description here

enter image description here

然后添加以获得未标准化的切线。

enter image description here

要重建反射速度,请执行

enter image description here

其中e是恢复系数(假定为粒子)。