pub fn is_similar_pattern<T>(pattern1: &[[T; 3]], pattern2: &[[T; 3]]) -> boolwhere T: Sum + Float + FromPrimitive,
Check if two patterns are similar enough to be considered duplicates