Experiments in Motion Graphics
This blog post is a tribute to the work of Sr. John Whitney, a visionary animator and computer graphics researcher, widely considered one of the fathers of computer animation. The very first program I wrote was a recreation of the graphics displayed in the video bellow, so Whitney has a special place in my heart.
The graphics displayed in the video were produced by Sr. Whitney and his research partner, Dr. Jack Citron, under their IBM research program, around 1969. These animations are procedurally generated based on a single polar coordinate equation.
The intricacies of the graphics are better explained by Whitney himself on a motion picture entitled Experiments in Motion Graphics and on one of his papers regarding the research program: CAMP.
If you’re curious, here’s the polar coordinate equation I mentioned (roughly):
Here’s also a Python-esc program for drawing (a simplified version of) the graphics:
def polar_to_cartesian(radius, angle):
"""
Converts polar coordinates to cartesian
coordinates applying some distortions
"""
x = C + E * radius * cos(angle) ** H
y = D + F * radius * sin(angle) ** Z
return (x, y)
def draw():
"""
Draws each frame
"""
for i in range(n_lines):
phi_1 = theta_1 + i * a_delta
phi_2 = theta_2 + i * a_delta
p_1 = polar_to_cartesian(r(phi_1), phi_1)
p_2 = polar_to_cartesian(r(phi_2), phi_2)
draw_line(p_1, p_2)
theta_1 += speed_1
theta_2 += speed_2
You can find more information about all this at animationstudies.org. It’s an interesting read.