弧正常给出3分

时间:2015-10-26 14:12:17

标签: geometry computational-geometry

我正在努力找到由3点(按顺序)给出的弧的法线。从我的搜索中,这是我在2D中计算法线的理解:

我们可以定义3点A,B,C(在2D中),其中B在A和C之间,我们想在B处找到由下式给出的法线:

N = [Ay-Cy; Cx-Ax];

这是对的吗?如果是这样,我如何计算(字面上)一个点(假设P)位于距离法线上(假设d = 7)。举例说明:

        P(x,y)
        |
        | d=7            
        B



A                     C

请建议 - 谢谢。

P.S。我也很欣赏一些文献链接,这些链接解释了在2D中估算法线的方法(虽然我理解"普通"在2D中的问题)。

1 个答案:

答案 0 :(得分:0)

如果 B位于弧的正中间,那么您的法线是正确的。 +/-方向存在歧义,但您可以使用AB和BC矢量的叉积符号选择外部法线方向。

要找到P点,您必须将N

标准化
N = (Nx, Ny)
Len(N) = Sqrt(Nx*Nx + Ny*Ny)  //Hypot is some math libraries
n = (Nx/Len, Ny/Len)
P = B + Dist * n
(Px, Py) = (Bx + Dist*nx, By + Dist*ny)