My friend Franciscus and I submitted our video for #some2. It’s a visual introduction to curves and the Frenet Frame!
My friend Franciscus and I submitted our video for #some2. It’s a visual introduction to curves and the Frenet Frame!
Wordle 232 1/6
🟩🟩🟩🟩🟩
I wrote a program to play and beat WORDLE for me. I discovered some interesting stuff along the way. Watch the video here:
Now that it’s been several months since graduating with my Physics PhD, it’s time to try something new. Here is a project I’ve been working on, which combines physics, mathematics, and sculpture.

Photos usually only show a rectangular fragment of the scene when the image was taken. Typical panoramic images display more of a landscape, but they still don’t capture the whole picture. Even a 360˚ panorama only captures a horizontal circle, leaving out the ground and sky.
What if you have a nice scene that you’d like to convey in full? I’ll show you how to make a spherical panorama, making use of all 4π steradians with software, a printer, and some paper.
My example is an unseasonal Christmas scene because I played with this a few months ago. Maybe we can imagine this is for a Christmas-themed celebration held in winter in the southern hemisphere.
The first free tool I’d recommend is Microsoft Photosynth, which generates panoramas and other immersive images and videos. You can use Photosynth on a computer or as an app on a smartphone or tablet. The iPhone app automatically snaps pictures as you aim the camera in different directions, and it stitches them into a panorama. Here is an interactive panorama I made of the inside of my house:

The second is Hugin, a free tool for the computer that gives you more freedom to construct your panorama, although it has a higher learning curve. You can import photos from any camera, and the software will stitch them together. You can also help it find matches between the photos to help it stitch better, and change settings to make the panorama as seamless as possible. You can also choose different projections, which allows you to create some interesting artistic effects. For example, one of my favorite projections is called the stereographic projection, which is employed here as in this “small world” effect reminiscent of Le Petit Prince, taken in my backyard.
These tools can make a 2D representation of a scene, but we want a 3D sphere. You’re probably familiar with the problem of turning a globe into a map of the world: you have to make a projection to translate the 3D globe into the 2D map. Here we want to go in the other direction.
For this project, I prefer the equirectangular projection because it has the nice property that the horizontal coordinate is the longitude and the vertical coordinate is the latitude. This makes the mathematics of the mapping much simpler. Now the mapping to the sphere is
$$\begin{bmatrix}x\\y\\z\end{bmatrix}=\begin{bmatrix}\sin{\theta}\; \cos{\phi}\\ \sin{\theta}\;\sin{\phi}\\ \cos{\theta}\end{bmatrix},$$
where \(\theta\) and \(\phi\) are the standard spherical coordinates. But having these coordinates isn’t enough; I want to make a physical model of this sphere.
The solution is to mathematically find the correct shape for 10 (or some large number) of petal-shaped images, such that the spherical image can be printed on several flat pieces of paper, and then rolled together to form an approximation of a sphere. The sphere is partitioned into some number of sectors (regions with \(\phi\) constrained between \(\frac{2\pi i}{n}\) and \(\frac{2\pi (i+1)}{n}\)). The paper petals will then join, or form a cobordism, between these endpoints.
After plotting and subsequently printing the correct boundary function in Mathematica, here is what the petals look like when they are joined at the point that will become the zenith:

Now that we have the shape planned, we can take a panoramic image and project it down to the petaled surface. You can make a full sphere panoramic image (as an equirectangular map) using the software of your choice. The height should be an even number of pixels.
Then what I did was import the photo into Mathematica and write a program to process it. If you’d like to try my Mathematica code for this, you can import this text file into Mathematica.
I decided to alternate the directions of the petals to minimize paper waste (as well as cost).

I cut out the petals, and I rolled each of them to make it easier to join them together.

I then put tape on the white surface (the inside) to hold the petals into the spherical shape. The result was two hemispheres:

Here’s the other side:

It’s beginning to look like something! Now it’s just a matter of gluing the two hemispheres together:

