geometric/internal.py
def value(self, xyz):
        """
        This function measures the displacement of the BA and BC unit
        vectors in the linear angle "ABC". The displacements are measured
        along two axes that are perpendicular to the AC unit vector.
        """
        xyz = xyz.reshape(-1,3)
        a = self.a
        b = self.b
        c = self.c
        # Unit vector pointing from a to c.
        v = xyz[c] - xyz[a]
        ev = v / np.linalg.norm(v)
        if self.e0 is None: self.reset(xyz)
        e0 = self.e0
        self.stored_dot2 = np.dot(ev, e0)**2
        # Now make two unit vectors that are perpendicular to this one.
        c1 = np.cross(ev, e0)
        e1 = c1 / np.linalg.norm(c1)
        c2 = np.cross(ev, e1)
        e2 = c2 / np.linalg.norm(c2)
        # BA and BC unit vectors in ABC angle
        vba = xyz[a]-xyz[b]
        eba = vba / np.linalg.norm(vba)
        vbc = xyz[c]-xyz[b]
        ebc = vbc / np.linalg.norm(vbc)
        if self.axis == 0:
            answer = np.dot(eba, e1) + np.dot(ebc, e1)
        else:
            answer = np.dot(eba, e2) + np.dot(ebc, e2)
        return answer

        This function measures the displacement of the BA and BC unit
        vectors in the linear angle "ABC". The displacements are measured
        along two axes that are perpendicular to the AC unit vector.
        
This function measures the displacement of the BA and BC unit
vectors in the linear angle "ABC". The displacements are measured
along two axes that are perpendicular to the AC unit vector.
This function measures the displacement of the BA and BC unit vectors in the linear angle " ABC " . The displacements are measured along two axes that are perpendicular to the AC unit vector .
def value(self, xyz):
        xyz = xyz.reshape(-1,3)
        a = self.a
        b = self.b
        c = self.c
        v = xyz[c] - xyz[a]
        ev = v / np.linalg.norm(v)
        if self.e0 is None: self.reset(xyz)
        e0 = self.e0
        self.stored_dot2 = np.dot(ev, e0)**2
        c1 = np.cross(ev, e0)
        e1 = c1 / np.linalg.norm(c1)
        c2 = np.cross(ev, e1)
        e2 = c2 / np.linalg.norm(c2)
        vba = xyz[a]-xyz[b]
        eba = vba / np.linalg.norm(vba)
        vbc = xyz[c]-xyz[b]
        ebc = vbc / np.linalg.norm(vbc)
        if self.axis == 0:
            answer = np.dot(eba, e1) + np.dot(ebc, e1)
        else:
            answer = np.dot(eba, e2) + np.dot(ebc, e2)
        return answer
def value ( self , xyz ) : xyz = xyz . reshape ( - 1 , 3 ) a = self . a b = self . b c = self . c v = xyz [ c ] - xyz [ a ] ev = v / np . linalg . norm ( v ) if self . e0 is None : self . reset ( xyz ) e0 = self . e0 self . stored_dot2 = np . dot ( ev , e0 ) ** 2 c1 = np . cross ( ev , e0 ) e1 = c1 / np . linalg . norm ( c1 ) c2 = np . cross ( ev , e1 ) e2 = c2 / np . linalg . norm ( c2 ) vba = xyz [ a ] - xyz [ b ] eba = vba / np . linalg . norm ( vba ) vbc = xyz [ c ] - xyz [ b ] ebc = vbc / np . linalg . norm ( vbc ) if self . axis == 0 : answer = np . dot ( eba , e1 ) + np . dot ( ebc , e1 ) else : answer = np . dot ( eba , e2 ) + np . dot ( ebc , e2 ) return answer
This function measures the displacement of the BA and BC unit
vectors in the linear angle "ABC".
This function measures the displacement of the BA and BC unit vectors in the linear angle " ABC " .
"""
        This function measures the displacement of the BA and BC unit
        vectors in the linear angle "ABC". The displacements are measured
        along two axes that are perpendicular to the AC unit vector.
        """ # Unit vector pointing from a to c. # Now make two unit vectors that are perpendicular to this one. # BA and BC unit vectors in ABC angle
self
xyz