pub const POLYHEDRON_AQUA_VERTICES: [(f64, f64, f64); 28] = [
(-1.52, 1.06, 7.06),
(-1.40, 0.80, 5.96),
(-1.10, 0.61, 7.27),
(-0.86, 0.32, 6.50),
(-1.61, 0.24, 8.27),
(-1.48, 0.20, 4.97),
(-5.16, -0.38, 7.85),
(-6.41, -0.65, 6.64),
(-6.13, -1.37, 6.62),
(-1.83, -0.52, 8.43),
(-2.53, -0.73, 4.41),
(-3.66, -1.07, 4.87),
(-1.05, -0.34, 7.63),
(-5.52, -2.22, 7.40),
(-2.96, -1.25, 8.14),
(-3.93, -1.87, 7.84),
(-2.97, -1.44, 4.35),
(-4.59, -2.77, 7.11),
(-2.91, -1.76, 7.94),
(-4.83, -3.04, 4.83),
(-2.20, -2.19, 7.50),
(-0.72, -0.77, 5.63),
(-3.32, -4.28, 4.01),
(-0.74, -1.10, 5.00),
(-1.65, -2.52, 4.40),
(-2.79, -4.44, 4.79),
(-1.11, -2.48, 6.64),
(-1.40, -4.00, 4.81),
];
pub const POLYHEDRON_AQUA_FACES: [(usize, usize, usize); 52] = [
(0, 6, 7),
(6, 13, 7),
(26, 12, 21),
(12, 26, 9),
(1, 0, 7),
(26, 20, 9),
(12, 3, 21),
(1, 3, 0),
(4, 12, 9),
(6, 4, 9),
(4, 6, 0),
(11, 10, 7),
(19, 11, 7),
(13, 8, 7),
(8, 19, 7),
(19, 8, 13),
(23, 26, 21),
(3, 23, 21),
(20, 27, 25),
(27, 20, 26),
(23, 27, 26),
(27, 23, 24),
(22, 13, 25),
(22, 19, 13),
(27, 22, 25),
(22, 27, 24),
(22, 24, 10),
(20, 18, 9),
(13, 17, 25),
(17, 20, 25),
(17, 18, 20),
(2, 3, 12),
(4, 2, 12),
(3, 2, 0),
(2, 4, 0),
(24, 5, 10),
(23, 5, 24),
(10, 5, 7),
(5, 1, 7),
(5, 3, 1),
(5, 23, 3),
(16, 22, 10),
(22, 16, 19),
(11, 16, 10),
(16, 11, 19),
(18, 14, 9),
(14, 6, 9),
(15, 17, 13),
(17, 15, 18),
(15, 14, 18),
(6, 15, 13),
(14, 15, 6),
];
pub const POLYHEDRON_BEIGE_VERTICES: [(f64, f64, f64); 32] = [
(3.36, 2.06, 5.22),
(3.17, 2.99, 5.02),
(2.03, 2.05, 7.21),
(1.23, 1.25, 5.51),
(1.38, 1.44, 4.72),
(2.95, 3.24, 6.71),
(1.34, 1.66, 4.07),
(1.84, 2.31, 3.65),
(3.54, 4.54, 5.64),
(3.34, 4.50, 6.55),
(2.27, 3.11, 7.89),
(3.02, 4.91, 6.02),
(2.09, 3.48, 4.42),
(2.71, 4.78, 5.51),
(1.00, 1.81, 3.86),
(0.70, 1.28, 6.99),
(1.09, 2.13, 3.79),
(1.59, 3.50, 4.76),
(2.09, 4.70, 5.80),
(1.89, 4.91, 7.01),
(0.52, 1.42, 7.86),
(1.54, 4.27, 8.02),
(0.55, 1.57, 7.95),
(0.79, 2.95, 8.27),
(1.00, 4.20, 6.14),
(0.33, 1.44, 6.08),
(0.25, 1.30, 7.61),
(0.36, 3.23, 7.92),
(0.33, 3.29, 5.71),
(0.12, 1.92, 6.47),
(0.07, 2.34, 6.67),
(0.02, 1.62, 7.46),
];
pub const POLYHEDRON_BEIGE_FACES: [(usize, usize, usize); 60] = [
(11, 13, 8),
(28, 17, 24),
(26, 15, 3),
(15, 26, 20),
(15, 0, 3),
(0, 20, 2),
(0, 15, 20),
(6, 0, 7),
(16, 17, 28),
(12, 7, 8),
(13, 12, 8),
(12, 16, 7),
(16, 12, 17),
(17, 18, 24),
(18, 12, 13),
(12, 18, 17),
(27, 28, 24),
(20, 10, 2),
(10, 0, 2),
(0, 4, 3),
(4, 0, 6),
(7, 1, 8),
(1, 0, 8),
(0, 1, 7),
(14, 6, 7),
(16, 14, 7),
(4, 14, 3),
(14, 4, 6),
(14, 16, 28),
(11, 19, 13),
(19, 18, 13),
(18, 19, 24),
(19, 27, 24),
(27, 19, 21),
(23, 27, 21),
(10, 23, 21),
(30, 27, 31),
(27, 30, 28),
(0, 9, 8),
(9, 11, 8),
(9, 10, 21),
(9, 19, 11),
(19, 9, 21),
(14, 25, 3),
(25, 26, 3),
(26, 25, 31),
(22, 10, 20),
(22, 23, 10),
(22, 26, 31),
(26, 22, 20),
(27, 22, 31),
(23, 22, 27),
(29, 14, 28),
(30, 29, 28),
(29, 25, 14),
(29, 30, 31),
(25, 29, 31),
(10, 5, 0),
(5, 9, 0),
(9, 5, 10),
];
pub const POLYHEDRON_CORAL_VERTICES: [(f64, f64, f64); 34] = [
(13.03, 0.64, 6.05),
(11.27, 0.82, 6.72),
(6.29, 0.94, 7.62),
(7.01, 1.25, 3.99),
(6.31, 1.19, 4.07),
(12.48, 2.41, 4.81),
(13.53, 3.17, 5.40),
(13.39, 3.47, 5.16),
(9.74, 2.62, 3.87),
(3.90, 1.06, 7.08),
(11.42, 3.29, 6.69),
(12.89, 4.12, 4.72),
(12.02, 4.69, 4.49),
(7.67, 3.27, 3.83),
(7.17, 3.23, 7.56),
(4.80, 2.27, 8.02),
(10.25, 4.98, 4.38),
(8.66, 4.71, 3.95),
(8.64, 5.13, 7.18),
(11.17, 6.67, 5.63),
(9.18, 5.73, 4.76),
(10.46, 6.55, 6.39),
(8.15, 5.21, 4.46),
(9.04, 6.62, 5.70),
(6.36, 6.05, 7.05),
(2.44, 2.58, 7.80),
(3.97, 4.49, 8.00),
(2.72, 3.16, 4.04),
(3.31, 3.93, 8.16),
(3.60, 4.61, 7.12),
(2.19, 2.90, 8.11),
(3.49, 4.71, 5.77),
(2.40, 3.28, 8.13),
(2.89, 4.23, 6.82),
];
pub const POLYHEDRON_CORAL_FACES: [(usize, usize, usize); 64] = [
(21, 19, 6),
(17, 27, 13),
(27, 9, 4),
(12, 11, 19),
(2, 9, 30),
(10, 21, 6),
(21, 10, 18),
(23, 24, 31),
(27, 23, 31),
(21, 23, 19),
(24, 23, 21),
(16, 12, 19),
(17, 16, 19),
(16, 17, 12),
(9, 25, 30),
(25, 27, 30),
(27, 25, 9),
(27, 3, 13),
(3, 27, 4),
(8, 11, 12),
(8, 17, 13),
(17, 8, 12),
(3, 8, 13),
(32, 28, 30),
(28, 15, 30),
(15, 2, 30),
(2, 15, 1),
(0, 10, 6),
(10, 0, 1),
(0, 3, 4),
(0, 8, 3),
(9, 0, 4),
(2, 0, 9),
(0, 2, 1),
(24, 29, 31),
(28, 26, 18),
(26, 21, 18),
(26, 24, 21),
(29, 26, 28),
(26, 29, 24),
(20, 17, 19),
(23, 20, 19),
(14, 10, 1),
(15, 14, 1),
(10, 14, 18),
(14, 28, 18),
(14, 15, 28),
(19, 7, 6),
(11, 7, 19),
(32, 33, 28),
(33, 29, 28),
(29, 33, 31),
(33, 27, 31),
(33, 32, 30),
(27, 33, 30),
(22, 23, 27),
(22, 20, 23),
(22, 27, 17),
(20, 22, 17),
(0, 5, 8),
(8, 5, 11),
(5, 7, 11),
(5, 0, 6),
(7, 5, 6),
];
pub const POLYHEDRON_FUCHSIA_VERTICES: [(f64, f64, f64); 18] = [
(8.96, -6.58, 3.96),
(10.18, -7.03, 4.10),
(9.96, -5.45, 3.43),
(9.73, -4.33, 3.22),
(10.43, -4.58, 5.17),
(6.92, -2.81, 3.64),
(5.26, -2.01, 4.72),
(11.91, -4.40, 5.02),
(10.90, -3.90, 3.44),
(12.04, -3.93, 3.69),
(8.84, -2.40, 3.20),
(13.14, -2.91, 4.44),
(8.61, -1.88, 3.35),
(10.10, -1.61, 3.15),
(9.74, -1.16, 3.43),
(13.46, -1.19, 4.07),
(11.82, -0.45, 3.47),
(12.50, -0.40, 3.76),
];
pub const POLYHEDRON_FUCHSIA_FACES: [(usize, usize, usize); 32] = [
(15, 4, 6),
(16, 9, 15),
(9, 16, 13),
(7, 4, 15),
(4, 7, 1),
(17, 15, 6),
(16, 17, 6),
(17, 16, 15),
(14, 16, 6),
(16, 14, 13),
(11, 9, 1),
(7, 11, 1),
(9, 11, 15),
(11, 7, 15),
(14, 12, 13),
(5, 12, 6),
(12, 14, 6),
(0, 3, 5),
(0, 5, 6),
(4, 0, 6),
(0, 4, 1),
(9, 2, 1),
(3, 2, 9),
(2, 0, 1),
(0, 2, 3),
(8, 9, 13),
(3, 8, 13),
(8, 3, 9),
(3, 10, 5),
(10, 12, 5),
(10, 3, 13),
(12, 10, 13),
];
pub const POLYHEDRON_GOLD_VERTICES: [(f64, f64, f64); 47] = [
(4.43, 4.97, 4.94),
(3.67, 4.49, 3.88),
(4.71, 5.87, 4.68),
(6.17, 7.77, 6.24),
(3.22, 4.43, 3.76),
(5.88, 8.14, 6.92),
(6.62, 9.17, 6.19),
(4.80, 6.83, 4.62),
(5.92, 8.79, 5.66),
(3.34, 5.16, 3.77),
(5.72, 9.18, 7.48),
(5.60, 10.74, 6.49),
(3.34, 7.21, 4.35),
(4.09, 8.95, 4.98),
(0.90, 2.11, 3.51),
(1.79, 4.38, 3.74),
(4.37, 10.89, 6.10),
(1.05, 2.67, 6.22),
(4.32, 11.45, 7.58),
(4.04, 11.59, 7.02),
(3.58, 10.52, 5.91),
(3.34, 10.21, 7.95),
(0.82, 2.81, 8.00),
(0.87, 3.41, 8.22),
(1.20, 5.46, 8.40),
(1.36, 6.53, 8.43),
(1.97, 9.91, 8.27),
(0.86, 5.39, 4.28),
(1.16, 7.85, 8.49),
(0.92, 6.80, 8.50),
(1.36, 11.12, 7.93),
(1.28, 10.44, 8.34),
(1.10, 9.15, 8.51),
(0.90, 10.93, 7.94),
(0.25, 3.25, 7.43),
(0.38, 5.94, 4.88),
(0.31, 9.90, 6.73),
(0.09, 3.55, 6.40),
(0.13, 9.31, 8.53),
(-0.03, 8.07, 6.07),
(-0.05, 9.94, 7.47),
(-0.05, 4.18, 7.00),
(-0.21, 9.14, 7.10),
(-0.23, 5.42, 7.49),
(-0.34, 6.91, 6.14),
(-0.64, 8.73, 8.28),
(-0.47, 5.83, 6.61),
];
pub const POLYHEDRON_GOLD_FACES: [(usize, usize, usize); 90] = [
(10, 11, 6),
(9, 15, 14),
(34, 22, 14),
(37, 34, 14),
(22, 34, 45),
(34, 43, 45),
(3, 0, 22),
(22, 17, 14),
(17, 0, 14),
(0, 17, 22),
(2, 3, 6),
(3, 2, 0),
(0, 1, 14),
(2, 1, 0),
(44, 42, 45),
(42, 39, 36),
(39, 42, 44),
(46, 37, 14),
(44, 46, 14),
(46, 44, 45),
(43, 46, 45),
(42, 40, 45),
(40, 42, 36),
(36, 20, 19),
(39, 27, 36),
(27, 20, 36),
(15, 27, 14),
(7, 13, 9),
(1, 7, 9),
(7, 2, 6),
(7, 1, 2),
(11, 8, 6),
(13, 8, 11),
(8, 7, 6),
(7, 8, 13),
(10, 5, 22),
(5, 3, 22),
(5, 10, 6),
(3, 5, 6),
(4, 9, 14),
(1, 4, 14),
(4, 1, 9),
(34, 41, 43),
(41, 46, 43),
(41, 34, 37),
(46, 41, 37),
(30, 36, 19),
(16, 11, 19),
(20, 16, 19),
(16, 13, 11),
(16, 20, 13),
(12, 27, 15),
(12, 15, 9),
(13, 12, 9),
(20, 12, 13),
(27, 12, 20),
(35, 39, 44),
(35, 27, 39),
(35, 44, 14),
(27, 35, 14),
(25, 28, 10),
(24, 25, 10),
(23, 22, 45),
(38, 23, 45),
(23, 10, 22),
(23, 24, 10),
(33, 40, 36),
(30, 33, 36),
(40, 33, 45),
(33, 38, 45),
(33, 30, 31),
(38, 33, 31),
(21, 26, 31),
(32, 38, 31),
(26, 32, 31),
(28, 32, 10),
(32, 21, 10),
(21, 32, 26),
(23, 29, 24),
(29, 23, 38),
(25, 29, 28),
(29, 25, 24),
(29, 32, 28),
(32, 29, 38),
(30, 18, 31),
(18, 21, 31),
(18, 30, 19),
(21, 18, 10),
(11, 18, 19),
(18, 11, 10),
];
pub const POLYHEDRON_LAVENDER_VERTICES: [(f64, f64, f64); 15] = [
(0.69, -6.05, 6.06),
(1.11, -4.63, 6.08),
(0.94, -2.69, 4.72),
(1.43, -3.66, 3.69),
(3.16, -6.15, 5.18),
(1.12, -2.17, 3.58),
(5.36, -5.66, 4.15),
(4.37, -3.94, 7.10),
(2.20, -1.57, 5.41),
(5.38, -3.45, 6.79),
(5.23, -3.31, 6.29),
(2.47, -1.46, 6.17),
(3.99, -2.10, 5.29),
(2.65, -1.17, 5.17),
(3.52, -1.51, 6.85),
];
pub const POLYHEDRON_LAVENDER_FACES: [(usize, usize, usize); 26] = [
(4, 3, 0),
(3, 5, 0),
(3, 6, 5),
(6, 3, 4),
(14, 7, 0),
(7, 14, 9),
(7, 4, 0),
(6, 7, 9),
(7, 6, 4),
(12, 14, 13),
(5, 12, 13),
(6, 12, 5),
(1, 14, 0),
(14, 11, 13),
(1, 11, 14),
(10, 6, 9),
(10, 12, 6),
(14, 10, 9),
(12, 10, 14),
(8, 5, 13),
(11, 8, 13),
(8, 11, 5),
(11, 2, 5),
(2, 11, 1),
(5, 2, 0),
(2, 1, 0),
];
pub const POLYHEDRON_LILAC_VERTICES: [(f64, f64, f64); 20] = [
(0.58, -2.28, 6.37),
(1.60, -5.12, 3.86),
(1.26, -3.75, 6.68),
(3.25, -7.46, 3.60),
(2.64, -5.43, 6.35),
(1.75, -3.01, 7.20),
(1.17, -1.95, 7.16),
(4.43, -6.42, 3.56),
(4.67, -6.16, 4.24),
(1.57, -1.64, 5.88),
(2.91, -2.41, 7.46),
(1.93, -1.41, 7.91),
(3.66, -2.60, 4.25),
(2.02, -1.43, 5.27),
(2.12, -1.29, 6.57),
(6.53, -3.19, 6.66),
(5.34, -1.44, 5.03),
(5.85, -1.30, 5.45),
(4.56, -0.88, 5.02),
(4.80, -0.41, 6.70),
];
pub const POLYHEDRON_LILAC_FACES: [(usize, usize, usize); 36] = [
(3, 4, 15),
(1, 13, 0),
(13, 1, 12),
(7, 1, 3),
(1, 7, 12),
(11, 19, 15),
(13, 18, 19),
(18, 13, 12),
(8, 3, 15),
(7, 8, 15),
(8, 7, 3),
(2, 1, 0),
(2, 4, 3),
(1, 2, 3),
(13, 9, 0),
(9, 11, 0),
(4, 10, 15),
(10, 11, 15),
(11, 10, 4),
(17, 7, 15),
(18, 17, 19),
(19, 17, 15),
(11, 6, 0),
(6, 2, 0),
(2, 6, 11),
(5, 11, 4),
(2, 5, 4),
(5, 2, 11),
(14, 9, 13),
(9, 14, 11),
(14, 13, 19),
(11, 14, 19),
(17, 16, 7),
(16, 17, 18),
(7, 16, 12),
(16, 18, 12),
];
pub const POLYHEDRON_MAGENTA_VERTICES: [(f64, f64, f64); 7] = [
(8.91, -4.74, 3.87),
(8.79, -4.20, 2.92),
(7.29, -2.97, 2.45),
(10.35, -4.11, 3.84),
(7.67, -2.91, 3.81),
(9.14, -3.35, 3.09),
(9.47, -2.70, 3.35),
];
pub const POLYHEDRON_MAGENTA_FACES: [(usize, usize, usize); 10] = [
(4, 0, 2),
(6, 4, 2),
(0, 4, 3),
(4, 6, 3),
(0, 1, 2),
(1, 0, 3),
(6, 5, 3),
(5, 1, 3),
(5, 6, 2),
(1, 5, 2),
];
pub const POLYHEDRON_MAUVE_VERTICES: [(f64, f64, f64); 44] = [
(2.35, 0.95, 7.99),
(1.51, 0.99, 3.26),
(0.84, 0.65, 3.56),
(1.80, 1.51, 4.43),
(1.05, 1.03, 7.62),
(0.75, 0.76, 6.58),
(1.10, 1.16, 7.77),
(1.49, 1.66, 8.01),
(1.43, 1.61, 3.83),
(1.48, 2.00, 7.01),
(1.32, 1.79, 6.00),
(0.66, 1.20, 5.69),
(0.56, -3.12, 4.73),
(0.94, -3.76, 4.00),
(1.26, -4.08, 6.25),
(1.49, -4.65, 3.53),
(1.94, -5.18, 4.22),
(2.26, -5.43, 4.66),
(0.95, -2.12, 7.22),
(0.99, -1.90, 3.10),
(2.29, -4.27, 6.16),
(3.36, -5.86, 3.38),
(3.51, -5.82, 3.95),
(4.20, -5.69, 4.78),
(3.05, -3.88, 6.71),
(0.56, -0.70, 5.68),
(2.39, -2.79, 7.15),
(2.17, -2.32, 2.29),
(5.76, -5.40, 4.25),
(2.49, -2.18, 7.45),
(6.62, -4.90, 5.26),
(4.34, -3.21, 6.98),
(0.96, -0.66, 3.05),
(5.12, -3.16, 3.27),
(7.26, -4.24, 6.00),
(7.98, -4.43, 5.27),
(7.12, -3.47, 4.44),
(2.67, -1.24, 2.42),
(7.15, -3.10, 4.65),
(5.71, -1.66, 7.20),
(3.75, -0.79, 3.05),
(5.93, -0.90, 6.85),
(5.53, -0.66, 5.34),
(5.14, -0.35, 4.34),
];
pub const POLYHEDRON_MAUVE_FACES: [(usize, usize, usize); 84] = [
(15, 21, 27),
(8, 11, 2),
(15, 13, 12),
(14, 15, 12),
(2, 25, 12),
(11, 25, 2),
(11, 10, 9),
(10, 8, 9),
(8, 10, 11),
(19, 15, 27),
(19, 13, 15),
(13, 19, 12),
(39, 31, 29),
(34, 31, 39),
(0, 39, 29),
(7, 0, 29),
(6, 11, 9),
(7, 6, 9),
(34, 41, 35),
(41, 34, 39),
(0, 41, 39),
(43, 41, 9),
(41, 0, 7),
(41, 7, 9),
(8, 3, 9),
(3, 43, 9),
(43, 3, 8),
(1, 43, 8),
(1, 8, 2),
(37, 1, 27),
(36, 28, 35),
(32, 19, 27),
(1, 32, 27),
(32, 1, 2),
(32, 2, 12),
(19, 32, 12),
(14, 16, 15),
(17, 16, 14),
(15, 16, 21),
(16, 17, 21),
(23, 28, 21),
(23, 17, 14),
(5, 25, 11),
(6, 5, 11),
(18, 14, 12),
(25, 18, 12),
(5, 18, 25),
(26, 18, 29),
(18, 7, 29),
(18, 6, 7),
(41, 38, 35),
(38, 36, 35),
(36, 38, 43),
(40, 36, 43),
(1, 40, 43),
(40, 1, 37),
(17, 22, 21),
(22, 23, 21),
(23, 22, 17),
(28, 30, 35),
(23, 30, 28),
(30, 34, 35),
(30, 23, 34),
(24, 31, 34),
(23, 24, 34),
(18, 24, 14),
(24, 18, 26),
(31, 24, 29),
(24, 26, 29),
(4, 5, 6),
(18, 4, 6),
(4, 18, 5),
(42, 41, 43),
(38, 42, 43),
(42, 38, 41),
(33, 40, 37),
(40, 33, 36),
(33, 37, 27),
(21, 33, 27),
(28, 33, 21),
(36, 33, 28),
(20, 23, 14),
(24, 20, 14),
(20, 24, 23),
];
pub const POLYHEDRON_NAVY_VERTICES: [(f64, f64, f64); 24] = [
(-0.16, -1.70, 1.75),
(-0.15, -2.80, 2.18),
(0.11, -3.90, 2.41),
(0.16, -2.58, 2.77),
(0.34, -4.80, 2.17),
(0.15, -1.93, 1.47),
(0.12, -1.37, 1.42),
(0.51, -5.51, 2.17),
(0.14, -1.31, 1.81),
(0.57, -4.95, 1.61),
(0.78, -6.05, 2.73),
(0.25, -1.72, 1.39),
(1.07, -7.13, 2.21),
(0.26, -1.58, 1.41),
(0.66, -3.70, 1.55),
(0.31, -1.54, 1.43),
(1.07, -4.40, 1.92),
(0.35, -1.32, 1.56),
(0.77, -2.73, 2.61),
(0.83, -2.74, 1.77),
(0.39, -1.27, 1.80),
(0.49, -1.59, 2.01),
(0.90, -2.85, 2.15),
(0.85, -2.13, 2.00),
];
pub const POLYHEDRON_NAVY_FACES: [(usize, usize, usize); 44] = [
(9, 12, 16),
(12, 18, 16),
(10, 2, 3),
(10, 18, 12),
(18, 10, 3),
(1, 9, 0),
(3, 1, 0),
(2, 1, 3),
(8, 3, 0),
(8, 20, 3),
(22, 23, 16),
(18, 22, 16),
(22, 18, 23),
(21, 20, 23),
(18, 21, 23),
(20, 21, 3),
(21, 18, 3),
(7, 10, 12),
(10, 7, 2),
(9, 7, 12),
(9, 5, 0),
(14, 9, 16),
(14, 11, 9),
(4, 1, 2),
(7, 4, 2),
(1, 4, 9),
(4, 7, 9),
(11, 6, 9),
(6, 5, 9),
(5, 6, 0),
(13, 6, 11),
(6, 8, 0),
(19, 14, 16),
(23, 19, 16),
(20, 17, 23),
(8, 17, 20),
(6, 17, 8),
(15, 6, 13),
(15, 17, 6),
(15, 13, 11),
(15, 19, 23),
(17, 15, 23),
(14, 15, 11),
(19, 15, 14),
];
pub const POLYHEDRON_PEACH_VERTICES: [(f64, f64, f64); 28] = [
(5.48, 2.97, 6.04),
(4.64, 2.58, 6.54),
(7.96, 4.46, 6.89),
(7.51, 4.32, 6.13),
(4.91, 3.04, 7.40),
(4.54, 3.00, 7.73),
(6.09, 4.18, 7.84),
(4.40, 3.06, 7.90),
(6.74, 5.22, 6.45),
(6.56, 5.37, 7.34),
(4.19, 4.02, 5.00),
(5.48, 5.43, 7.72),
(3.55, 4.68, 8.23),
(1.52, 2.24, 7.99),
(1.77, 2.62, 8.59),
(2.23, 3.48, 6.27),
(2.72, 4.57, 5.93),
(3.36, 5.70, 6.10),
(3.68, 6.57, 7.67),
(1.35, 2.61, 8.33),
(2.84, 5.87, 7.06),
(1.93, 4.13, 6.46),
(2.14, 4.60, 8.49),
(2.45, 5.73, 7.80),
(1.93, 4.76, 8.49),
(1.04, 2.72, 7.62),
(1.55, 4.11, 8.42),
(1.69, 4.87, 8.37),
];
pub const POLYHEDRON_PEACH_FACES: [(usize, usize, usize); 52] = [
(0, 1, 2),
(1, 0, 10),
(15, 21, 25),
(13, 15, 25),
(15, 1, 10),
(15, 13, 1),
(17, 8, 18),
(8, 17, 10),
(3, 0, 2),
(0, 3, 10),
(8, 3, 2),
(3, 8, 10),
(6, 9, 2),
(9, 8, 2),
(8, 9, 18),
(13, 5, 1),
(5, 13, 14),
(26, 24, 14),
(19, 13, 25),
(13, 19, 14),
(26, 19, 25),
(19, 26, 14),
(17, 16, 10),
(16, 17, 21),
(16, 15, 10),
(15, 16, 21),
(17, 20, 21),
(20, 23, 21),
(20, 17, 18),
(23, 20, 18),
(9, 11, 18),
(11, 9, 6),
(11, 24, 18),
(6, 7, 14),
(7, 5, 14),
(7, 6, 2),
(5, 7, 2),
(1, 4, 2),
(4, 5, 2),
(5, 4, 1),
(27, 23, 18),
(24, 27, 18),
(27, 24, 26),
(27, 26, 25),
(23, 27, 21),
(21, 27, 25),
(22, 6, 14),
(24, 22, 14),
(11, 12, 24),
(12, 22, 24),
(12, 11, 6),
(22, 12, 6),
];
pub const POLYHEDRON_ROSE_VERTICES: [(f64, f64, f64); 51] = [
(14.69, 0.02, 4.07),
(15.69, 0.54, 5.26),
(11.05, 1.20, 6.61),
(5.81, 0.94, 8.10),
(13.81, 2.73, 4.01),
(7.73, 1.64, 2.34),
(6.23, 1.38, 2.27),
(12.78, 2.94, 5.23),
(12.51, 3.69, 4.25),
(11.04, 3.63, 3.31),
(7.79, 2.83, 7.24),
(6.50, 2.63, 2.54),
(9.67, 4.03, 5.78),
(3.61, 1.68, 8.20),
(3.48, 1.80, 3.11),
(4.43, 2.41, 8.01),
(2.59, 1.56, 8.20),
(6.30, 3.88, 7.29),
(3.23, 2.63, 3.25),
(2.32, 2.03, 8.10),
(5.01, 4.49, 7.34),
(6.17, 5.76, 5.12),
(2.62, 3.19, 8.05),
(1.84, 2.31, 3.65),
(2.50, 4.11, 7.30),
(1.73, 3.04, 5.95),
(1.82, 3.43, 7.03),
(0.59, 1.76, 7.74),
(6.08, -4.63, 3.17),
(8.16, -5.22, 3.55),
(6.50, -4.14, 2.37),
(6.67, -3.96, 6.13),
(10.02, -5.34, 4.76),
(2.60, -1.31, 6.31),
(4.19, -1.97, 2.92),
(12.10, -5.15, 3.79),
(11.73, -4.92, 3.64),
(10.21, -4.15, 5.90),
(4.89, -1.59, 2.53),
(11.65, -3.27, 3.32),
(8.91, -2.31, 6.78),
(8.07, -2.03, 2.52),
(2.51, -0.57, 6.90),
(12.90, -2.59, 3.60),
(13.52, -2.26, 6.00),
(7.73, -1.17, 2.42),
(15.23, -2.18, 4.42),
(13.68, -1.68, 3.69),
(11.32, -1.33, 3.06),
(15.02, -0.59, 4.18),
(8.60, -0.18, 2.53),
];
pub const POLYHEDRON_ROSE_FACES: [(usize, usize, usize); 98] = [
(23, 25, 27),
(23, 18, 21),
(9, 8, 21),
(33, 31, 28),
(33, 23, 27),
(31, 37, 32),
(16, 31, 27),
(31, 16, 3),
(29, 31, 32),
(31, 29, 28),
(8, 4, 1),
(4, 8, 9),
(24, 23, 21),
(24, 25, 23),
(24, 22, 27),
(11, 9, 21),
(18, 11, 21),
(11, 18, 6),
(14, 38, 6),
(38, 14, 23),
(18, 14, 6),
(14, 18, 23),
(34, 38, 23),
(34, 33, 28),
(33, 34, 23),
(29, 30, 28),
(30, 34, 28),
(34, 30, 38),
(38, 30, 6),
(31, 42, 27),
(42, 33, 27),
(33, 42, 31),
(35, 29, 32),
(35, 30, 29),
(37, 35, 32),
(35, 37, 44),
(44, 40, 3),
(37, 40, 44),
(40, 31, 3),
(40, 37, 31),
(22, 19, 27),
(19, 16, 27),
(16, 19, 22),
(16, 13, 3),
(13, 16, 22),
(17, 10, 3),
(15, 17, 3),
(13, 15, 3),
(15, 13, 22),
(8, 12, 21),
(24, 20, 22),
(20, 15, 22),
(15, 20, 17),
(20, 24, 21),
(12, 20, 21),
(20, 12, 17),
(25, 26, 27),
(26, 24, 27),
(24, 26, 25),
(30, 5, 6),
(5, 48, 9),
(5, 11, 6),
(11, 5, 9),
(46, 35, 44),
(46, 44, 1),
(30, 39, 48),
(2, 10, 1),
(10, 2, 3),
(44, 2, 1),
(2, 44, 3),
(7, 8, 1),
(7, 12, 8),
(12, 7, 17),
(10, 7, 1),
(7, 10, 17),
(45, 5, 30),
(4, 49, 1),
(49, 46, 1),
(35, 36, 30),
(36, 39, 30),
(39, 36, 35),
(46, 47, 35),
(49, 47, 46),
(39, 47, 48),
(41, 30, 48),
(45, 41, 48),
(41, 45, 30),
(5, 50, 48),
(50, 45, 48),
(45, 50, 5),
(43, 39, 35),
(47, 43, 35),
(43, 47, 39),
(0, 49, 4),
(0, 47, 49),
(47, 0, 48),
(0, 4, 9),
(48, 0, 9),
];
pub const POLYHEDRON_RUST_VERTICES: [(f64, f64, f64); 24] = [
(6.70, 2.11, 3.13),
(7.12, 2.36, 3.16),
(8.69, 3.45, 3.03),
(4.96, 1.99, 3.13),
(7.37, 3.05, 2.74),
(8.69, 4.53, 5.29),
(6.20, 3.38, 2.64),
(4.44, 2.48, 2.48),
(8.07, 4.64, 3.25),
(5.45, 3.16, 2.49),
(9.56, 5.67, 4.35),
(4.36, 2.85, 2.46),
(8.69, 5.80, 3.90),
(3.87, 2.74, 3.72),
(7.84, 5.58, 5.06),
(5.42, 4.06, 2.83),
(6.60, 4.98, 5.28),
(4.71, 3.67, 5.63),
(3.64, 3.04, 3.83),
(3.35, 2.89, 2.96),
(3.33, 3.03, 2.42),
(4.92, 5.54, 3.53),
(5.02, 6.10, 4.34),
(3.29, 4.63, 3.77),
];
pub const POLYHEDRON_RUST_FACES: [(usize, usize, usize); 44] = [
(22, 17, 23),
(17, 18, 23),
(2, 5, 10),
(21, 22, 23),
(13, 17, 3),
(13, 18, 17),
(14, 22, 10),
(5, 14, 10),
(17, 0, 3),
(5, 0, 17),
(20, 21, 23),
(22, 12, 10),
(21, 12, 22),
(12, 2, 10),
(16, 5, 17),
(16, 14, 5),
(22, 16, 17),
(14, 16, 22),
(4, 0, 2),
(2, 1, 5),
(1, 0, 5),
(0, 1, 2),
(19, 13, 3),
(20, 19, 3),
(13, 19, 18),
(18, 19, 23),
(19, 20, 23),
(0, 7, 3),
(7, 20, 3),
(7, 4, 9),
(4, 7, 0),
(8, 12, 21),
(12, 8, 2),
(20, 11, 9),
(11, 7, 9),
(7, 11, 20),
(8, 15, 9),
(15, 8, 21),
(15, 20, 9),
(20, 15, 21),
(6, 8, 9),
(8, 6, 2),
(4, 6, 9),
(6, 4, 2),
];
pub const POLYHEDRON_SAND_VERTICES: [(f64, f64, f64); 24] = [
(1.80, 1.51, 4.43),
(1.39, 1.38, 5.72),
(0.66, 0.69, 4.80),
(3.13, 3.36, 5.45),
(1.79, 2.41, 3.92),
(0.57, 0.80, 6.92),
(3.51, 5.06, 6.14),
(2.90, 4.36, 7.13),
(1.67, 3.09, 4.36),
(2.33, 5.17, 5.67),
(2.16, 5.23, 5.95),
(1.54, 4.12, 5.38),
(1.61, 4.57, 7.64),
(0.83, 2.80, 8.64),
(0.77, 2.81, 5.19),
(0.29, 1.12, 8.23),
(0.46, 1.92, 8.51),
(0.37, 1.76, 4.68),
(0.62, 3.05, 8.58),
(0.11, 0.81, 7.90),
(0.09, 0.81, 7.63),
(0.30, 2.81, 8.35),
(0.22, 2.49, 8.32),
(-0.20, 2.20, 6.99),
];
pub const POLYHEDRON_SAND_FACES: [(usize, usize, usize); 44] = [
(19, 20, 23),
(20, 19, 2),
(14, 11, 23),
(11, 10, 23),
(19, 5, 2),
(0, 4, 2),
(5, 0, 2),
(0, 5, 1),
(4, 17, 2),
(14, 17, 11),
(17, 14, 23),
(20, 17, 23),
(17, 20, 2),
(9, 10, 11),
(9, 4, 6),
(10, 9, 6),
(15, 5, 19),
(15, 16, 13),
(7, 15, 13),
(12, 7, 13),
(12, 10, 6),
(7, 12, 6),
(10, 12, 23),
(12, 21, 23),
(5, 3, 1),
(3, 0, 1),
(3, 15, 7),
(15, 3, 5),
(3, 7, 6),
(4, 3, 6),
(0, 3, 4),
(22, 19, 23),
(21, 22, 23),
(22, 15, 19),
(15, 22, 16),
(8, 9, 11),
(9, 8, 4),
(17, 8, 11),
(8, 17, 4),
(18, 12, 13),
(12, 18, 21),
(16, 18, 13),
(22, 18, 16),
(18, 22, 21),
];
pub const POLYHEDRON_TAN_VERTICES: [(f64, f64, f64); 27] = [
(3.62, 2.90, 3.92),
(4.08, 3.70, 3.57),
(4.23, 4.48, 4.06),
(1.89, 2.08, 3.55),
(2.81, 3.08, 6.43),
(3.07, 3.51, 6.35),
(4.55, 5.24, 5.10),
(4.13, 5.11, 5.52),
(3.16, 4.09, 3.61),
(3.68, 4.80, 5.94),
(0.86, 1.13, 4.45),
(3.00, 5.33, 4.72),
(1.86, 3.63, 7.25),
(2.36, 5.02, 4.19),
(0.69, 1.51, 4.03),
(2.22, 5.37, 6.00),
(0.79, 2.02, 3.96),
(1.22, 3.18, 3.69),
(1.13, 3.44, 7.72),
(0.67, 2.19, 7.38),
(0.75, 2.51, 4.35),
(1.45, 4.88, 5.40),
(0.51, 2.39, 4.90),
(0.45, 2.43, 7.16),
(0.38, 2.09, 5.24),
(0.64, 3.60, 5.64),
(0.22, 2.17, 5.87),
];
pub const POLYHEDRON_TAN_FACES: [(usize, usize, usize); 50] = [
(7, 15, 6),
(4, 19, 18),
(0, 4, 6),
(4, 5, 6),
(15, 11, 6),
(13, 11, 15),
(21, 13, 15),
(18, 21, 15),
(25, 21, 18),
(21, 25, 17),
(13, 21, 17),
(23, 19, 26),
(19, 23, 18),
(25, 23, 26),
(23, 25, 18),
(1, 0, 6),
(0, 10, 4),
(10, 19, 4),
(19, 10, 26),
(9, 18, 15),
(7, 9, 15),
(9, 7, 6),
(5, 9, 6),
(2, 1, 6),
(11, 2, 6),
(2, 11, 13),
(10, 14, 26),
(9, 12, 18),
(12, 9, 5),
(12, 4, 18),
(12, 5, 4),
(8, 2, 13),
(2, 8, 1),
(8, 13, 17),
(22, 25, 26),
(14, 24, 26),
(24, 22, 26),
(22, 24, 14),
(25, 20, 17),
(22, 20, 25),
(3, 14, 10),
(3, 10, 0),
(14, 3, 17),
(1, 3, 0),
(3, 8, 17),
(8, 3, 1),
(16, 22, 14),
(16, 20, 22),
(16, 14, 17),
(20, 16, 17),
];
pub const POLYHEDRON_TAUPE_VERTICES: [(f64, f64, f64); 23] = [
(0.43, 0.00, 3.25),
(0.79, 0.09, 2.88),
(1.24, 0.28, 4.28),
(1.27, 0.30, 3.02),
(0.57, 0.19, 2.50),
(0.86, 0.42, 2.51),
(1.89, 1.12, 4.17),
(1.75, 1.14, 5.40),
(0.98, 0.66, 2.77),
(0.73, 0.60, 5.83),
(1.10, 0.97, 3.14),
(0.96, 0.89, 6.58),
(1.65, 1.90, 4.49),
(0.54, 0.70, 2.88),
(1.23, 1.73, 6.15),
(0.36, 0.75, 3.13),
(0.30, 0.64, 4.25),
(0.63, 1.44, 3.73),
(0.54, 1.50, 6.91),
(0.28, 0.78, 5.03),
(0.74, 2.14, 5.52),
(0.44, 1.96, 6.79),
(0.98, -0.02, 3.91),
];
pub const POLYHEDRON_TAUPE_FACES: [(usize, usize, usize); 42] = [
(16, 15, 19),
(14, 7, 11),
(14, 21, 20),
(15, 21, 19),
(21, 17, 20),
(17, 21, 15),
(22, 9, 11),
(15, 0, 4),
(16, 0, 15),
(0, 16, 19),
(9, 0, 19),
(0, 9, 22),
(17, 12, 20),
(12, 14, 20),
(7, 12, 6),
(12, 7, 14),
(13, 15, 4),
(13, 17, 15),
(2, 22, 11),
(7, 2, 11),
(2, 7, 6),
(3, 2, 6),
(2, 3, 22),
(1, 3, 4),
(3, 1, 22),
(0, 1, 4),
(1, 0, 22),
(9, 18, 11),
(18, 14, 11),
(18, 21, 14),
(21, 18, 19),
(18, 9, 19),
(10, 12, 17),
(8, 10, 17),
(12, 10, 6),
(10, 8, 6),
(13, 5, 17),
(5, 8, 17),
(5, 13, 4),
(3, 5, 4),
(5, 3, 6),
(8, 5, 6),
];
pub const POLYHEDRON_TEAL_VERTICES: [(f64, f64, f64); 15] = [
(-6.10, -1.64, 3.82),
(-4.59, -1.25, 2.96),
(-5.03, -1.91, 3.89),
(-2.79, -1.87, 3.11),
(-5.46, -3.67, 3.58),
(-5.22, -3.51, 3.71),
(-2.49, -1.87, 2.64),
(-2.37, -2.00, 2.48),
(-2.87, -2.90, 2.54),
(-2.81, -2.93, 4.06),
(-3.37, -4.79, 3.64),
(-1.57, -3.04, 2.57),
(-1.35, -2.78, 2.99),
(-2.48, -5.36, 3.44),
(-1.29, -3.28, 3.38),
];
pub const POLYHEDRON_TEAL_FACES: [(usize, usize, usize); 26] = [
(13, 9, 14),
(11, 13, 14),
(4, 1, 0),
(10, 9, 13),
(4, 10, 13),
(8, 11, 7),
(1, 8, 7),
(8, 1, 4),
(8, 4, 13),
(11, 8, 13),
(6, 1, 7),
(6, 3, 1),
(9, 12, 14),
(3, 12, 9),
(6, 12, 3),
(12, 6, 7),
(12, 11, 14),
(11, 12, 7),
(1, 2, 0),
(3, 2, 1),
(2, 9, 0),
(2, 3, 9),
(10, 5, 9),
(5, 10, 4),
(9, 5, 0),
(5, 4, 0),
];
pub const POLYHEDRON_TURQUOISE_VERTICES: [(f64, f64, f64); 26] = [
(-3.63, -0.21, 5.73),
(-7.26, -1.18, 5.79),
(-2.69, -0.69, 6.26),
(-2.41, -0.77, 5.71),
(-4.44, -1.44, 4.05),
(-7.70, -2.50, 5.05),
(-4.70, -1.69, 7.14),
(-3.93, -1.55, 3.96),
(-6.34, -2.68, 3.73),
(-7.59, -3.83, 6.35),
(-6.57, -3.36, 7.09),
(-7.13, -5.37, 5.43),
(-2.66, -2.40, 7.16),
(-1.55, -1.61, 6.34),
(-5.62, -6.83, 4.96),
(-6.06, -7.46, 6.84),
(-5.14, -7.02, 4.49),
(-2.29, -3.57, 3.94),
(-4.05, -6.33, 3.85),
(-1.35, -2.21, 5.94),
(-1.37, -2.37, 6.46),
(-2.75, -5.61, 6.34),
(-3.36, -7.52, 6.02),
(-2.29, -5.77, 3.49),
(-2.84, -7.64, 5.58),
(-1.69, -6.72, 4.15),
];
pub const POLYHEDRON_TURQUOISE_FACES: [(usize, usize, usize); 48] = [
(25, 16, 24),
(7, 8, 23),
(17, 7, 23),
(17, 25, 19),
(25, 17, 23),
(18, 25, 23),
(25, 18, 16),
(8, 18, 23),
(18, 8, 16),
(8, 1, 5),
(3, 0, 7),
(3, 17, 19),
(17, 3, 7),
(12, 15, 10),
(16, 15, 24),
(14, 15, 16),
(4, 8, 7),
(4, 1, 8),
(0, 4, 7),
(1, 4, 0),
(25, 20, 19),
(20, 25, 24),
(13, 20, 12),
(13, 3, 19),
(20, 13, 19),
(15, 22, 24),
(22, 15, 12),
(15, 9, 10),
(1, 9, 5),
(9, 1, 10),
(6, 1, 0),
(1, 6, 10),
(6, 12, 10),
(20, 21, 12),
(21, 22, 12),
(21, 20, 24),
(22, 21, 24),
(9, 11, 5),
(11, 9, 15),
(8, 11, 16),
(11, 14, 16),
(11, 8, 5),
(11, 15, 14),
(2, 6, 0),
(3, 2, 0),
(13, 2, 3),
(2, 13, 12),
(6, 2, 12),
];
pub const POLYHEDRON_VIOLET_VERTICES: [(f64, f64, f64); 31] = [
(1.33, 0.04, 6.37),
(1.40, -6.89, 4.31),
(1.13, -5.13, 2.51),
(1.52, -6.83, 2.96),
(0.81, -3.25, 4.91),
(2.42, -8.37, 4.31),
(2.16, -7.09, 2.13),
(2.88, -8.92, 2.29),
(3.87, -10.43, 2.43),
(3.77, -7.93, 2.03),
(0.97, -1.95, 1.46),
(0.88, -1.74, 2.67),
(3.80, -6.89, 5.42),
(3.46, -6.16, 1.86),
(4.42, -6.81, 2.00),
(7.68, -8.52, 3.40),
(1.21, -1.24, 6.47),
(7.77, -7.87, 2.57),
(8.01, -8.08, 2.92),
(6.60, -6.59, 5.00),
(8.47, -6.98, 3.66),
(7.66, -5.82, 5.30),
(4.44, -2.69, 6.83),
(5.26, -3.00, 1.92),
(9.31, -4.63, 3.05),
(9.31, -4.47, 3.30),
(4.74, -2.00, 5.68),
(7.61, -2.51, 2.63),
(3.80, -0.70, 4.80),
(2.27, -0.30, 6.17),
(5.29, -0.70, 1.98),
];
pub const POLYHEDRON_VIOLET_FACES: [(usize, usize, usize); 58] = [
(10, 11, 4),
(30, 0, 10),
(0, 11, 10),
(11, 0, 4),
(27, 30, 24),
(30, 27, 28),
(27, 26, 28),
(30, 23, 24),
(23, 30, 10),
(1, 5, 8),
(25, 21, 22),
(26, 25, 22),
(25, 27, 24),
(27, 25, 26),
(5, 12, 8),
(21, 12, 22),
(2, 6, 10),
(6, 2, 3),
(2, 1, 3),
(2, 10, 4),
(1, 2, 4),
(9, 13, 10),
(13, 9, 14),
(13, 23, 10),
(23, 13, 14),
(6, 7, 10),
(7, 9, 10),
(9, 7, 8),
(7, 6, 3),
(7, 1, 8),
(1, 7, 3),
(26, 29, 28),
(29, 30, 28),
(29, 0, 30),
(29, 26, 22),
(0, 29, 22),
(17, 9, 8),
(18, 17, 8),
(9, 17, 14),
(17, 23, 14),
(17, 18, 24),
(23, 17, 24),
(25, 20, 21),
(18, 20, 24),
(20, 25, 24),
(12, 15, 8),
(15, 18, 8),
(20, 15, 21),
(15, 20, 18),
(16, 0, 22),
(12, 16, 22),
(1, 16, 5),
(16, 12, 5),
(0, 16, 4),
(16, 1, 4),
(19, 12, 21),
(15, 19, 21),
(19, 15, 12),
];
pub const POLYHEDRON_WINE_VERTICES: [(f64, f64, f64); 21] = [
(8.00, 0.44, 3.04),
(8.77, 1.16, 2.59),
(2.04, 0.36, 1.78),
(9.43, 2.08, 2.71),
(5.12, 1.26, 1.82),
(5.51, 1.53, 1.88),
(7.90, 2.24, 2.46),
(5.89, 1.90, 2.04),
(6.35, 2.07, 2.23),
(7.40, 2.49, 3.06),
(2.67, 0.93, 1.46),
(2.68, 1.12, 1.51),
(2.85, 1.28, 1.61),
(4.29, 2.16, 2.48),
(2.07, 2.54, 5.60),
(5.70, -2.36, 2.16),
(3.18, -1.06, 2.59),
(3.01, -0.83, 1.75),
(5.85, -1.35, 2.82),
(2.22, -0.23, 1.54),
(6.34, -0.06, 3.27),
];
pub const POLYHEDRON_WINE_FACES: [(usize, usize, usize); 38] = [
(16, 14, 15),
(0, 14, 3),
(14, 9, 3),
(13, 9, 14),
(19, 10, 2),
(10, 19, 15),
(14, 19, 2),
(16, 19, 14),
(14, 18, 15),
(18, 0, 15),
(17, 16, 15),
(19, 17, 15),
(17, 19, 16),
(5, 1, 3),
(1, 5, 15),
(1, 0, 3),
(0, 1, 15),
(4, 10, 15),
(5, 4, 15),
(4, 5, 10),
(12, 13, 14),
(0, 20, 14),
(20, 18, 14),
(18, 20, 0),
(5, 11, 10),
(10, 11, 2),
(11, 14, 2),
(11, 12, 14),
(7, 11, 5),
(11, 7, 12),
(12, 7, 13),
(7, 8, 13),
(7, 6, 8),
(6, 5, 3),
(6, 7, 5),
(9, 6, 3),
(6, 9, 13),
(8, 6, 13),
];
pub const POLYHEDRON_BLUE_VERTICES: [(f64, f64, f64); 66] = [
(0.22, 0.88, 7.29),
(0.09, 0.66, 7.93),
(-0.43, 0.27, 8.18),
(-1.43, 0.83, 6.18),
(-2.21, 0.70, 5.19),
(-2.14, 0.67, 8.42),
(-1.82, 0.51, 3.58),
(-2.20, 0.23, 3.39),
(-3.04, 0.14, 6.47),
(-3.81, -0.71, 8.19),
(-4.40, -1.26, 8.01),
(-2.03, -0.67, 2.21),
(-6.91, -2.66, 4.54),
(-5.60, -2.69, 7.12),
(-3.49, -1.84, 2.29),
(-7.39, -3.95, 4.32),
(-6.49, -3.80, 6.28),
(-6.49, -4.14, 6.43),
(-4.60, -3.07, 7.78),
(-4.82, -3.55, 7.62),
(-5.49, -5.34, 6.97),
(-4.24, -4.62, 7.41),
(-5.33, -6.15, 6.23),
(-4.96, -6.96, 5.62),
(-4.48, -7.06, 3.82),
(-4.71, -7.45, 4.44),
(-3.82, -6.24, 3.02),
(-1.54, -3.00, 8.01),
(-0.68, -1.65, 8.35),
(-3.43, -8.38, 5.43),
(-0.26, -1.15, 8.35),
(-1.03, -7.03, 6.68),
(-1.04, -10.58, 3.38),
(-0.87, -11.20, 3.90),
(-0.16, -5.63, 7.23),
(0.25, -11.13, 4.70),
(0.31, -4.35, 7.63),
(0.34, -4.60, 1.28),
(0.89, -11.61, 4.26),
(0.94, -9.63, 5.36),
(0.07, -0.74, 8.12),
(1.22, -11.19, 2.64),
(0.14, -1.16, 1.15),
(1.57, -12.82, 3.23),
(1.37, -10.33, 2.20),
(1.23, -9.26, 1.97),
(0.33, -2.36, 1.09),
(1.93, -12.19, 3.11),
(1.94, -11.00, 2.32),
(1.03, -5.33, 1.28),
(2.18, -10.40, 2.12),
(0.62, -2.84, 7.63),
(2.04, -8.42, 5.12),
(2.67, -10.91, 2.54),
(2.07, -8.32, 1.85),
(2.68, -10.76, 2.74),
(2.96, -9.77, 2.28),
(1.52, -4.69, 1.50),
(2.81, -7.07, 4.57),
(2.58, -6.39, 5.00),
(0.39, -0.94, 1.16),
(2.57, -5.80, 2.04),
(2.69, -2.69, 5.37),
(1.55, -1.46, 6.67),
(1.61, -1.33, 6.47),
(0.59, -0.43, 2.28),
];
pub const POLYHEDRON_BLUE_FACES: [(usize, usize, usize); 128] = [
(6, 65, 0),
(65, 62, 0),
(14, 12, 15),
(49, 54, 56),
(49, 37, 45),
(14, 37, 46),
(37, 49, 46),
(60, 65, 6),
(65, 60, 62),
(4, 8, 12),
(12, 16, 15),
(54, 50, 56),
(50, 49, 45),
(50, 54, 49),
(50, 53, 56),
(53, 50, 48),
(44, 50, 45),
(50, 44, 48),
(42, 14, 46),
(60, 42, 46),
(11, 60, 6),
(11, 12, 14),
(42, 11, 14),
(11, 42, 60),
(49, 57, 46),
(57, 60, 46),
(57, 49, 56),
(43, 53, 48),
(35, 43, 33),
(44, 43, 48),
(62, 64, 0),
(3, 6, 0),
(3, 4, 6),
(53, 55, 56),
(7, 11, 6),
(11, 7, 12),
(4, 7, 6),
(7, 4, 12),
(60, 61, 62),
(57, 61, 60),
(62, 61, 56),
(61, 57, 56),
(52, 39, 36),
(39, 34, 36),
(39, 35, 31),
(34, 39, 31),
(43, 39, 52),
(43, 32, 33),
(51, 63, 62),
(63, 51, 40),
(63, 64, 62),
(1, 63, 40),
(64, 1, 0),
(63, 1, 64),
(27, 28, 36),
(34, 27, 36),
(5, 1, 2),
(8, 5, 12),
(5, 8, 4),
(3, 5, 4),
(5, 3, 0),
(1, 5, 0),
(19, 13, 10),
(13, 12, 10),
(13, 16, 12),
(18, 19, 10),
(27, 18, 28),
(58, 55, 52),
(55, 58, 56),
(58, 62, 56),
(47, 43, 52),
(55, 47, 52),
(43, 47, 53),
(47, 55, 53),
(38, 43, 35),
(39, 38, 35),
(38, 39, 43),
(41, 43, 44),
(32, 41, 44),
(41, 32, 43),
(30, 5, 2),
(5, 30, 28),
(28, 30, 36),
(30, 1, 40),
(1, 30, 2),
(51, 30, 40),
(30, 51, 36),
(9, 18, 10),
(18, 9, 28),
(9, 5, 28),
(12, 9, 10),
(5, 9, 12),
(21, 18, 27),
(21, 27, 34),
(18, 21, 19),
(21, 34, 31),
(21, 20, 19),
(20, 21, 31),
(35, 20, 31),
(25, 24, 15),
(32, 25, 33),
(24, 25, 32),
(59, 58, 52),
(59, 52, 36),
(51, 59, 36),
(59, 51, 62),
(58, 59, 62),
(24, 26, 15),
(26, 14, 15),
(26, 37, 14),
(37, 26, 45),
(26, 44, 45),
(26, 32, 44),
(26, 24, 32),
(16, 17, 15),
(17, 22, 15),
(17, 20, 22),
(13, 17, 16),
(17, 13, 19),
(20, 17, 19),
(25, 23, 33),
(22, 23, 15),
(23, 25, 15),
(23, 29, 33),
(29, 35, 33),
(29, 23, 22),
(29, 20, 35),
(20, 29, 22),
];
pub const POLYHEDRON_BROWN_VERTICES: [(f64, f64, f64); 33] = [
(3.81, 0.40, 2.24),
(3.97, 0.50, 2.09),
(4.63, 0.87, 3.15),
(5.58, 1.57, 3.79),
(3.99, 1.55, 1.95),
(2.62, 1.12, 1.67),
(2.91, 1.51, 1.70),
(0.57, 0.35, 1.65),
(1.78, 1.19, 5.40),
(4.88, 3.66, 4.95),
(4.72, 3.56, 2.92),
(4.55, 3.47, 2.67),
(3.03, 2.92, 2.02),
(4.03, 3.94, 2.85),
(0.83, 0.83, 4.71),
(1.10, 1.16, 1.51),
(4.89, 5.50, 4.53),
(0.43, 0.50, 3.80),
(4.81, 6.09, 4.36),
(4.62, 5.89, 5.59),
(0.51, 0.73, 1.41),
(3.03, 4.59, 3.21),
(1.46, 2.24, 2.01),
(2.48, 4.78, 6.29),
(1.89, 3.88, 2.85),
(0.26, 0.74, 1.89),
(0.59, 2.06, 6.50),
(0.43, 1.65, 6.49),
(1.00, 4.20, 6.14),
(0.84, 4.57, 5.07),
(0.19, 2.00, 2.67),
(-0.01, 0.89, 4.69),
(1.67, -0.17, 2.00),
];
pub const POLYHEDRON_BROWN_FACES: [(usize, usize, usize); 62] = [
(7, 32, 20),
(17, 7, 31),
(7, 17, 32),
(8, 27, 3),
(2, 8, 3),
(8, 2, 32),
(32, 1, 20),
(4, 1, 3),
(1, 2, 3),
(16, 18, 3),
(19, 16, 3),
(16, 19, 18),
(27, 9, 3),
(9, 19, 3),
(19, 9, 27),
(17, 14, 32),
(14, 8, 32),
(8, 14, 27),
(27, 14, 31),
(14, 17, 31),
(24, 21, 18),
(24, 30, 20),
(2, 0, 32),
(0, 1, 32),
(1, 0, 2),
(23, 19, 27),
(30, 25, 20),
(25, 7, 20),
(25, 30, 31),
(7, 25, 31),
(18, 10, 3),
(12, 21, 24),
(21, 12, 18),
(30, 29, 31),
(29, 30, 24),
(29, 27, 31),
(29, 28, 27),
(23, 29, 19),
(29, 23, 28),
(19, 29, 18),
(29, 24, 18),
(28, 26, 27),
(26, 23, 27),
(23, 26, 28),
(22, 24, 20),
(12, 22, 20),
(22, 12, 24),
(12, 6, 4),
(11, 12, 4),
(11, 4, 3),
(10, 11, 3),
(11, 10, 18),
(15, 12, 20),
(6, 15, 20),
(15, 6, 12),
(1, 5, 20),
(5, 6, 20),
(5, 1, 4),
(6, 5, 4),
(12, 13, 18),
(13, 11, 18),
(11, 13, 12),
];
pub const POLYHEDRON_GRAY_VERTICES: [(f64, f64, f64); 39] = [
(1.04, 0.02, 2.68),
(2.44, 0.49, 4.78),
(2.05, 0.57, 4.29),
(0.99, 0.47, 2.80),
(0.54, 0.27, 2.09),
(2.04, 1.37, 5.78),
(1.02, 0.76, 3.12),
(1.63, 1.39, 7.11),
(1.81, 1.67, 6.08),
(0.87, 2.49, 5.38),
(0.50, 1.86, 8.52),
(0.72, 3.13, 7.32),
(0.08, 1.00, 2.26),
(-0.09, 0.54, 8.52),
(-0.58, 1.58, 7.11),
(-0.57, 1.31, 4.03),
(-0.38, 0.66, 8.36),
(-0.10, 0.17, 8.46),
(-0.38, 0.62, 8.36),
(-0.78, 0.86, 4.21),
(-0.94, 0.94, 5.39),
(-0.86, -0.93, 7.07),
(-0.75, -0.95, 3.77),
(-0.48, -1.20, 7.75),
(-1.14, -3.01, 5.49),
(-0.34, -0.95, 2.65),
(-0.11, -0.75, 2.10),
(-0.07, -0.64, 8.01),
(-0.11, -3.85, 5.21),
(-0.02, -2.29, 6.69),
(0.03, -2.22, 3.17),
(0.39, -3.08, 3.77),
(0.66, -3.99, 4.77),
(0.49, -2.76, 6.16),
(0.86, -2.56, 3.10),
(1.08, -2.89, 3.47),
(0.18, -0.45, 1.99),
(2.12, -1.98, 4.46),
(2.31, -0.78, 5.27),
];
pub const POLYHEDRON_GRAY_FACES: [(usize, usize, usize); 74] = [
(20, 21, 24),
(12, 9, 11),
(34, 32, 35),
(7, 5, 1),
(5, 9, 1),
(9, 5, 11),
(7, 10, 11),
(10, 7, 17),
(21, 23, 24),
(32, 37, 35),
(0, 37, 1),
(37, 34, 35),
(34, 37, 0),
(14, 21, 20),
(10, 14, 11),
(14, 10, 16),
(12, 26, 36),
(26, 34, 36),
(34, 26, 30),
(30, 26, 24),
(19, 20, 24),
(22, 19, 24),
(19, 26, 12),
(4, 12, 36),
(34, 4, 36),
(4, 34, 0),
(4, 0, 1),
(12, 6, 9),
(31, 34, 30),
(34, 31, 32),
(8, 7, 11),
(5, 8, 11),
(8, 5, 7),
(13, 10, 17),
(10, 13, 16),
(23, 28, 24),
(31, 28, 32),
(28, 30, 24),
(28, 31, 30),
(33, 37, 32),
(28, 33, 32),
(18, 23, 21),
(14, 18, 21),
(18, 14, 16),
(23, 18, 17),
(18, 13, 17),
(13, 18, 16),
(38, 7, 1),
(37, 38, 1),
(33, 38, 37),
(7, 38, 17),
(25, 22, 24),
(26, 25, 24),
(25, 19, 22),
(19, 25, 26),
(15, 12, 11),
(15, 19, 12),
(19, 15, 20),
(14, 15, 11),
(15, 14, 20),
(9, 2, 1),
(6, 2, 9),
(4, 3, 12),
(3, 6, 12),
(3, 2, 6),
(3, 4, 1),
(2, 3, 1),
(27, 23, 17),
(27, 33, 23),
(38, 27, 17),
(27, 38, 33),
(29, 28, 23),
(33, 29, 23),
(29, 33, 28),
];
pub const POLYHEDRON_GREEN_VERTICES: [(f64, f64, f64); 66] = [
(0.28, 1.10, 2.41),
(1.00, 4.03, 6.28),
(0.85, 3.69, 3.81),
(0.07, 0.55, 4.50),
(0.17, 1.32, 6.94),
(0.18, 1.40, 2.16),
(0.66, 5.48, 5.75),
(0.45, 4.89, 4.24),
(0.36, 6.28, 5.45),
(0.02, 0.43, 3.43),
(0.13, 6.10, 4.85),
(-0.02, 6.57, 5.90),
(-0.06, 5.36, 7.65),
(-0.07, 2.10, 8.59),
(-0.29, 4.42, 8.21),
(-0.90, 7.78, 5.93),
(-0.78, 6.39, 4.63),
(-1.63, 7.94, 6.40),
(-0.58, 2.52, 2.09),
(-2.43, 7.02, 8.44),
(-0.12, 0.21, 2.30),
(-0.49, 0.78, 8.14),
(-5.70, 7.19, 7.89),
(-6.15, 7.63, 6.36),
(-3.52, 4.27, 8.82),
(-5.56, 6.45, 8.01),
(-1.33, 1.27, 8.58),
(-6.72, 6.18, 7.71),
(-7.95, 6.74, 6.59),
(-8.39, 7.02, 4.91),
(-8.14, 6.44, 7.03),
(-8.92, 5.91, 6.93),
(-1.15, 0.76, 8.46),
(-0.68, 0.39, 1.43),
(-6.67, 3.65, 2.78),
(-8.86, 4.07, 3.39),
(-10.01, 4.36, 5.99),
(-6.33, 2.56, 2.63),
(-9.19, 3.56, 3.40),
(-4.33, 1.64, 2.10),
(-7.30, 2.19, 7.84),
(-9.00, 0.34, 3.93),
(-1.06, 0.03, 1.34),
(-6.01, -0.25, 7.50),
(-0.78, -0.06, 1.35),
(-9.03, -0.73, 4.66),
(-7.72, -1.15, 3.24),
(-3.04, -0.52, 1.87),
(-4.84, -0.97, 7.56),
(-8.24, -1.73, 5.90),
(-4.37, -1.24, 7.32),
(-6.41, -2.06, 3.07),
(-7.59, -3.00, 4.12),
(-7.19, -3.02, 5.81),
(-1.80, -0.96, 1.61),
(-2.28, -1.43, 6.64),
(-6.02, -3.83, 4.73),
(-5.65, -3.75, 5.05),
(-5.79, -3.98, 4.04),
(-0.75, -0.70, 1.58),
(-4.13, -3.90, 3.15),
(-2.67, -2.57, 2.34),
(-3.42, -3.93, 3.74),
(-0.62, -0.79, 4.07),
(-2.47, -3.38, 2.91),
(-1.71, -2.52, 2.66),
];
pub const POLYHEDRON_GREEN_FACES: [(usize, usize, usize); 128] = [
(38, 29, 36),
(41, 38, 36),
(38, 41, 46),
(41, 52, 46),
(4, 13, 1),
(18, 5, 2),
(39, 38, 46),
(34, 18, 29),
(18, 34, 42),
(34, 39, 42),
(14, 13, 19),
(13, 24, 19),
(56, 57, 58),
(57, 56, 53),
(52, 56, 58),
(56, 52, 53),
(57, 62, 58),
(23, 28, 29),
(13, 21, 32),
(21, 13, 4),
(51, 54, 46),
(52, 51, 46),
(5, 0, 2),
(2, 0, 1),
(59, 0, 5),
(10, 8, 15),
(38, 35, 29),
(35, 34, 29),
(34, 35, 38),
(39, 37, 38),
(37, 34, 38),
(34, 37, 39),
(12, 19, 15),
(12, 14, 19),
(13, 12, 1),
(14, 12, 13),
(43, 48, 53),
(48, 43, 40),
(50, 57, 53),
(48, 50, 53),
(50, 48, 32),
(24, 26, 40),
(48, 26, 32),
(26, 48, 40),
(26, 13, 32),
(26, 24, 13),
(24, 22, 19),
(23, 22, 28),
(62, 60, 58),
(60, 52, 58),
(60, 51, 52),
(21, 55, 32),
(55, 21, 62),
(55, 62, 57),
(55, 50, 32),
(50, 55, 57),
(33, 18, 42),
(18, 33, 5),
(54, 44, 42),
(59, 44, 54),
(44, 33, 42),
(44, 59, 5),
(33, 44, 5),
(0, 20, 9),
(20, 0, 59),
(65, 20, 59),
(16, 10, 15),
(10, 16, 18),
(29, 16, 15),
(18, 16, 29),
(7, 18, 2),
(7, 10, 18),
(8, 7, 2),
(10, 7, 8),
(47, 39, 46),
(54, 47, 46),
(39, 47, 42),
(47, 54, 42),
(8, 11, 15),
(11, 12, 15),
(12, 11, 8),
(12, 6, 1),
(6, 12, 8),
(6, 2, 1),
(6, 8, 2),
(27, 24, 40),
(17, 22, 23),
(17, 29, 15),
(17, 23, 29),
(19, 17, 15),
(22, 17, 19),
(63, 21, 4),
(20, 63, 9),
(63, 20, 65),
(21, 64, 62),
(64, 60, 62),
(63, 64, 21),
(64, 63, 65),
(64, 65, 59),
(51, 61, 54),
(60, 61, 51),
(64, 61, 60),
(61, 59, 54),
(61, 64, 59),
(45, 52, 41),
(45, 41, 36),
(25, 22, 24),
(27, 25, 24),
(25, 27, 22),
(31, 40, 36),
(31, 27, 40),
(29, 31, 36),
(28, 31, 29),
(27, 31, 22),
(3, 63, 4),
(63, 3, 9),
(3, 0, 9),
(3, 4, 1),
(0, 3, 1),
(52, 49, 53),
(45, 49, 52),
(49, 45, 36),
(49, 43, 53),
(43, 49, 40),
(40, 49, 36),
(22, 30, 28),
(30, 31, 28),
(31, 30, 22),
];
pub const POLYHEDRON_ORANGE_VERTICES: [(f64, f64, f64); 46] = [
(9.47, 3.34, 3.52),
(12.39, 4.39, 4.51),
(12.21, 4.75, 5.42),
(12.71, 5.09, 4.97),
(9.41, 3.99, 5.44),
(8.20, 3.55, 5.21),
(2.81, 1.52, 2.52),
(11.08, 6.16, 4.12),
(8.53, 4.78, 6.77),
(12.70, 7.37, 4.72),
(12.68, 7.44, 5.28),
(11.54, 7.30, 6.20),
(10.45, 6.92, 6.63),
(9.16, 6.07, 3.60),
(12.44, 8.49, 5.90),
(4.03, 2.88, 2.49),
(12.33, 8.87, 5.80),
(12.26, 8.97, 5.76),
(4.88, 3.59, 6.97),
(7.81, 5.88, 3.57),
(9.71, 7.51, 6.85),
(6.70, 5.41, 7.41),
(11.36, 9.48, 5.28),
(10.08, 8.75, 4.81),
(10.11, 10.26, 6.41),
(8.92, 9.07, 7.02),
(10.02, 10.36, 5.96),
(8.38, 10.51, 7.12),
(7.20, 10.50, 5.49),
(2.70, 4.40, 8.13),
(3.58, 5.94, 4.34),
(6.03, 10.92, 7.53),
(6.44, 11.70, 7.35),
(3.67, 6.90, 8.01),
(5.65, 12.16, 7.17),
(4.93, 11.22, 6.83),
(4.85, 11.23, 6.88),
(4.51, 10.80, 7.59),
(2.88, 8.50, 6.34),
(2.28, 6.83, 8.22),
(3.00, 10.24, 7.51),
(1.87, 6.76, 8.14),
(1.57, 8.05, 6.97),
(1.17, 6.35, 7.74),
(1.12, 7.01, 7.03),
(0.57, 3.84, 8.17),
];
pub const POLYHEDRON_ORANGE_FACES: [(usize, usize, usize); 88] = [
(18, 6, 45),
(6, 44, 45),
(42, 44, 6),
(30, 42, 6),
(40, 43, 42),
(43, 44, 42),
(44, 43, 45),
(15, 30, 6),
(40, 36, 34),
(18, 5, 6),
(2, 8, 12),
(11, 2, 12),
(1, 2, 3),
(8, 2, 18),
(5, 2, 1),
(29, 18, 45),
(29, 8, 18),
(39, 29, 45),
(39, 41, 40),
(41, 43, 40),
(41, 39, 45),
(43, 41, 45),
(36, 35, 34),
(35, 36, 30),
(30, 38, 42),
(36, 38, 30),
(38, 40, 42),
(38, 36, 40),
(37, 40, 34),
(37, 39, 40),
(37, 31, 39),
(22, 23, 13),
(9, 22, 13),
(9, 1, 3),
(5, 0, 6),
(0, 5, 1),
(0, 15, 6),
(15, 0, 13),
(4, 5, 18),
(2, 4, 18),
(4, 2, 5),
(8, 21, 12),
(29, 21, 8),
(14, 11, 12),
(14, 2, 11),
(2, 14, 3),
(9, 14, 16),
(23, 28, 13),
(35, 28, 34),
(28, 23, 22),
(15, 28, 30),
(28, 35, 30),
(28, 26, 34),
(26, 28, 22),
(14, 24, 16),
(24, 14, 27),
(26, 24, 34),
(17, 9, 16),
(9, 17, 22),
(17, 26, 22),
(24, 17, 16),
(17, 24, 26),
(7, 9, 13),
(0, 7, 13),
(9, 7, 1),
(7, 0, 1),
(21, 20, 12),
(20, 14, 12),
(14, 20, 27),
(31, 33, 39),
(27, 33, 31),
(33, 29, 39),
(33, 21, 29),
(10, 9, 3),
(14, 10, 3),
(10, 14, 9),
(19, 15, 13),
(28, 19, 13),
(19, 28, 15),
(24, 32, 34),
(32, 24, 27),
(32, 27, 31),
(32, 37, 34),
(37, 32, 31),
(25, 20, 21),
(33, 25, 21),
(20, 25, 27),
(25, 33, 27),
];
pub const POLYHEDRON_PINK_VERTICES: [(f64, f64, f64); 55] = [
(13.50, 0.29, 3.80),
(14.17, 1.67, 5.07),
(6.94, 0.92, 3.19),
(3.60, 0.52, 8.81),
(13.66, 2.39, 4.65),
(4.91, 1.11, 3.73),
(5.61, 1.42, 8.36),
(11.44, 3.16, 6.19),
(4.36, 1.30, 4.02),
(5.79, 1.80, 8.28),
(12.78, 4.04, 5.55),
(12.37, 4.24, 5.57),
(12.04, 4.85, 3.51),
(3.65, 1.60, 4.49),
(7.80, 5.17, 6.90),
(3.37, 2.28, 4.96),
(7.73, 5.49, 6.25),
(2.03, 1.91, 8.82),
(3.62, 3.49, 5.67),
(1.73, 2.48, 8.74),
(0.82, 1.22, 6.42),
(2.11, 3.26, 8.43),
(2.37, 3.76, 7.72),
(0.97, 1.96, 6.18),
(1.81, 3.78, 6.67),
(1.40, 3.35, 7.99),
(1.15, 3.14, 8.34),
(0.56, 1.65, 7.96),
(0.64, 1.97, 8.74),
(0.42, 2.16, 8.52),
(7.62, -5.03, 6.06),
(6.74, -4.12, 4.79),
(8.04, -4.57, 4.19),
(2.26, -1.27, 6.79),
(7.09, -3.88, 6.90),
(2.82, -1.41, 7.90),
(10.86, -4.74, 6.06),
(10.61, -4.12, 4.26),
(7.67, -2.91, 3.81),
(12.24, -4.53, 4.83),
(12.64, -4.42, 6.00),
(5.27, -1.74, 8.08),
(11.76, -2.54, 3.71),
(5.62, -1.16, 3.95),
(13.81, -2.53, 6.21),
(6.12, -1.10, 8.37),
(13.84, -2.44, 4.00),
(4.34, -0.76, 8.41),
(9.13, -0.83, 7.68),
(14.52, -1.21, 4.58),
(13.32, -0.93, 3.74),
(15.07, -0.88, 5.46),
(3.41, -0.15, 4.69),
(14.37, -0.55, 4.15),
(14.71, -0.13, 5.74),
];
pub const POLYHEDRON_PINK_FACES: [(usize, usize, usize); 106] = [
(46, 40, 51),
(0, 53, 12),
(16, 24, 12),
(23, 24, 29),
(23, 15, 24),
(40, 44, 51),
(44, 40, 45),
(32, 43, 52),
(33, 35, 30),
(39, 32, 30),
(39, 40, 46),
(49, 46, 51),
(53, 49, 51),
(49, 53, 46),
(53, 50, 46),
(0, 50, 53),
(50, 42, 46),
(50, 0, 12),
(50, 12, 2),
(42, 50, 2),
(1, 10, 12),
(1, 53, 51),
(23, 13, 15),
(24, 18, 12),
(18, 15, 12),
(15, 18, 24),
(24, 26, 29),
(26, 28, 29),
(11, 10, 14),
(16, 11, 14),
(10, 11, 12),
(11, 16, 12),
(34, 41, 45),
(35, 34, 30),
(41, 34, 35),
(43, 38, 2),
(38, 43, 32),
(38, 42, 2),
(42, 38, 32),
(31, 32, 52),
(33, 31, 52),
(32, 31, 30),
(31, 33, 30),
(23, 20, 52),
(20, 33, 52),
(20, 23, 29),
(42, 37, 46),
(37, 39, 46),
(37, 42, 32),
(39, 37, 32),
(53, 4, 12),
(4, 1, 12),
(1, 4, 53),
(9, 3, 17),
(3, 28, 17),
(28, 3, 35),
(3, 6, 45),
(6, 3, 9),
(44, 54, 51),
(54, 1, 51),
(1, 54, 10),
(19, 9, 17),
(28, 19, 17),
(19, 21, 14),
(9, 19, 14),
(19, 26, 21),
(26, 19, 28),
(5, 43, 2),
(43, 5, 52),
(12, 5, 2),
(16, 22, 24),
(22, 16, 14),
(21, 22, 14),
(26, 22, 21),
(34, 36, 30),
(36, 39, 30),
(39, 36, 40),
(40, 36, 45),
(36, 34, 45),
(27, 20, 29),
(20, 27, 33),
(28, 27, 29),
(33, 27, 35),
(27, 28, 35),
(41, 47, 45),
(47, 3, 45),
(47, 41, 35),
(3, 47, 35),
(54, 7, 10),
(7, 54, 9),
(10, 7, 14),
(7, 9, 14),
(48, 54, 44),
(54, 48, 9),
(48, 6, 9),
(48, 44, 45),
(6, 48, 45),
(5, 8, 52),
(8, 23, 52),
(8, 13, 23),
(13, 8, 15),
(15, 8, 12),
(8, 5, 12),
(25, 26, 24),
(22, 25, 24),
(25, 22, 26),
];
pub const POLYHEDRON_PURPLE_VERTICES: [(f64, f64, f64); 45] = [
(2.65, 0.26, 1.89),
(3.88, 0.59, 2.95),
(1.20, -7.76, 3.14),
(1.16, -7.24, 2.75),
(1.38, -8.41, 3.46),
(1.05, -6.38, 2.50),
(0.96, -5.54, 3.17),
(1.14, -5.72, 4.00),
(0.74, -3.05, 3.58),
(2.25, -8.95, 2.91),
(1.44, -5.30, 4.45),
(1.09, -3.84, 1.89),
(2.16, -6.74, 1.88),
(2.63, -8.17, 4.34),
(1.87, -5.71, 1.70),
(0.86, -2.56, 3.10),
(1.60, -4.67, 4.79),
(2.40, -6.53, 1.72),
(3.57, -9.50, 2.78),
(3.45, -8.83, 2.32),
(3.88, -9.57, 2.51),
(3.44, -7.84, 1.98),
(4.38, -8.79, 2.39),
(5.17, -9.69, 3.08),
(4.55, -7.96, 4.49),
(4.42, -6.81, 2.00),
(3.45, -5.30, 1.70),
(6.54, -8.18, 2.93),
(7.33, -8.08, 3.18),
(1.27, -1.37, 2.04),
(3.50, -3.75, 6.42),
(6.84, -7.24, 4.60),
(6.57, -6.09, 2.30),
(8.07, -7.46, 4.06),
(1.34, -1.20, 1.79),
(1.66, -1.36, 1.48),
(1.42, -1.16, 1.50),
(5.55, -4.36, 6.58),
(9.24, -6.82, 4.02),
(2.21, -1.58, 3.75),
(7.48, -4.71, 2.29),
(8.09, -4.17, 2.60),
(9.55, -4.78, 3.28),
(5.00, -1.46, 2.00),
(3.78, -0.14, 1.81),
];
pub const POLYHEDRON_PURPLE_FACES: [(usize, usize, usize); 86] = [
(38, 37, 42),
(28, 38, 42),
(38, 28, 23),
(40, 28, 42),
(38, 31, 37),
(30, 16, 8),
(13, 30, 37),
(16, 30, 4),
(30, 13, 4),
(37, 1, 42),
(30, 1, 37),
(41, 40, 42),
(41, 43, 40),
(16, 7, 8),
(18, 13, 23),
(13, 18, 4),
(33, 38, 23),
(31, 33, 23),
(33, 31, 38),
(24, 13, 37),
(31, 24, 37),
(13, 24, 23),
(24, 31, 23),
(29, 34, 0),
(34, 36, 0),
(39, 30, 8),
(39, 1, 30),
(1, 39, 0),
(44, 1, 0),
(1, 44, 42),
(44, 36, 35),
(36, 44, 0),
(40, 44, 35),
(43, 44, 40),
(44, 41, 42),
(44, 43, 41),
(10, 16, 4),
(7, 10, 4),
(10, 7, 16),
(26, 40, 35),
(17, 26, 35),
(6, 5, 8),
(18, 9, 4),
(14, 17, 35),
(36, 14, 35),
(29, 15, 34),
(15, 29, 0),
(15, 39, 8),
(39, 15, 0),
(21, 26, 17),
(32, 28, 40),
(32, 27, 28),
(9, 3, 4),
(11, 14, 36),
(14, 11, 5),
(11, 36, 34),
(15, 11, 34),
(5, 11, 8),
(11, 15, 8),
(26, 25, 40),
(21, 25, 26),
(25, 32, 40),
(32, 25, 21),
(19, 21, 17),
(32, 22, 27),
(22, 32, 21),
(3, 2, 4),
(2, 7, 4),
(2, 5, 6),
(2, 3, 5),
(7, 2, 8),
(2, 6, 8),
(12, 14, 5),
(3, 12, 5),
(14, 12, 17),
(12, 3, 9),
(12, 19, 17),
(19, 12, 9),
(19, 20, 21),
(20, 22, 21),
(20, 9, 18),
(20, 19, 9),
(20, 18, 23),
(28, 20, 23),
(27, 20, 28),
(22, 20, 27),
];
pub const POLYHEDRON_RED_VERTICES: [(f64, f64, f64); 39] = [
(12.38, 0.37, 3.33),
(8.94, 0.66, 5.07),
(14.76, 2.53, 4.21),
(7.95, 1.69, 5.38),
(4.64, 1.06, 1.44),
(12.67, 2.91, 3.45),
(12.70, 3.74, 5.54),
(14.72, 4.40, 4.79),
(6.11, 1.89, 5.36),
(9.90, 3.44, 2.53),
(10.74, 3.86, 5.93),
(7.87, 2.87, 5.73),
(2.05, 0.78, 1.41),
(14.42, 5.74, 4.95),
(2.44, 1.07, 3.64),
(13.97, 6.13, 3.92),
(14.05, 6.31, 4.24),
(13.14, 6.45, 5.16),
(2.49, 1.26, 1.37),
(13.63, 6.93, 4.43),
(12.31, 6.33, 3.42),
(7.82, 4.11, 5.75),
(2.05, 1.09, 3.15),
(13.05, 7.23, 4.76),
(11.16, 6.94, 3.74),
(11.45, 7.31, 4.45),
(6.88, 4.40, 2.16),
(10.65, 6.97, 5.07),
(7.49, 5.51, 4.27),
(4.77, 3.91, 2.40),
(5.35, 4.42, 5.32),
(3.64, 3.14, 3.20),
(7.46, -3.33, 2.91),
(5.76, -1.12, 1.99),
(3.82, -0.62, 3.85),
(4.10, -0.44, 1.72),
(12.95, -1.36, 4.27),
(13.43, -1.23, 4.25),
(11.70, -0.32, 3.18),
];
pub const POLYHEDRON_RED_FACES: [(usize, usize, usize); 74] = [
(37, 38, 32),
(8, 14, 30),
(0, 37, 2),
(37, 0, 38),
(6, 37, 10),
(29, 24, 25),
(19, 24, 20),
(31, 29, 30),
(21, 27, 10),
(27, 21, 30),
(27, 17, 10),
(17, 6, 10),
(6, 17, 13),
(29, 28, 30),
(28, 27, 30),
(28, 29, 25),
(27, 28, 25),
(31, 22, 12),
(14, 22, 30),
(22, 31, 30),
(34, 8, 32),
(8, 34, 14),
(34, 22, 14),
(34, 32, 12),
(22, 34, 12),
(15, 19, 20),
(15, 0, 2),
(38, 33, 32),
(4, 33, 38),
(24, 26, 20),
(26, 24, 29),
(26, 9, 20),
(9, 26, 4),
(9, 15, 20),
(9, 4, 38),
(0, 9, 38),
(7, 6, 13),
(7, 15, 2),
(37, 7, 2),
(6, 7, 37),
(11, 8, 30),
(21, 11, 30),
(11, 21, 10),
(11, 3, 8),
(23, 17, 27),
(23, 27, 25),
(23, 19, 13),
(17, 23, 13),
(24, 23, 25),
(23, 24, 19),
(8, 1, 32),
(3, 1, 8),
(1, 11, 10),
(11, 1, 3),
(19, 16, 13),
(15, 16, 19),
(16, 7, 13),
(7, 16, 15),
(35, 4, 12),
(35, 33, 4),
(32, 35, 12),
(33, 35, 32),
(4, 18, 12),
(26, 18, 4),
(18, 26, 29),
(18, 31, 12),
(31, 18, 29),
(15, 5, 0),
(5, 9, 0),
(9, 5, 15),
(36, 37, 32),
(1, 36, 32),
(37, 36, 10),
(36, 1, 10),
];
pub const POLYHEDRON_WHITE_VERTICES: [(f64, f64, f64); 24] = [
(1.79, 1.63, 8.34),
(1.00, 1.75, 9.18),
(0.63, 1.42, 6.81),
(1.07, 3.12, 8.22),
(0.84, 3.11, 6.89),
(0.38, 1.89, 6.03),
(0.12, 0.71, 9.21),
(0.21, 1.32, 9.33),
(0.59, 3.77, 6.70),
(0.14, 0.98, 6.87),
(0.35, 3.69, 8.55),
(0.20, 2.12, 9.18),
(0.19, 2.77, 9.03),
(-0.06, 1.43, 9.35),
(-0.12, 1.01, 9.30),
(-0.31, 2.22, 7.63),
(-0.60, 3.11, 8.91),
(-0.15, 0.43, 7.77),
(-0.28, 0.67, 8.94),
(-0.21, 0.40, 9.12),
(-0.09, 0.13, 9.04),
(-0.47, 0.57, 7.33),
(-0.15, 0.11, 8.63),
(0.00, 0.00, 9.02),
];
pub const POLYHEDRON_WHITE_FACES: [(usize, usize, usize); 44] = [
(23, 1, 0),
(4, 5, 0),
(8, 4, 0),
(4, 8, 5),
(18, 21, 16),
(21, 15, 16),
(15, 21, 5),
(15, 8, 16),
(8, 15, 5),
(9, 23, 0),
(21, 9, 5),
(13, 11, 1),
(7, 13, 1),
(11, 12, 1),
(12, 13, 16),
(12, 11, 13),
(1, 3, 0),
(3, 8, 0),
(19, 18, 16),
(18, 19, 21),
(19, 22, 21),
(5, 2, 0),
(2, 9, 0),
(9, 2, 5),
(6, 1, 23),
(6, 7, 1),
(10, 3, 1),
(12, 10, 1),
(10, 12, 16),
(3, 10, 8),
(8, 10, 16),
(17, 9, 21),
(22, 17, 21),
(9, 17, 23),
(17, 22, 23),
(22, 20, 23),
(20, 19, 23),
(19, 20, 22),
(7, 14, 13),
(6, 14, 7),
(19, 14, 23),
(14, 6, 23),
(13, 14, 16),
(14, 19, 16),
];
pub const POLYHEDRON_YELLOW_VERTICES: [(f64, f64, f64); 35] = [
(6.40, 8.50, 6.62),
(4.95, 9.02, 7.57),
(5.84, 11.75, 7.06),
(4.19, 8.71, 5.97),
(1.64, 3.73, 7.60),
(1.25, 3.29, 7.96),
(3.81, 12.37, 7.77),
(3.45, 12.82, 7.16),
(1.21, 5.32, 8.83),
(2.23, 11.60, 8.41),
(1.19, 7.33, 5.43),
(0.83, 5.24, 4.84),
(1.24, 8.37, 5.74),
(0.98, 8.33, 8.94),
(0.46, 4.21, 5.73),
(0.94, 13.52, 8.32),
(0.12, 2.53, 8.68),
(0.42, 12.02, 8.67),
(0.16, 7.75, 5.87),
(0.03, 4.95, 9.28),
(0.04, 9.66, 8.88),
(-0.61, 12.10, 7.79),
(-0.19, 3.88, 9.21),
(-1.14, 11.75, 8.05),
(-0.39, 3.56, 9.06),
(-1.51, 10.65, 8.81),
(-1.02, 5.25, 9.05),
(-1.69, 8.64, 8.93),
(-1.90, 9.61, 8.85),
(-1.98, 8.23, 7.19),
(-2.91, 9.73, 8.63),
(-2.97, 9.38, 8.46),
(-1.16, 3.50, 8.26),
(-1.98, 5.04, 8.71),
(-2.15, 5.25, 7.92),
];
pub const POLYHEDRON_YELLOW_FACES: [(usize, usize, usize); 66] = [
(3, 11, 0),
(34, 14, 11),
(11, 14, 0),
(14, 4, 0),
(34, 29, 31),
(29, 34, 11),
(10, 12, 11),
(3, 10, 11),
(10, 7, 12),
(7, 10, 3),
(14, 32, 16),
(32, 14, 34),
(32, 24, 16),
(5, 14, 16),
(14, 5, 4),
(5, 16, 0),
(4, 5, 0),
(12, 18, 11),
(18, 29, 11),
(1, 13, 9),
(13, 1, 19),
(16, 8, 0),
(8, 1, 0),
(1, 8, 19),
(27, 25, 19),
(33, 34, 31),
(33, 32, 34),
(32, 33, 24),
(15, 6, 9),
(18, 21, 29),
(21, 18, 12),
(7, 21, 12),
(21, 7, 15),
(30, 33, 31),
(25, 30, 15),
(17, 25, 15),
(17, 15, 9),
(13, 17, 9),
(17, 13, 19),
(30, 26, 33),
(26, 27, 19),
(26, 30, 27),
(2, 1, 9),
(6, 2, 9),
(1, 2, 0),
(2, 3, 0),
(2, 7, 3),
(7, 2, 15),
(2, 6, 15),
(28, 25, 27),
(30, 28, 27),
(28, 30, 25),
(23, 21, 15),
(30, 23, 15),
(23, 30, 31),
(29, 23, 31),
(21, 23, 29),
(25, 20, 19),
(20, 17, 19),
(17, 20, 25),
(33, 22, 24),
(26, 22, 33),
(22, 26, 19),
(24, 22, 16),
(22, 8, 16),
(8, 22, 19),
];
pub const CENTORE_SAMPLE_COUNTS: [(&str, u32); 30] = [
("aqua", 119),
("beige", 277),
("coral", 215),
("fuchsia", 46),
("gold", 362),
("lavender", 47),
("lilac", 78),
("magenta", 25),
("mauve", 181),
("navy", 100),
("peach", 102),
("rose", 467),
("rust", 93),
("sand", 123),
("tan", 129),
("taupe", 76),
("teal", 43),
("turquoise", 121),
("violet", 178),
("wine", 83),
("blue", 1673),
("brown", 536),
("gray", 485),
("green", 1296),
("orange", 378),
("pink", 594),
("purple", 226),
("red", 662),
("white", 152),
("yellow", 394),
];
pub fn get_sample_count(name: &str) -> u32 {
CENTORE_SAMPLE_COUNTS
.iter()
.find(|(n, _)| n.eq_ignore_ascii_case(name))
.map(|(_, count)| *count)
.unwrap_or(0)
}
pub fn get_polyhedron_data(name: &str) -> Option<(&'static [(f64, f64, f64)], &'static [(usize, usize, usize)])> {
match name.to_lowercase().as_str() {
"aqua" => Some((&POLYHEDRON_AQUA_VERTICES, &POLYHEDRON_AQUA_FACES)),
"beige" => Some((&POLYHEDRON_BEIGE_VERTICES, &POLYHEDRON_BEIGE_FACES)),
"coral" => Some((&POLYHEDRON_CORAL_VERTICES, &POLYHEDRON_CORAL_FACES)),
"fuchsia" => Some((&POLYHEDRON_FUCHSIA_VERTICES, &POLYHEDRON_FUCHSIA_FACES)),
"gold" => Some((&POLYHEDRON_GOLD_VERTICES, &POLYHEDRON_GOLD_FACES)),
"lavender" => Some((&POLYHEDRON_LAVENDER_VERTICES, &POLYHEDRON_LAVENDER_FACES)),
"lilac" => Some((&POLYHEDRON_LILAC_VERTICES, &POLYHEDRON_LILAC_FACES)),
"magenta" => Some((&POLYHEDRON_MAGENTA_VERTICES, &POLYHEDRON_MAGENTA_FACES)),
"mauve" => Some((&POLYHEDRON_MAUVE_VERTICES, &POLYHEDRON_MAUVE_FACES)),
"navy" => Some((&POLYHEDRON_NAVY_VERTICES, &POLYHEDRON_NAVY_FACES)),
"peach" => Some((&POLYHEDRON_PEACH_VERTICES, &POLYHEDRON_PEACH_FACES)),
"rose" => Some((&POLYHEDRON_ROSE_VERTICES, &POLYHEDRON_ROSE_FACES)),
"rust" => Some((&POLYHEDRON_RUST_VERTICES, &POLYHEDRON_RUST_FACES)),
"sand" => Some((&POLYHEDRON_SAND_VERTICES, &POLYHEDRON_SAND_FACES)),
"tan" => Some((&POLYHEDRON_TAN_VERTICES, &POLYHEDRON_TAN_FACES)),
"taupe" => Some((&POLYHEDRON_TAUPE_VERTICES, &POLYHEDRON_TAUPE_FACES)),
"teal" => Some((&POLYHEDRON_TEAL_VERTICES, &POLYHEDRON_TEAL_FACES)),
"turquoise" => Some((&POLYHEDRON_TURQUOISE_VERTICES, &POLYHEDRON_TURQUOISE_FACES)),
"violet" => Some((&POLYHEDRON_VIOLET_VERTICES, &POLYHEDRON_VIOLET_FACES)),
"wine" => Some((&POLYHEDRON_WINE_VERTICES, &POLYHEDRON_WINE_FACES)),
"blue" => Some((&POLYHEDRON_BLUE_VERTICES, &POLYHEDRON_BLUE_FACES)),
"brown" => Some((&POLYHEDRON_BROWN_VERTICES, &POLYHEDRON_BROWN_FACES)),
"gray" => Some((&POLYHEDRON_GRAY_VERTICES, &POLYHEDRON_GRAY_FACES)),
"green" => Some((&POLYHEDRON_GREEN_VERTICES, &POLYHEDRON_GREEN_FACES)),
"orange" => Some((&POLYHEDRON_ORANGE_VERTICES, &POLYHEDRON_ORANGE_FACES)),
"pink" => Some((&POLYHEDRON_PINK_VERTICES, &POLYHEDRON_PINK_FACES)),
"purple" => Some((&POLYHEDRON_PURPLE_VERTICES, &POLYHEDRON_PURPLE_FACES)),
"red" => Some((&POLYHEDRON_RED_VERTICES, &POLYHEDRON_RED_FACES)),
"white" => Some((&POLYHEDRON_WHITE_VERTICES, &POLYHEDRON_WHITE_FACES)),
"yellow" => Some((&POLYHEDRON_YELLOW_VERTICES, &POLYHEDRON_YELLOW_FACES)),
_ => None,
}
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_all_polyhedra_have_data() {
let names = [
"aqua", "beige", "coral", "fuchsia", "gold", "lavender", "lilac",
"magenta", "mauve", "navy", "peach", "rose", "rust", "sand", "tan",
"taupe", "teal", "turquoise", "violet", "wine",
"blue", "brown", "gray", "green", "orange", "pink", "purple", "red", "white", "yellow",
];
for name in &names {
let data = get_polyhedron_data(name);
assert!(data.is_some(), "Missing polyhedron data for {}", name);
let (vertices, faces) = data.unwrap();
assert!(vertices.len() >= 4, "{} should have at least 4 vertices", name);
assert!(!faces.is_empty(), "{} should have faces", name);
}
}
#[test]
fn test_sample_counts() {
assert_eq!(get_sample_count("aqua"), 119);
assert_eq!(get_sample_count("beige"), 277);
assert_eq!(get_sample_count("rose"), 467); assert_eq!(get_sample_count("magenta"), 25); assert_eq!(get_sample_count("blue"), 1673); assert_eq!(get_sample_count("invalid"), 0);
}
#[test]
fn test_polyhedron_structure() {
let expected = [
("aqua", 28, 52),
("beige", 32, 60),
("magenta", 7, 10),
("rose", 51, 98),
];
for (name, expected_verts, expected_faces) in &expected {
let (verts, faces) = get_polyhedron_data(name).unwrap();
assert_eq!(verts.len(), *expected_verts, "{} vertex count", name);
assert_eq!(faces.len(), *expected_faces, "{} face count", name);
}
}
#[test]
fn test_case_insensitive_lookup() {
assert!(get_polyhedron_data("AQUA").is_some());
assert!(get_polyhedron_data("Aqua").is_some());
assert!(get_polyhedron_data("aqua").is_some());
}
}