Rotating a 3D shape so that it gets heated evenly by a fire

51 Views Asked by At

Imagine you have a shape (say, an eggplant) that you want to cook roughly evenly on a fire. How should you rotate the eggplant to accomplish this?

More concretely, the surface of the eggplant (before any rotation) is specified by the equation $f(\overset{\rightharpoonup}{p})=f(x,y,z) = 0$, which WLOG surrounds the origin. The fire applies heat every second to each point on the surface at a static rate $h(\overset{\rightharpoonup}{p})$. E.g. $h(\overset{\rightharpoonup}{p}) = 100-z$ means lower points are heated faster than higher points, and a point at $z=0$ for 1 second gets the same heat as a point at $z=50$ for 2 seconds.

Lastly the rotation is done as follows: a skewer is stuck into the eggplant, going from the origin to $\overset{\rightharpoonup}{r}$ (a unit vector). The objective is to specify some set path $\overset{\rightharpoonup}{r}(t)$ (that remains length 1) for the skewer to follow such that, long-term, every inch of the eggplant's surface gets the same heat.

Here are some conditions which I have in mind, but you can overcome them/ignore them as you see fit:

  • The eggplant (i.e. $f$) is convex
  • $\overset{\rightharpoonup}{r}(t)$ moves at a constant velocity (doesn't linger extra long on any particular position)
  • the heating $h(\overset{\rightharpoonup}{p})$ is strictly positive, and something reasonable and smooth (like the example given), and not something irregular with a bunch of sporadic point charges.
  • $\overset{\rightharpoonup}{r}(t)$ is smooth and computable indefinitely in polynomial time.
  • The even heating of the surface shouldn't take egregiously long to converge

Also, if there's any field related to this kind of problem, I'd appreciate any pointers!

As a computer science specialist, all I can think of is the following algorithm: take a running integral of the heat each point of the surface is getting, and greedily rotate towards whatever point has the lowest cumulative heat. This is a completely numerical algorithm, however, and I'd love if one of you mathemagicians could give something smarter / more theoretically grounded.