def getuglobal(b,mu,nu,pos,posd,thetad): A = Mmath.get_rot_mat_2d(thetad) Areverse = Mmath.get_rot_mat_2d(-thetad) dpos = pos - posd dposrot = np.einsum('ij,j',A,dpos) urot = getu(b,mu,nu,dposrot) return np.einsum('ij,j',Areverse,urot)
def get_u_global(b,nu,pos,posdisl,thetadisl,degoption=True): A = Mmath.get_rot_mat_2d(thetadisl,degoption=degoption) Areverse = Mmath.get_rot_mat_2d(-thetadisl,degoption=degoption) dpos = pos - posd dposrot = np.einsum('ij,j',A,dpos) urot = getu(b,nu,dposrot) return np.einsum('ij,j',Areverse,urot)
def get_u_global(b, nu, pos, posdisl, thetadisl, degoption=True): A = Mmath.get_rot_mat_2d(thetadisl, degoption=degoption) Areverse = Mmath.get_rot_mat_2d(-thetadisl, degoption=degoption) dpos = pos - posd dposrot = np.einsum('ij,j', A, dpos) urot = getu(b, nu, dposrot) return np.einsum('ij,j', Areverse, urot)
def gen_marker(angle,sgn,width,aspectratio=1,degoption=True): if degoption: angle = np.radians(angle) if sgn == -1: angle = angle + np.pi # rotate by 180 verts, codes = base_marker_pieces(width,height=width*aspectratio) rotmat = Mmath.get_rot_mat_2d(angle,degoption=False) verts = np.einsum('ij,jk',verts,rotmat) return Path(verts,codes)