Wolfram|Alpha has a whole collection¹ of parametric curves that create images of famous people. To see them, enter WolframAlpha["person curve"]
into a Mathematica notebook, or person curve
into Wolfram|Alpha.
You get a mix of scientist, politicians and media personalities, such as Albert Einstein, Abraham Lincoln and PSY:
The W|A parametric people curves are constructed from a combination of trigonometric and step functions. This suggests that the images might have been created by parametrising a sequence of contours... which is backed up by some curves being based of famous photos, e.g., the W|A curve for PAM Dirac:
is clearly based on the Dirac portrait used in Wikipedia:
Here's a animation showing each closed contour of Abraham Lincoln's portrait as the plot parameter $t$ increases by $2\pi$ units:
Since the functions are so complicated, I can't believe that they were manually constructed. For example, the function to make Abe's bow tie is
(for $8\pi < t < 10\pi$)
The full parametric curve for Abe has 56 such curves tied together with step functions and takes many pages to display.
So my question is:
How can I use Mathematica to take an image and produce a good looking "people curve"?
Answers can start from line art and just automatically parametrise the lines or they can start from a picture/portrait and identify a set of contours that are then parametrised. Or any other (semi)automated approach that you can think of.
¹ At the time of posting this question, it has 37 such curves.
WolframAlpha["Abraham Lincoln curve", {{"EquationsPod:PlaneCurve", 1}, "FormulaData"}]
. Not even the most downtrodden intern would be able to hand write such a mathematical function. Although, I admit, it could be hand traced and the traces parametrised - thus the line art comment in my question. $\endgroup$