From 9cbfed136c9ee9cccc47e377f818fe9353538bc2 Mon Sep 17 00:00:00 2001 From: Eryn Wells Date: Sat, 27 Oct 2018 08:39:45 -0700 Subject: [PATCH] Clean up the variants geometry --- MetaballsKit/MarchingSquares.swift | 150 +++++++++++++++++------------ 1 file changed, 88 insertions(+), 62 deletions(-) diff --git a/MetaballsKit/MarchingSquares.swift b/MetaballsKit/MarchingSquares.swift index 5c9830f..2f11d6e 100644 --- a/MetaballsKit/MarchingSquares.swift +++ b/MetaballsKit/MarchingSquares.swift @@ -212,83 +212,109 @@ struct Variants { // 1: lower left corner, 1 triangle 0.0, 1.0, 0.5, 1.0, - 0.0, 0.5, + 0.0, 0.5, // 2: lower right corner, 1 triangle 1.0, 1.0, 0.5, 1.0, 1.0, 0.5, // 3: bottom half, 2 triangles - 0.0, 0.5, - 0.0, 0.0, - 1.0, 0.5, - 1.0, 0.0, + 0.0, 1.0, + 1.0, 1.0, + 0.0, 0.5, + 0.0, 0.5, + 1.0, 1.0, + 1.0, 0.5, // 4: top right corner, 1 triangle - 1.0, 1.0, - 0.5, 1.0, - 1.0, 0.5, - // 5: top right and bottom left, 4 triangles - 0.0, 0.5, - 0.5, 1.0, - 0.0, 0.0, - 1.0, 1.0, - 0.5, 0.0, - 1.0, 0.5, + 1.0, 0.0, + 1.0, 0.5, + 0.5, 0.0, + // 5: top right and bottom left, 2 triangles + 1.0, 0.0, + 0.5, 0.0, + 1.0, 0.5, + 0.0, 1.0, + 0.0, 0.5, + 0.5, 1.0, // 6: right half, 2 triangles - 1.0, 0.0, - 1.0, 1.0, - 0.5, 0.0, - 0.5, 1.0, + 0.0, 0.0, + 0.0, 1.0, + 0.5, 0.0, + 0.5, 0.0, + 0.0, 1.0, + 0.5, 1.0, // 7: bottom right corner 7/8ths, 3 triangles - 0.0, 0.5, - 0.5, 1.0, - 0.0, 0.0, - 1.0, 1.0, - 1.0, 0.0, + 0.0, 0.5, + 0.5, 0.0, + 0.0, 1.0, + 0.0, 1.0, + 0.5, 0.0, + 1.0, 0.0, + 1.0, 0.0, + 0.0, 1.0, + 1.0, 1.0, // 8: top left corner, 1 triangle - 0.0, 1.0, - 0.5, 1.0, - 0.0, 0.5, + 0.0, 0.0, + 0.0, 0.5, + 0.5, 0.0, // 9: left half, 2 triangles - 0.0, 1.0, - 0.5, 1.0, - 0.0, 0.0, - 0.5, 0.0, - // 10: top left and bottom right, 4 triangles - 0.0, 0.5, - 0.5, 0.0, - 0.0, 1.0, - 1.0, 0.0, - 0.5, 1.0, - 1.0, 0.5, + 0.5, 0.0, + 0.5, 1.0, + 1.0, 0.0, + 1.0, 0.0, + 0.5, 1.0, + 1.0, 1.0, + // 10: top left and bottom right, 2 triangles + 0.0, 0.0, + 0.0, 0.5, + 0.5, 0.0, + 1.0, 1.0, + 0.5, 1.0, + 1.0, 0.5, // 11: bottom left corner 7/8th, 3 triangles - 1.0, 0.5, - 0.5, 1.0, - 1.0, 0.0, - 0.0, 1.0, - 0.0, 0.0, + 0.5, 0.0, + 1.0, 0.5, + 0.0, 0.0, + 0.0, 0.0, + 0.5, 0.0, + 1.0, 1.0, + 1.0, 1.0, + 0.0, 1.0, + 0.0, 0.0, // 12: top half, 2 triangles - 0.0, 1.0, - 1.0, 1.0, - 0.0, 0.5, - 1.0, 0.5, + 0.0, 0.0, + 0.0, 0.5, + 1.0, 0.0, + 1.0, 0.0, + 0.0, 0.5, + 1.0, 0.5, // 13: top left corner 7/8ths, 3 triangles - 0.5, 0.0, - 1.0, 0.5, - 0.0, 0.0, - 1.0, 1.0, - 0.0, 1.0, + 0.5, 1.0, + 1.0, 0.5, + 1.0, 0.0, + 1.0, 0.0, + 0.5, 1.0, + 0.0, 1.0, + 0.0, 1.0, + 1.0, 0.0, + 0.0, 0.0, // 14: top right corner 7/8th, 3 triangles - 0.0, 0.5, - 0.5, 0.0, - 0.0, 1.0, - 1.0, 0.0, - 1.0, 1.0, + 0.0, 0.5, + 0.5, 1.0, + 1.0, 1.0, + 1.0, 1.0, + 0.0, 0.5, + 0.0, 0.0, + 0.0, 0.0, + 1.0, 1.0, + 1.0, 0.0, // 15: full, 2 triangles - 0.0, 0.0, - 1.0, 0.0, - 0.0, 1.0, - 1.0, 1.0, - ] + 0.0, 0.0, + 0.0, 1.0, + 1.0, 1.0, + 0.0, 0.0, + 1.0, 1.0, + 1.0, 0.0, + ] static func numberOfTriangles(for variation: UInt) -> UInt { switch variation {