And it’s done!
You can use fishing line to hang the sphere. When it rotates, occasionally the sphere appears to turn inside out, and it looks like you are viewing the room through a circular portal through a fisheye lens.
It would be fun to improve on this idea using less reflective paper to reduce glare, and to try to make the seam at the equator less conspicuous.
Here’s an interesting paradoxical puzzle told to me by my friend Bryan, known as the two envelopes problem, and my proposed resolution of it.
Suppose you are presented with two envelopes, envelope A and envelope B. One envelope contains twice the amount of money as the other, but otherwise the amounts could be anything. You are asked to choose an envelope, and you are allowed to keep all of its contents. Once you choose, you are offered the opportunity to switch. The question asks which option is better. While the answer may seem intuitive, consider this argument that gives a paradoxical result:
Call the amount of money in the envelope you selected \(a\). If you stay with your initial choice, you are guaranteed this amount.
On the other hand, if you switch, you have a 50% chance of ending up with an envelope containing \(2a\), and a 50% chance of getting the envelope containing \(\frac{1}{2} a\). So your expected value by switching is \(\frac{1}{2} (\frac{1}{2} a)+\frac{1}{2} (2 a)=\frac{5}{4} a\), which is slightly better than the expected amount you were guaranteed to find without switching.
The paradox is that this is absurd, since your initial choice was totally random to begin with, so switching cannot make any difference. What’s going on here?
Some people object to this riddle, saying that it is unfair to use \(a\) for two distinct possibilities — the larger value and the smaller value. They argue that this is the source of the paradox, and believe they have solved it.
However, this argument doesn’t work. If we wanted to, we could open up the envelope right after you make your initial selection, and see what the enclosed value is. This is a perfectly well defined quantity, and we call it \(a\).
They may make a counter-argument as follows:
Instead of defining \(a\), let’s define \(s\), a variable representing the smaller of the two values in the envelopes. Then half the time you choose \(s\), the other half you choose \(2s\), so your expected earnings is \(\frac{3}{2} s\). This is the answer regardless of your initial selection, so the paradox is solved.
While the argument sketched above is correct, it doesn’t prove that there’s something wrong with considering the quantity equal to the value contained in the chosen envelope. Our goal isn’t to solve the problem with some argument, it’s to discover what is flawed with the argument we started with. That is the paradox.
It’s easy to convince yourself that the problem is flawed in some fundamental way, but I think it’s worthwhile to think about this problem, because in thinking about these things, it gives us a better intuition for how to solve problems like it in the future.
The following is my analysis of this problem, along with a resolution.
To be totally general, suppose we generate the envelope distribution by first selecting the lower-valued (or small) envelope from a known distribution \(\rho(x)\). We will make the simplifying assumption that money is continuous in the sense that it is infinitely divisible (we even allow for fractional pennies). For every one of these “small” envelopes in our sample space, there is exactly one envelope which contains twice the value. These envelope pairs are always drawn together. Then if we happen to know we have chosen the smaller envelope, we have
\(p\left(a=x\;\big|\;s\right)=\rho(x)\),
Where the notation on the left side means “Probability that the chosen envelope value is \(x\), given that the smaller envelope has been chosen (s for ‘small’)”.
Similarly, if we know we have chosen the larger envelope, then we know we have sampled a distribution scaled up by a factor of 2. After scaling and properly normalizing the distribution, we have
\(p\left(a=x\;\big|\;b\right)=\frac{1}{2}\rho(\frac{x}{2})\),
where again, the \(b\) means you have chosen the larger of the two envelopes (b for ‘big’).
Then it follows that if we know nothing about which envelope we picked, the probability distribution is
\(p\left(a=x\right)=\frac{\rho(x)+\frac{1}{2}\rho(\frac{x}{2})}{2}\).
The following graph shows an example probability distribution for the amount found given the small envelope is chosen (orange) and the large envelope is chosen (red).

