26

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.

Watson
  • 24,404
Luka Horvat
  • 2,668
  • @lhf That actually seems spot on. Any idea what the name for my thing could be? – Luka Horvat Jun 18 '14 at 23:10
  • they're called "complements of reunion of straight lines" or maybe "laser-of-doom sculptures" – mercio Sep 13 '16 at 00:36
  • Possibly related: http://mathoverflow.net/questions/39127/ – Watson Sep 13 '16 at 14:02
  • 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$. – san Sep 16 '16 at 21:05
  • What exactly is the problem? Given a number of silhouettes ( say 3 orthogonal projections) using them find all points on the body? Or to seek a definition of "silhouette-inaccessible convex body point"? – Narasimham Sep 19 '16 at 06:55
  • @Narasimham Given "all" the silhouettes, find all points on the body. If you can do that, what's that property called? – Luka Horvat Sep 19 '16 at 11:19
  • Lots of literature. Start with search for convex body determined by projections: https://www.google.com/search?q=convex+body+determined+by+projections&ie=utf-8&oe=utf-8 – Ethan Bolker Sep 19 '16 at 13:50
  • OP is interested about the edge of shadow cast .. as a parameter maybe but not about convex bodies per se. – Narasimham Sep 19 '16 at 14:53
  • The book and website Geometric Tomography by Gardner discusses this kind of problem at length. The website even has applets to play with. The book is very well-written and will be understandable if you have say, advanced undergraduate real analysis (if you don't know what a measure is, you might be lost). – icurays1 Sep 19 '16 at 15:35
  • These bodies all have the interesting property (that can be used as a definition) that each point on their surface has at least one line that either intersects the body at that point only, or at that point and one or more discrete points (but does not "penetrate" into the body). It sounds simplistic, but it actually an useful definition (in particular because real surfaces are continuous, in the sense of continuous functions) if you are interested in the related practical techniques (e.g. 3D scanning) instead of the math in and of itself. – Nominal Animal Sep 19 '16 at 17:01
  • Many 3D-scanned objects fall into a subset of the set that is described here, one where rotation around a single axis provides all silhouettes needed to determine the shape of the body. Using the "definition" above, this subset is the one where the lines I mentioned in my prior comment are restricted to be perpendicular to the rotation axis. I don't know about the math per se, but the related real-world applications, and math needed in implementing them, is very interesting. – Nominal Animal Sep 19 '16 at 17:06

1 Answers1

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.

pbierre
  • 379