+
+-- | The front (in the direction of -x) face of the cube.
+front_face :: Cube -> Face
+front_face c = Face v0' v1' v2' v3'
+ where
+ delta = (1/2)*(h c)
+ v0' = (center c) + (-delta, delta, -delta)
+ v1' = (center c) + (-delta, delta, delta)
+ v2' = (center c) + (-delta, -delta, delta)
+ v3' = (center c) + (-delta, -delta, -delta)
+
+
+-- | The left (in the direction of -y) face of the cube.
+left_face :: Cube -> Face
+left_face c = Face v0' v1' v2' v3'
+ where
+ delta = (1/2)*(h c)
+ v0' = (center c) + (-delta, -delta, delta)
+ v1' = (center c) + (delta, -delta, delta)
+ v2' = (center c) + (delta, -delta, -delta)
+ v3' = (center c) + (-delta, -delta, -delta)
+
+
+-- | The right (in the direction of y) face of the cube.
+right_face :: Cube -> Face
+right_face c = Face v0' v1' v2' v3'
+ where
+ delta = (1/2)*(h c)
+ v0' = (center c) + (-delta, delta, -delta)
+ v1' = (center c) + (delta, delta, -delta)
+ v2' = (center c) + (delta, delta, delta)
+ v3' = (center c) + (-delta, delta, delta)
+