Graphics 寻找向量法向量的背面算法

Graphics 寻找向量法向量的背面算法,graphics,vector-graphics,Graphics,Vector Graphics,对于背面剔除算法,我需要找到每个多边形的法向量 给定3点,我想求平面的法线 所以我知道怎么做: 在平面上找到2个向量 找到它们的交叉向量-这将给我法向量(a,b,c) 我的问题是,当我找到2个向量时,点的顺序有关系吗? 例如:给定3点:p1(0,0,0)、p2(5,0,0)、p3(10,10,10) 我选择向量有关系吗 V1=(p2-p1)=(5, 0, 0)-(0, 0, 0)=(5, 0, 0) V2=(p3-p1)=(10,10,10)-(0, 0, 0)=(10, 10, 10) 或

对于背面剔除算法,我需要找到每个多边形的法向量

给定3点,我想求平面的法线

所以我知道怎么做:

  • 在平面上找到2个向量

  • 找到它们的交叉向量-这将给我法向量(a,b,c)

  • 我的问题是,当我找到2个向量时,点的顺序有关系吗? 例如:给定3点:p1(0,0,0)、p2(5,0,0)、p3(10,10,10)

    我选择向量有关系吗

    V1=(p2-p1)=(5, 0, 0)-(0, 0, 0)=(5, 0, 0)
    V2=(p3-p1)=(10,10,10)-(0, 0, 0)=(10, 10, 10)
    


    多边形具有顶点
    a
    b
    c

    您可以计算向量:

    v1 = a-c
    v2 = b-c
    
    这是指
    a
    b
    c
    。如果你决定把b和c指给a,也是一样的。 计算叉积v1*v2(这给出了一个垂直于v1和v2的向量)并将其规格化

    如果您确实计算了(a-b)(a-c)而不是(b-a)(c-a),则结果向量将被镜像(即,指向错误的方向)


    OT:normalize with/see这是为了精确计算面法线而开发的

    ,所以只要我引用同一点,我就能得到法线的正确方向?例如,我可以做:(b-c)*(a-c)或(c-b)(a-b)等等。。。这总是逆时针的吗?
    v1 = a-c
    v2 = b-c