code: def AcosTriAngles(v, f, normalize):
      
  
      if normalize:
          nm = lambda x : NormalizedNx3(x)
      else:
          nm = lambda x : x
  
      return Ch(lambda v :
          Sum3xN(NormalizedNx3(TriEdges(f, 1, 0, nm(v))) * NormalizedNx3(TriEdges(f, 2, 0, nm(v)))) &
          Sum3xN(NormalizedNx3(TriEdges(f, 2, 1, nm(v))) * NormalizedNx3(TriEdges(f, 0, 1, nm(v)))) &
          Sum3xN(NormalizedNx3(TriEdges(f, 0, 2, nm(v))) * NormalizedNx3(TriEdges(f, 1, 2, nm(v)))))
docs: Returns a Ch object whose only attribute "v" represents the flattened vertices.