Then we can compute our expected earnings by sticking with our first choice:
\(\displaystyle\int_0^\infty x \frac{\rho(x)+\frac{1}{2}\rho(\frac{x}{2})}{2} \; dx = \displaystyle\int_0^\infty x\;\rho(x)\; dx (\frac{1}{2}+\frac{1}{2}\cdot 2)=\boxed{\frac{3}{2} \left<x\right>_\rho}\).
This is the result we know must be correct whether we switch or not. But now it’s time to see if applying the reasoning from the original paradox still follows. What happens if we switch instead of staying with our original choice?
Now for any value of \(a\), there are two possibilities. We could have the smaller envelope, or we could have the larger envelope. But what are the chances that we chose the smaller envelope given \(a=x\)? Conversely, what are the chances we got the larger envelope given \(a=x\)? For this, we need Bayes’ Law:
\(P\left(A\big| B\right)=\frac{P(B| A) P(A)}{P(B)}\).
This works just as well for distributions as it does for absolute probabilities, or in our case, both at the same time. Using this format, we have
\(P\left(s\;\big|\;a=x\right)=\frac{\rho(x) \cdot \frac{1}{2}}{\frac{1}{2}(\rho(x)+\frac{1}{2}\rho(\frac{x}{2}))}=\frac{\rho(x)}{\rho(x)+\frac{1}{2} \rho(\frac{x}{2})}\),
and
\(P\left(b\;\big|\;a=x\right)=\frac{2 \rho(\frac{x}{2}) \cdot \frac{1}{2}}{\frac{1}{2}(\rho(x)+\frac{1}{2}\rho(\frac{x}{2}))}=\frac{\frac{1}{2}\rho(\frac{x}{2})}{\rho(x)+\frac{1}{2} \rho(\frac{x}{2})}\).
Then, to compute your expected earnings by switching, we compute
\(\displaystyle\int_0^\infty \underbrace{\frac{\rho(x)+\frac{1}{2}\rho(\frac{x}{2})}{2}}_{\text{Initially chose $x$}}\ \left[\frac{1}{2} x \underbrace{\frac{2 \rho(\frac{x}{2})}{\rho(x)+\frac{1}{2}\rho(\frac{x}{2})}}_{\text{Initially chose big given x}}+2x \underbrace{\frac{\rho(x)}{\rho(x)+\frac{1}{2}\rho(\frac{x}{2})}}_{\text{Initially chose small given x}}\right]\; dx \).
Luckily, the messy numerator of the first factor cancels with the denominator of both terms in the square brackets. This leaves us with
\(\displaystyle\int_0^\infty \frac{1}{2} \left[\frac{1}{2}\cdot x\cdot 2\;\rho(\frac{x}{2}) \cdot \frac{1}{2}+2x\cdot\rho(x) \cdot \frac{1}{2}\right]\; dx \).
We can substitute \(x\rightarrow 2x\) to make the integrand have only \(\rho(x)\), which gives
\(\displaystyle\int_0^\infty x \rho(x) (\frac{1}{2}+1)\; dx =\boxed{\frac{3}{2} \left<x\right>_\rho}\).
So in this analysis, we obtain the same answer by switching, as our intuition tells us.
You may not feel very satisfied about this, because even though we took the same route as the original paradox (but being more careful about conditional probabilities), we haven’t exactly put our finger on what is wrong with the initial argument.
In the original formulation, we made an assumption that the probability of choosing the larger (or smaller) envelope does not depend on the value of \(a\). Is this valid? It seems valid, since we assume that the probability distributions are uniform — that is, you are just as likely to have chosen any positive real amount of money. But this is precisely the problem. If we are assuming every amount of money is equally likely, this is an impossible distribution — but even if we pretend that such a distribution makes sense, there is no bound on how large a bounty can be concealed in the envelopes! Your expected earnings would already be infinite — and infinity times \(\frac{5}{4}\) is still infinite! Even in this unrealistic example there would be no paradox — the only paradox is that we are thinking of a problem where we expect to receive an unphysical amount of money.
Now consider the modification I made — I forced a probability distribution to make things more realistic. For any physically viable distribution, there must come a point where the distribution begins to drop off. For the sake of argument, suppose that change happens very abruptly: a positive probability of finding an amount smaller than a threshold \(t\), but zero probability density of finding any amount larger than \(t\) (in the diagram, this drop-off happens between 2 and 3). Now suppose that you pick an envelope, and it happens to have an amount greater than \(t\) (for instance, a value of 4 in the diagram). Now there is no chance that you have chosen the smaller of the two envelopes— after all, the probability of picking such a value given we have chosen the smaller envelope is zero!

