Answers:
如果我们定义dx = x2-x1和dy = y2-y1,则法线为(-dy,dx)和(dy,-dx)。
请注意,不需要除法,因此您没有被零除的风险。
(x', y') = (-y, x)
而(x', y') = (y, -x)
似乎是正确的,但为什么会一个使用dx
和dy
在这里。此外,基于斜率,m1 * m2 = -1
对于直角线,因此dy' = dx' * (-dx/dy)
和dx' = dy' * (-dy/dx)
,您的方程式怎么来normal.x = x' = -dy
?
另一种考虑方法是计算给定方向的单位矢量,然后逆时针旋转90度以获得法向矢量。
通用2D转换的矩阵表示如下:
x' = x cos(t) - y sin(t)
y' = x sin(t) + y cos(t)
其中(x,y)是原始矢量的分量,而(x',y')是变换后的分量。
如果t = 90度,则cos(90)= 0且sin(90)=1。将其代入并乘以得到:
x' = -y
y' = +x
与之前给出的结果相同,但是对其来源有更多解释。