--- | All tetrahedron should have their v0 located at the center of the cube.
-prop_v0_all_equal :: Cube -> Bool
-prop_v0_all_equal c = (v0 t0) == (v0 t1)
- where
- t0 = head (tetrahedrons c) -- Doesn't matter which two we choose.
- t1 = head $ tail (tetrahedrons c)
-
-
--- | This pretty much repeats the prop_all_volumes_positive property,
--- but will let me know which tetrahedrons's vertices are disoriented.
-prop_tetrahedron0_volumes_positive :: Cube -> Bool
-prop_tetrahedron0_volumes_positive c =
- volume (tetrahedron0 c) > 0
-
--- | This pretty much repeats the prop_all_volumes_positive property,
--- but will let me know which tetrahedrons's vertices are disoriented.
-prop_tetrahedron1_volumes_positive :: Cube -> Bool
-prop_tetrahedron1_volumes_positive c =
- volume (tetrahedron1 c) > 0
-
--- | This pretty much repeats the prop_all_volumes_positive property,
--- but will let me know which tetrahedrons's vertices are disoriented.
-prop_tetrahedron2_volumes_positive :: Cube -> Bool
-prop_tetrahedron2_volumes_positive c =
- volume (tetrahedron2 c) > 0
-
--- | This pretty much repeats the prop_all_volumes_positive property,
--- but will let me know which tetrahedrons's vertices are disoriented.
-prop_tetrahedron3_volumes_positive :: Cube -> Bool
-prop_tetrahedron3_volumes_positive c =
- volume (tetrahedron3 c) > 0
-
--- | This pretty much repeats the prop_all_volumes_positive property,
--- but will let me know which tetrahedrons's vertices are disoriented.
-prop_tetrahedron4_volumes_positive :: Cube -> Bool
-prop_tetrahedron4_volumes_positive c =
- volume (tetrahedron4 c) > 0
-
--- | This pretty much repeats the prop_all_volumes_positive property,
--- but will let me know which tetrahedrons's vertices are disoriented.
-prop_tetrahedron5_volumes_positive :: Cube -> Bool
-prop_tetrahedron5_volumes_positive c =
- volume (tetrahedron5 c) > 0
-
--- | This pretty much repeats the prop_all_volumes_positive property,
--- but will let me know which tetrahedrons's vertices are disoriented.
-prop_tetrahedron6_volumes_positive :: Cube -> Bool
-prop_tetrahedron6_volumes_positive c =
- volume (tetrahedron6 c) > 0
-
--- | This pretty much repeats the prop_all_volumes_positive property,
--- but will let me know which tetrahedrons's vertices are disoriented.
-prop_tetrahedron7_volumes_positive :: Cube -> Bool
-prop_tetrahedron7_volumes_positive c =
- volume (tetrahedron7 c) > 0
-
--- | This pretty much repeats the prop_all_volumes_positive property,
--- but will let me know which tetrahedrons's vertices are disoriented.
-prop_tetrahedron8_volumes_positive :: Cube -> Bool
-prop_tetrahedron8_volumes_positive c =
- volume (tetrahedron8 c) > 0
-
--- | This pretty much repeats the prop_all_volumes_positive property,
--- but will let me know which tetrahedrons's vertices are disoriented.
-prop_tetrahedron9_volumes_positive :: Cube -> Bool
-prop_tetrahedron9_volumes_positive c =
- volume (tetrahedron9 c) > 0
-
--- | This pretty much repeats the prop_all_volumes_positive property,
--- but will let me know which tetrahedrons's vertices are disoriented.
-prop_tetrahedron10_volumes_positive :: Cube -> Bool
-prop_tetrahedron10_volumes_positive c =
- volume (tetrahedron10 c) > 0
-
--- | This pretty much repeats the prop_all_volumes_positive property,
--- but will let me know which tetrahedrons's vertices are disoriented.
-prop_tetrahedron11_volumes_positive :: Cube -> Bool
-prop_tetrahedron11_volumes_positive c =
- volume (tetrahedron11 c) > 0
-
--- | This pretty much repeats the prop_all_volumes_positive property,
--- but will let me know which tetrahedrons's vertices are disoriented.
-prop_tetrahedron12_volumes_positive :: Cube -> Bool
-prop_tetrahedron12_volumes_positive c =
- volume (tetrahedron12 c) > 0
-
--- | This pretty much repeats the prop_all_volumes_positive property,
--- but will let me know which tetrahedrons's vertices are disoriented.
-prop_tetrahedron13_volumes_positive :: Cube -> Bool
-prop_tetrahedron13_volumes_positive c =
- volume (tetrahedron13 c) > 0
-
--- | This pretty much repeats the prop_all_volumes_positive property,
--- but will let me know which tetrahedrons's vertices are disoriented.
-prop_tetrahedron14_volumes_positive :: Cube -> Bool
-prop_tetrahedron14_volumes_positive c =
- volume (tetrahedron14 c) > 0
-
--- | This pretty much repeats the prop_all_volumes_positive property,
--- but will let me know which tetrahedrons's vertices are disoriented.
-prop_tetrahedron15_volumes_positive :: Cube -> Bool
-prop_tetrahedron15_volumes_positive c =
- volume (tetrahedron15 c) > 0
-
--- | This pretty much repeats the prop_all_volumes_positive property,
--- but will let me know which tetrahedrons's vertices are disoriented.
-prop_tetrahedron16_volumes_positive :: Cube -> Bool
-prop_tetrahedron16_volumes_positive c =
- volume (tetrahedron16 c) > 0
-
--- | This pretty much repeats the prop_all_volumes_positive property,
--- but will let me know which tetrahedrons's vertices are disoriented.
-prop_tetrahedron17_volumes_positive :: Cube -> Bool
-prop_tetrahedron17_volumes_positive c =
- volume (tetrahedron17 c) > 0
-
--- | This pretty much repeats the prop_all_volumes_positive property,
--- but will let me know which tetrahedrons's vertices are disoriented.
-prop_tetrahedron18_volumes_positive :: Cube -> Bool
-prop_tetrahedron18_volumes_positive c =
- volume (tetrahedron18 c) > 0
-
--- | This pretty much repeats the prop_all_volumes_positive property,
--- but will let me know which tetrahedrons's vertices are disoriented.
-prop_tetrahedron19_volumes_positive :: Cube -> Bool
-prop_tetrahedron19_volumes_positive c =
- volume (tetrahedron19 c) > 0
-
--- | This pretty much repeats the prop_all_volumes_positive property,
--- but will let me know which tetrahedrons's vertices are disoriented.
-prop_tetrahedron20_volumes_positive :: Cube -> Bool
-prop_tetrahedron20_volumes_positive c =
- volume (tetrahedron20 c) > 0
-
--- | This pretty much repeats the prop_all_volumes_positive property,
--- but will let me know which tetrahedrons's vertices are disoriented.
-prop_tetrahedron21_volumes_positive :: Cube -> Bool
-prop_tetrahedron21_volumes_positive c =
- volume (tetrahedron21 c) > 0
-
--- | This pretty much repeats the prop_all_volumes_positive property,
--- but will let me know which tetrahedrons's vertices are disoriented.
-prop_tetrahedron22_volumes_positive :: Cube -> Bool
-prop_tetrahedron22_volumes_positive c =
- volume (tetrahedron22 c) > 0
-
--- | This pretty much repeats the prop_all_volumes_positive property,
--- but will let me know which tetrahedrons's vertices are disoriented.
-prop_tetrahedron23_volumes_positive :: Cube -> Bool
-prop_tetrahedron23_volumes_positive c =
- volume (tetrahedron23 c) > 0
-
-
--- | Given in Sorokina and Zeilfelder, p. 79. Note that the third and
--- fourth indices of c-t3 have been switched. This is because we
--- store the triangles oriented such that their volume is
--- positive. If T and T-tilde share <v0,v1,v2> and v3,v3-tilde point
--- in opposite directions, one of them has to have negative volume!
-prop_c0120_identity1 :: Cube -> Bool
-prop_c0120_identity1 cube =
- c t0 0 1 2 0 ~= (c t0 0 0 2 1 + c t3 0 0 1 2) / 2