This is where the 50-50 assumption breaks down in reality. The amazing fact is that the resolution to the paradox comes from the realization that we were making an incorrect assumption about the distribution of monetary amounts being uniform all the way to infinity.

This effect piqued my curiosity. Can we figure out the rate at which a propellor is spinning by analyzing this kind of photo? And can we figure out the real number of propellor blades in the photo? (You can scroll to the end for answers if you’re impatient!)
To start my research, I found this example of rolling shutter effect in video, showing strings vibrating at known frequencies (musical notes):
The yellow arrow represents the width in pixels of the image, which I measured to be about 393 px (when full size). The red arrow represents the width in pixels of the “wavelength” of the wave, which is measured to be about 171 px (when full size). This length actually reflects a temporal wave more than it does a spatial one, as in the small circular opening of the guitar, the string practically vibrates up and down remaining horizontal. A low E string on a guitar is supposed to be about 82 Hz, but I measured it with Audacity to be closer to 81 Hz. Then since the wavelength (red) represents the number of pixels sweeped out by the rolling shutter in one period of the E string, we can compute the shutter sweep time (professionally called the readout time) of the front-facing camera in the iPhone 4.
\( (1/81\mbox{Hz}) /\frac{817-646}{934-541}\approx \boxed{28\mbox{ ms}.}\)
Now we can explore what’s happening in the propellor image above. Let’s say the propellor is rotating (counterclockwise), and the shutter is rolling from left to right. We can look at what will happen on the top and bottom halves of the propellor separately. On the top side, the blades are moving toward the rolling shutter, so there will be a larger relative velocity between the two, and therefore more “collisions” between the shutter and the blades. This will result in a larger-than-normal blade count. On the other hand, the bottom of the propellor will be moving in the same direction as the rolling shutter, and thus the relative velocity is smaller. This results in fewer blades, and each blade (and the space between them) will be stretched out.
There is a subtlety here: the velocity of the blades is not uniform with respect to radius. This means that points toward the center of rotation have less velocity, and so the rolling shutter effect is less noticable there. In fact, on the lower side, there is a point at which the blade’s velocity matches the sweep rate. Something very special happens here, and we will examine this in detail later. Therefore we expect the propellor to look normal within some (possibly small) neighborhood of the axis, but at some point on the bottom a critical point is reached where the tangential velocity matches the sweep velocity. Below that point, the relative velocity becomes greater again, but in the opposite direction, so we can expect that text written on the blades would appear in reverse.
To help illustrate this effect, let’s come up with a theoretical framework. Consider a unit disk, spinning about its center at angular velocity \(\omega\). We may draw radial blades on this disk to give the appearance of propellors. We may now consider a vertical line that sweeps from left to right at a constant rate \(v\). We will define \(s=\frac{v}{\omega}\). This is a satisfactory approach, since for any propellor, we may use a distance unit equal to the radius of the propellor, at which point \(s\) is defined unambiguously as a unitless parameter. In the following animations, I have animated what a 5-blade propellor would look like for various parameters of \(s\). These animations are made by a mathematical function written with standard functions in Mathematica via a time-dependent DensityPlot (function from \(\mathbb{R}^2\times [0,2\pi)\rightarrow \mathbb{R}\)). There are easier ways to do this, but I wanted to come up with a single mathematical function that would capture all the magic of the rolling shutter. The animation illustrates what a video of the propellor would look like, and also helps visualize what’s going on between the blades. If the video aspect seems confusing, you can also interpret these animations as showing how the pattern changes as the initial angle of the propellor (when the photo started to be taken) changes.
(s=10) Shutter rolls so quickly that the 5 blades of the propellor appear normal. This is within the intended regime of the camera:
(s=2) Blade arrangement still topologically correct, but geometrically stretched on the bottom, and compressed toward the top:
(s=1) The topological threshold. Beyond this point objects begin to tear:
(s=0.8) Past the topological threshold, we begin to see the bottom side of the blade moving in the “wrong” direction:
(s=0.3) All hell breaks loose. We can see the critical point is quite visible just under the center of rotation. Blades seem to join and be torn apart from this point. Propellors appear on one side (at about 4 o’clock), and disappear on the other side (at about eight o’clock).
(s=0.1) An extreme example where the critical point is not resolvable due to the centeral hub. Blades begin to look like planar waves moving from the right to the left:
How can we examine the apparent motion of the blades in these animations? I will do this by quantifying the apparent velocity field of the blades in the above animations. What we can do first is define a function whose gradient results in the velocity field of the unwarped propellor. Since the velocity is always tangential, we want a function proportional to \(\theta\). This function is not continuous in the transition from \(\theta=2\pi\) to \(\theta=0\). This is of no concern to us because it is the gradient, in the end, that matters, and the gap can be filled in by continuity. Now we can suppose that we paint blades in angular wedges, delineating where each blade begins and ends. As in the animations above, by warping this image, we can see how the blades bend, and the direction perpendicular to the edges of the blades will be the apparent velocity of the “blade front”.
Define
\(\Phi(r,\theta)=\theta\).
The value of this function determines the angle of a point, but also the difference in function values between two angles tells us how much time it takes for the propeller to turn by this angle (times some angular speed which here I assume to be unity). We can deduce the velocity of the propeller by recognizing that the direction of the velocity is in the direction of the gradient of the function, while its magnitude is the distance between points divided by the time, which is actually the reciprocal of the magnitude of the gradient (since the gradient is the change in \(\Phi\)=time per change in distance).
Now consider the composition of this function with the coordinate map
\((r,\theta)\rightarrow(r,\theta-\frac{r}{s}\cos\theta)\).
The purpose of this map captures the fact that the horizontal position of the pixel in question determines how much later the pixel is being recorded from the “expected” time. Later in time means we must sample from a further clockwise angle, which seems strange at first, but makes sense if you think about it.
So the warped function becomes
\(\Phi’=\theta-\frac{r}{s}\cos\theta\),
The blade now looks warped, but we still perceive velocity as
\(\vec{\nabla}\Phi’=\frac{\partial}{\partial r}\left[\theta-\frac{r}{s}\cos\theta\right] \hat{r}+\frac{\partial}{\partial \theta}\left[\theta-\frac{r}{s}\cos\theta\right] \hat{\theta}=\frac{-\cos\theta}{s}\hat{r}+(\frac{1}{r}+\frac{\sin\theta}{s})\hat{\theta}\).
Sort of. While the gradient points in the correct direction, as the blade moves faster, the magnitude of the gradient becomes smaller. This is what I was explaining before about reciprocating the magnitude of the vectors to get the correct velocity. First let us convert to cartesian coordinates:
\(\vec{\nabla}\Phi’=-\frac{x^2+ys+y^2}{s(x^2+y^2)}\hat{x}+\frac{x}{s^2+y^2}\hat{y}\),
and then divide by the norm squared to account for this subtlety, giving
\(\boxed{\vec{v}(x,y)=\left\{\frac{-s(x^2+sy+y^2)}{x^2+(s+y)^2},\frac{s^2 x}{x^2+(s+y)^2}\right\}}\).
Here is a visualization of the vector field for s=0.5:

