理论上法线并不是真正的向量,它们实际上最好作为双向量,碰巧在 3D 中向量和双向量都具有三个分量,因此通常可以识别它们两个。如果我们生活在一个四维世界,我们就不会有这种困惑。向量有 4 个分量,双向量有 6 个分量。
双向量和伪向量/轴向量之间存在细微差别。如果i、j、k是向量的基本元素,则双向量具有基础j ^ k、i ^ k和i ^ j,Hodge Dual 将一组映射到另一组并将双向量发送到伪向量。双向量可以被认为始终是其他两个向量的叉积。
如果您认为法线始终是某对切向量的叉积,您可以通过首先变换两个切向量然后取它们的叉积来了解法线如何变换。
让我们将问题中的图表视为圆柱体的切片。在第一张图片中,当圆的横截面有两个切向量时(1/rt2, 1/rt2, 0)
,(0,0,1)
其中 rt2 = sqrt(2)。叉积给出
( 1/rt2 ) ( 0 ) ( 1/rt2 )
( 1/rt2 ) X ( 0 ) = ( -1/rt2 )
( 0 ) ( 1 ) ( 0 )
Run Code Online (Sandbox Code Playgroud)
正常的。现在应用挤压 (x,y,z) -> (x, y/2, z),切向量变换为(1/rt2, 1/(2 rt2), 0)
和(0,0,1)
。取叉积
( 1/rt2 ) ( 0 ) ( 1/(2 rt2) )
( 1/(2 rt2) ) X ( 0 ) = ( -1/rt2 )
( 0 ) ( 1 ) ( 0 )
Run Code Online (Sandbox Code Playgroud)
并归一化给予( 1/sqrt(5), -2/sqrt(5), 0 )
。
无论我们选择哪一对切向量,我们仍然会得到相同的结果。上面的计算有点冗长,需要找到一对合适的切向量。仅使用逆矩阵的转置更简单。
归档时间: |
|
查看次数: |
907 次 |
最近记录: |