Implement method Polyhedron.faces()
authorVivien Maisonneuve <v.maisonneuve@gmail.com>
Sat, 12 Jul 2014 07:57:20 +0000 (09:57 +0200)
committerVivien Maisonneuve <v.maisonneuve@gmail.com>
Sat, 12 Jul 2014 07:57:20 +0000 (09:57 +0200)
pypol/polyhedra.py

index 5d9c287..37f16e0 100644 (file)
@@ -242,6 +242,17 @@ class Polyhedron(Domain):
             angles[m] = angle
         return sorted(points, key=angles.get)
 
+    def faces(self):
+        vertices = self.vertices()
+        faces = []
+        for constraint in self.constraints:
+            face = []
+            for vertex in vertices:
+                if constraint.subs(vertex.coordinates()) == 0:
+                    face.append(vertex)
+            faces.append(face)
+        return faces
+
     def plot(self):
         import matplotlib.pyplot as plt
         from matplotlib.path import Path