In [30]:
# http://eastfarthing.com/blog/2015-04-21-noise/
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
In [66]:
s = lambda t: 3*t**2 - 2*t**3
f = lambda t: 1 - (3 - 2*np.abs(t))*t**2
x = np.linspace(-1, 1, 63)
y = np.linspace(-1, 1, 63)
images = [
[[f(x) for x in x] for y in y],
[[f(y) for x in x] for y in y],
[[f(x) * f(y) for x in x] for y in y]
]
fig, axes = plt.subplots(1, 3, figsize=(6, 2))
for i in range(len(images)):
axes[i].imshow(images[i], cmap=plt.cm.bone)
for axis in [axes[i].xaxis, axes[i].yaxis]:
axis.set_ticks([])
In [68]:
G = np.array([[1, 1]])
x = np.linspace(-1, 1, 63)
y = np.linspace(-1, 1, 63)
images = [
[[f(x) * f(y) for x in x] for y in y],
[[G.dot(np.array([x, y]))[0] for x in x] for y in y],
[[f(x) * f(y) * G.dot(np.array([x, y]))[0] for x in x] for y in y]
]
fig, axes = plt.subplots(1, 3, figsize=(6, 2))
for i in range(len(images)):
axes[i].imshow(images[i], cmap=plt.cm.bone)
for axis in [axes[i].xaxis, axes[i].yaxis]:
axis.set_ticks([])