anim_t = 0.0 anim_t_dir = 0.015 use_dqs = False recompute = True animation = False # Flag needed as there is some synchronization problem with viewer.core.is_animating poses = [[]] igl.readOBJ(TUTORIAL_SHARED_PATH + "arm.obj", V, F) U = igl.eigen.MatrixXd(V) igl.readTGF(TUTORIAL_SHARED_PATH + "arm.tgf", C, BE) # retrieve parents for forward kinematics igl.directed_edge_parents(BE, P) rest_pose = igl.RotationList() igl.directed_edge_orientations(C, BE, rest_pose) poses = [[igl.eigen.Quaterniond.Identity() for i in range(4)] for j in range(4)] twist = igl.eigen.Quaterniond(pi, igl.eigen.MatrixXd([1, 0, 0])) poses[1][2] = rest_pose[2] * twist * rest_pose[2].conjugate() bend = igl.eigen.Quaterniond(-pi * 0.7, igl.eigen.MatrixXd([0, 0, 1])) poses[3][2] = rest_pose[2] * bend * rest_pose[2].conjugate() igl.readDMAT(TUTORIAL_SHARED_PATH + "arm-weights.dmat", W) igl.lbs_matrix(V, W, M) # Plot the mesh with pseudocolors viewer = igl.viewer.Viewer() viewer.data.set_mesh(U, F) viewer.data.set_edges(C, BE, sea_green) viewer.core.show_lines = False
anim_t = 0.0 anim_t_dir = 0.015 use_dqs = False recompute = True animation = False # Flag needed as there is some synchronization problem with viewer.core.is_animating poses = [[]] igl.readOBJ(TUTORIAL_SHARED_PATH + "arm.obj", V, F) U = igl.eigen.MatrixXd(V) igl.readTGF(TUTORIAL_SHARED_PATH + "arm.tgf", C, BE) # retrieve parents for forward kinematics igl.directed_edge_parents(BE, P) rest_pose = igl.RotationList() igl.directed_edge_orientations(C, BE, rest_pose) poses = [[igl.eigen.Quaterniond.Identity() for i in range(4)] for j in range(4)] twist = igl.eigen.Quaterniond(pi, igl.eigen.MatrixXd([1, 0, 0])) poses[1][2] = rest_pose[2] * twist * rest_pose[2].conjugate() bend = igl.eigen.Quaterniond(-pi * 0.7, igl.eigen.MatrixXd([0, 0, 1])) poses[3][2] = rest_pose[2] * bend * rest_pose[2].conjugate() igl.readDMAT(TUTORIAL_SHARED_PATH + "arm-weights.dmat", W) igl.lbs_matrix(V, W, M) # Plot the mesh with pseudocolors viewer = igl.viewer.Viewer() viewer.data.set_mesh(U, F) viewer.data.set_edges(C, BE, sea_green)