Let’s do some analysis on this flow. Let us find the stationary points by setting the components equal to zero. The second component forces \(x=0\), which forces \(y^2+sy=0\implies y=0 \mbox{ or } y=-s\). This means \(y=0\) remains the center of rotation, and \(y=-s\) is the “critical point” that we had been discussing earlier. This is the point at which the blades seem to collide and tear. You can see from the plot that the point is a “saddle point”, which explains why along one axis the blades crash together, while on another they rip apart. This is not a surprise, as we already decided this is the point where the tangential velocity of the blades equals the velocity of the rolling shutter, so \(v=\omega r=\omega s \implies r=s\), and clearly it has to be along \(x=0\) below the x-axis. Another interesting insight is where the broken shards of propellor appear and disappear, on the edges of the disk the propellor traces out. By reverting to our polar coordinate representation, we can rephrase the question as asking “at what point is the velocity completely radial?” This is accomplished by setting the \(\theta\) component to zero:
\(\left. 1+\frac{r}{s} \sin\theta\;\right|_{r=r_0}=0 \implies \boxed{\theta=-\sin^{-1}\frac{s}{r_0}}\),
which is a cool result because it means that the blade entrance, exit, and critical points are collinear, on a horizontal line.
Now back to the original question: how you can forensically determine information about a rapidly spinning blade by taking a photograph with a CMOS camera? For example:
First question: How many blades does the propellor actually have?
If the propellor is spinning slowly enough, then the warping is minimal, so the blades can be counted normally. However, when \(s\) becomes less than the radius of the propellor, it is somewhat more difficult to understand what is going on. However, often this does not matter, because as long as the critical point is lower than the hub of the propellor, you can count the blades as they come out of the hub, which will give the right answer.
The problem arises when the critical point is within the hub. Here is a solution to that problem: count the upward-pointing blades, and subtract from that the number of downward-pointing blades. I’m using “upward” and downward loosely, as in some cases these blades may not literally be pointing in the direction I’m describing, but it’s the kind of thing you just have to get a feel for. This method works because the “upward-pointing” blades include true blades as well as fake blades. But fake blades, unlike real blades, extend downward, and therefore can be subtracted away. Here is an example using the “subtracted away” approach:

