Ejemplo n.º 1
0
def get_normal(tri):
    """in: 3 verts, out normal (nx, ny,nz) with length 1
    """
    (v0, v1, v2) = tri
    p0 = Point.from_list(v0.get())
    p1 = Point.from_list(v1.get())
    p2 = Point.from_list(v2.get())
    a = Vector.from_points(p1, p0)
    b = Vector.from_points(p1, p2)
    #print p0,p1, p2
    #print a,b
    c = a.cross(b)
    #print c
    m = float(c.magnitude())

    normal = [c.x / m, c.y / m, c.z / m]
    return normal
Ejemplo n.º 2
0
def dist(v1, v2):
    ''' distance between 2 vertices'''
    p1 = Point.from_list(v1.get())
    p2 = Point.from_list(v2.get())
    v = Vector.from_points(p1, p2)
    return v.magnitude()