如何沿着表面镜像矢量?

时间:2019-05-23 11:53:47

标签: math vector

大家好,我找不到任何解决方案,所以我想在论坛上提问。

在参考下图时,我有一条曲线AB,我想沿该曲线的表面镜像方向矢量dB。我只想要镜像的方向。因此,我需要使用该曲线作为轴来反映该方向。 See image

1 个答案:

答案 0 :(得分:0)

2D曲线

假设您具有标准化切线t = normalize(a-b),请使用以下公式,其中·是点积:

dA = dB - 2*t*(dB·t)

一些解释:t*(dB·t)是切向分量。删除一次将得到法线分量,删除两次将使切线分量反转,从而产生反射向量。

3D表面

假定表面具有法线n,请使用以下公式:

dA = -(dB - n*(dB·n)) + n*(dB·n)

,可以简化为dA = -dB + 2*n*(dB·n)

一些解释:n*(dB·n)是常规组件。由于要保留它,因此我们首先将其从dB中删除。 dB - n*(dB·n)因此是切向分量。然后,对切向分量求反,然后将法向分量加回去以获得反射向量。