color = i_to_rgb(angle / anglemax) colors[idx] = color vectors = {} for fkey, angle in angles.items(): y = 1.0 / math.tan(math.radians(angle)) x_vec = [1.0, 0.0, 0.0] y_vec = [0.0, y, 0.0] vec = normalize_vector(add_vectors(x_vec, y_vec)) vectors[fkey] = vec # ========================================================================== # Create Face Adjacency Network - keys from 0 to N! # ========================================================================== n = mesh.number_of_faces() # A = np.zeros((n, n)) # print('Shape of Adjacency Matrix', A.shape) # for fkey in mesh.faces(): # nbrs = mesh.face_neighbors(fkey) # for nbr in nbrs: # # A[fkey, nbr] = 1.0 # angle_diff = math.fabs(angles[fkey] - angles[nbr]) # A[fkey, nbr] = angle_diff # # all options # A_all = np.zeros((n, n))
fkeys = cluster.faces_keys for fkey in fkeys: vector = str_mesh.cMesh.get_face_attribute(fkey, vector_tag) vector = normalize_vector(vector) ali_vec = ut.align_vector(vector, proxy) difference = cg.subtract_vectors(ali_vec, proxy) _error = cg.length_vector_sqrd(difference) # original # for face in faces: # error += face.get_error() error += _error print('error', error) error /= mesh.number_of_faces() print('error', error) errors.append(error) with open('errors.txt', 'w') as f: for e in errors: f.write(str(e)) f.write('\n') import matplotlib.pyplot as plt plt.plot(errors) plt.show() # ========================================================================== # Visualization # ==========================================================================