I'm shooting blind over here because I have no background in this field of mathematics. I assume that if you have a body (in $\mathbb{R}^3$), you can call it convex if any segment from one point inside of the body to another point inside of it is completely contained in the body.

But what would you call the attribute that the shape of the body can be completely determined by rotating it and looking at it's 2D projection on a surface?

For example, imagine a cylinder that you curve into the shape of the letter $C$. The body that you get isn't convex, but if you imagine how it's silhouette would look you could completely describe it.

Ok, so to give another point of view and hopefully better describe what I mean, imagine this. You have a block of clay. In front of the clay is a surface. On the surface, there's a projection of the body under some rotation. What you do is, from the current point of view, cut out all the clay that's "not in the silhouette", cookie cutter style. Then you rotate the block of clay around itself but keep the surface between you and it. The surface doesn't move, but the projection changes as if you were rotating the body that's projected. For each rotation you repeat the cutting out.

Now, the bodies that I'm describing would be identical to the end result of the clay cutting, and the bodies that don't have this attribute would have less volume than the thing you get from cutting the clay. A red blood cell, for example, is something that you couldn't make like this because it has that dimple in the middle that will simply have no effect on the silhouette no matter how you rotate it.

  • $\begingroup$ See also the book "Visual Motion of Curves and Surfaces" $\endgroup$
    – lhf
    Jun 18, 2014 at 22:57
  • $\begingroup$ @lhf That actually seems spot on. Any idea what the name for my thing could be? $\endgroup$ Jun 18, 2014 at 23:10
  • $\begingroup$ they're called "complements of reunion of straight lines" or maybe "laser-of-doom sculptures" $\endgroup$
    – mercio
    Sep 13, 2016 at 0:36
  • $\begingroup$ Possibly related: mathoverflow.net/questions/39127 $\endgroup$
    – Watson
    Sep 13, 2016 at 14:02
  • $\begingroup$ Every point in the complement is part of a straight line contained in the complement, so "complements of (re)union of straight lines" seems to be adequate. Note that connected sets that are complements of unions of planes are exactly convex sets in $\Bbb R^3$. $\endgroup$
    – san
    Sep 16, 2016 at 21:05

1 Answer 1


I think you've underspecified the problem. In order to answer the question, one needs to know if the observed shadow shape is accompanied by accurate information about the instantaneous 3D rotational transform being applied to the solid. Also, it only makes sense to be asking this question for convex polyhedra. Also, if you don't place the light source at +infinity along a 3D axis, the problem is ill-conceived, as the light source could fail to throw a useful shadow (for instance, it could be inside the object, or between the object and the sihouette screen). A further practical constraint would be that the object rotation is about its centroid pinned to the origin. This problem set-up then implies that the silhouette screen is a plane perpendicular to the light rays.

Here is a technique that could solve the shape-from-shadow problem for convex polyhedra with low edge counts. Place the light-source at z = + infinity, so that shadow of a single revealed vertex indicates 3D coordinates [ x, y, ? ] at a specific 3D object rotation R (depth information is lost).

Think about the shadow formed by a single shadowed EDGE. For any edge, there is a rotation R that rotates the edge into the z == 0 plane. This rotation maximizes the length of the edge in the shadow * the distance of the edge from the centroid (the object centroid projects onto sensor coordinates (x=0, y=0). So, for each edge, the rotate algorithm searches for the rotation that maximizes the edge's shadow length * distance from 2D sensor (0, 0). At that specific rotation R, you can infer that the two endpoints of the 3D edge (line segment) are v1' = [ x1, y1, 0 ] and v2' = [ x2, y2 , 0 ]. (the x and y coordinates read out from the shadow sensor.)

Knowing the exact 3D shadowing rotation R, you now can infer two vertices of the polyhedron by inverse rotation v1 = R-1 • v1' and v2 = R-1 • v2'

The technique breaks down for polyhedra with so many faces and edges that the straight-line edges are indistinct in the shadow image. For instance, a regular polyhedron with a million faces would be indistinct from a sphere.

I expect there are published solutions to this problem in the SIG Graph journal, though I haven't looked there.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.