コード例 #1
0
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)
コード例 #2
0
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)
コード例 #3
0
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)
コード例 #4
0
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)