There are 9 blades on the top, and 4 on the bottom, giving (\9-4=5\), so five blades. Another way to see it is the red regions show the fake propellor blades that will be subtracted away, also indicating that there are five blades present on this propellor. This technique becomes much more useful when counting fast-spinning propellors. Aesthetically, this method is very similar to the Divergence Theorem, or Gauss’ Law in Electrostatics. Whatever goes out that does not come in is attributable to a source, which in this case is the collection of blades emanating from the hub of the propellor.
Second question: At what rate is the propellor spinning?
Suppose we are at the airport and we see a propellor and we are curious to its speed, but all we have is our CMOS camera. How can we determine the rotational speed of the propellor?
For the sake of argument, suppose the propellor spans across the entire width of the camera’s image sensor. First we determine the true number of blades using the method described above. Call this number \(n\). Now what we will do is count the number of blades from the appearing point to the vanishing point around the top (direction of larger number of blades). Call this number \(N\). Then \(N\) is \(n\) times larger than the number of times one particular blade passes by the rolling shutter. In this time, the shutter point has moved from the left side to the right side of the image, which means \(N/n\) is one half rotation larger than the true number of rotations (if you count to the appearing and vanishing points, it is slightly more than \(\frac{1}{2}\)more, but in practice this difference is usually negligible. If you’re concerned, you can count blades across the entire horizontal diameter). Therefore,
\(\mbox{# of rotations}=\frac{N}{n}-\frac{1}{2}\),
where “\(\mbox{# of rotations}\)” (abbreviated to \(\#_{rots}\)) represents the number of rotations that take place in the time the rolling shutter takes to sweep across the entire propellor region. This number can be related to \(s\).
\( s=\frac{\small\mbox{rolling shutter velocity}}{\omega}=\frac{2r/\small\mbox{time}}{2\pi \;\#_{rots}/\small\mbox{time}}=\frac{r}{\pi \;\#_{rots}}\).
For more mathematical exploration of this effect, check out “Rolling Shutters” by Jason Cole.