def fit_triangle_into_rect(dimensions, color_layer): base, height = dimensions if (base % 2) != 0: base = base - 1 if math_help.get_triangle_base_relative_to_height(height) > base: height = math_help.get_triangle_height_relative_to_base(base) else: base = math_help.get_triangle_base_relative_to_height(height) top = (base // 2, height) left = (0, 0) right = (base, 0) return Triangle(top, left, right, color_layer)
diamonds[0].color_layer = colors[0] # diamonds[1].color_layer = colors[0] # diamonds[2].color_layer = colors[1] # diamonds[3].color_layer = colors[2] subd1 = self.layer_sexy_diamonds(diamonds[1], depth - 1, colors) subd2 = self.layer_sexy_diamonds(diamonds[2], depth - 1, colors) subd3 = self.layer_sexy_diamonds(diamonds[3], depth - 1, colors) return [diamonds[0]] + subd1 + subd2 + subd3 if __name__ == "__main__": base = 4096 / 2 size = (base, math_help.get_triangle_height_relative_to_base(base)) sierpinski_colors = color.get_random_sample(3) rec_triangles = RecursiveTriangles(size, depth=8) sier_triangles = SierpinskiTriangles(size, sierpinski_colors, depth=7) sier_diamonds = SierpinskiDiamonds(size, sierpinski_colors, depth=4) rec_triangles_img = rec_triangles.get_image() sier_triangles_img = sier_triangles.get_image() sier_diamonds_img = sier_diamonds.get_image() rec_triangles_img.save("rendered-images/recursive_triangle.gif", 'gif') sier_triangles_img.save("rendered-images/sierpinski_triangle.gif", 'gif') sier_diamonds_img.save("rendered-images/sierpinski_diamond.gif", 'gif')