colors = ['red', 'green', 'blue', 'yellow', 'purple']
def b(i, n):
return i / (n + 1) if i > -1 else 1
def d(i, n):
return (n - 1)**(i - 2) / (n + 1) if i else 0
def Function(i, n):
return lambda x, y: (1 - d(i, n) - b(i, n)) * x - (1 - d(i-1, n) - b(i-1, n)) * y + b(i, n)
def Plane(i, n):
f = Function(i, n)
return plot3d(f, (-1.5, 1.5), (-1.5, 1.5), color=colors[i%len(colors)], opacity=0.6)
def Planes(n):
return sum(Plane(i, n) for i in range(n))
Cube = cube((0, 0, 0), 2, opacity=0.3)
Cube + Planes(4)