def normals(self) -> torch.Tensor:
        """
        Returns an [N x 3] batch of normal vectors per triangle assuming the
        right-hand rule.
        """
        tris = self.vertices[self.faces]
        v1 = tris[:, 1] - tris[:, 0]
        v2 = tris[:, 2] - tris[:, 0]
        return normalize(cross_product(v1, v2))

        Returns an [N x 3] batch of normal vectors per triangle assuming the
        right-hand rule.
        
shap_e/rendering/raycast/types.py