Exemplo n.º 1
0
def spring(v1, v2):
    
    force_vec = (v1-v2)
    #dist = force_vec.mag()
    force_vec = Vec (force_vec.x, force_vec.y) 
    #node has mass
    #eval
    if (force_vec.mag()>=100) :
        return(Vec(-force_vec.x, -force_vec.y))
    else : return(force_vec)
Exemplo n.º 2
0
def force_layout(nodes):
    forces = {}
    for n in nodes:
        forces[n] = Vec(0, 0)
        for t in n.targets:
            forces[n] += spring(n.vec,t[1].vec)
        for nod in nodes:

            #if nod is not n.targets[1]:
                if nod is not n:
                    forces[n] += ball(n.vec,nod.vec)
                    
    for n in nodes:
        #if (forces[n])
        n.vec += forces[n] * C4
Exemplo n.º 3
0
def ensureVector(x, y=0, z=0, w=0):
    if isVector(x):
        return x
    else:
        return Vec.Vec(x, y, z, w)
Exemplo n.º 4
0
 def __init__(self, label):
     self.label = label
     self.targets = []
     self.vec = Vec(0, 0)
Exemplo n.º 5
0
    if isVector(x):
        return x
    else:
        return Vec.Vec(x, y, z, w)


# TODO: add to test_helpers.py with isMatrix and ensureMatrix


# Ensure testMat is a Mat44 matrix (4 row Vec4s)
def isMatrix(testMat):
    return isinstance(testMat, Mat44.Mat44)


# Ensure matrix, either a Mat44 object, 4 row Vec4s, 16 matrix values
zero = Vec.Vec(0, 0, 0, 0)


def ensureMatrix(row0x,
                 row0y=zero,
                 row0z=zero,
                 row0w=zero,
                 row1x=zero,
                 row1y=zero,
                 row1z=zero,
                 row1w=zero,
                 row2x=zero,
                 row2y=zero,
                 row2z=zero,
                 row2w=zero,
                 row3x=zero,