## Triangulation of the surface determined by sampling two of its cross-sections

### Remember to vote up questions/answers you find interesting or helpful (requires 15 reputation points)

I have a data set that essentially looks like the picture below, i.e., it's given by sets of points in $\mathbb{R}^3$ that sample the cross-sections of a certain surface that in principle I do not know. In fact, I would like to recover this surface or, more precisely, a triangulation/mesh of it.

In this particular example, it is not difficult to see that we have a section of a cone. In this sense, I do not want to compute the convex hull of these points, but instead I just want to find its boundary (if this makes any sense; I actually don't know whether it does), i.e., I want to find the surface that one could obtain by simply joining the "corresponding" points in both "slices". (I've put "corresponding [points]" in quotes because I believe it's not straightforward to perform this matching exercise, i.e., find the point on the adjacent slice that isn't necessarily the closest one in the $\mathbb{R}^3$ metric, but would correspond to the closest one if we projected one slice into another and considered only the $\mathbb{R}^2$ distance between them, as seen below.)

-

1
I'm not sure I understand what your question is, but the matching method you've described seems reasonable. If the cross sections are in parallel planes project one sample to the other sample's plane and pair each point in one sample to one of its nearest neighbors in the other sample. You can make triangles out of the triples of (1) a point from the first sample (2) one of its closest neighbors in the other sample (in the shared plane) and (3) one of its nearest neighbors in the same sample. – Aaron Golden Feb 23 at 0:15
@Aaron: this is precisely what i had in mind when i wrote the question last night — sorry if i wasn't clear enough (at that point of the day i couldn't think straight anymore :-P). And thank you for your time and attention, i really appreciate it: i've been working with this problem for a couple of months now, and progress has been à la "two steps forwards, one backwards". ;-) – Daniel Feb 23 at 18:47

## 1 Answer

This is a problem that has been studied for a long time. I showed with my students Carol Gitlin and Vinita Subramanian, that there does not always exist a polyhedron that connects two arbitrary polygons in parallel slices. In other words, Daniel's hope to "simply `[`join`]` the 'corresponding' points in both 'slices' " cannot always be realized:

C. Gitlin, J. O'Rourke, V. Subramanian. "On reconstruction of polyhedra from parallel slices," International Journal of Computational Geometry & Applications, 6(1) 1996, 103-122.

These two polygons constitute a counterexample:

There is a very nice summary of the early work, and a practical algorithm, in:

Gill Barequet, Daniel Shapiro, Ayellet Tal. "History Consideration in Reconstructing Polyhedral Surfaces from Parallel Slices." Proceedings of IEEE Visualization, 1996. (CiteSeer link)

Maybe look at this more recent work?:

Samir Akkouche, Eric Galin. "Implicit surface reconstruction from contours." The Visual Computer. August 2004, Volume 20, Issue 6, pp 392-401. (Springer link)

-
@O'Rourke: Professor, thank you much for your help, and for the references as well — i really appreciate them, and i'm sure they'll lead me forward. As i mentioned above, i wasn't very clear-headed when i wrote up this question, but i believe that you capture the essence of my doubts (which i have a hard time putting in words, being fresh to this problem and field and all). In hindsight, i should've asked earlier… ;-) – Daniel Feb 23 at 18:58

1
@Daniel: I should have been clearer myself: "I want to find the surface that one could obtain by simply joining the 'corresponding' points in both 'slices.'" What my paper shows is that sometimes it is impossible to find such a correspondence. But this negative result is balance by many practical algorithms. – Joseph O'Rourke Feb 23 at 23:30
@O'Rourke: Professor, i haven't yet had a chance to check the references you posted, so maybe i'm asking something that you already answered, but there you go: Do you know where i can find out more about such algorithms you mentioned? (I'm fairly convinced that my problem will fall into this "impossible" category, given how feature-rich each slice is, but maybe i can work around it somehow…) – Daniel Feb 24 at 0:45

1
@Daniel: I would start with the Barequet et al. paper. It is a very good paper, very clear. And they were well aware of my negative result. (The link I provided leads to the conference version PDF, rather than the journal version.) – Joseph O'Rourke Feb 24 at 0:52
{"extraction_info": {"found_math": true, "script_math_tex": 0, "script_math_asciimath": 0, "math_annotations": 0, "math_alttext": 0, "mathml": 0, "mathjax_tag": 0, "mathjax_inline_tex": 3, "mathjax_display_tex": 0, "mathjax_asciimath": 0, "img_math": 0, "codecogs_latex": 0, "wp_latex": 0, "mimetex.cgi": 0, "/images/math/codecogs": 0, "mathtex.cgi": 0}, "config": {"markdown_headings": true, "markdown_code": true, "boilerplate_config": {"ratio_threshold": 0.18, "absolute_threshold": 20, "end_threshold": 15, "enable": true}, "remove_buttons": true, "remove_image_figures": true, "remove_link_clusters": true, "table_config": {"min_rows": 2, "min_cols": 3, "format": "github"}, "remove_chinese": true, "remove_edit_buttons": true, "extract_latex": true}, "english_confidence": 0.9548132419586182, "perplexity_flag": "middle"}