GFU - 3D-Mesh to Polyline Sticks Conversion

Key Information

The challenge is finished.

Challenge Overview

Challenge Objectives

  • Implement new functionality in the command-line application for geologic fault detection.
  • The current codebase detects geologic fault planes in the input 3D seismic volumes, and output detected faults in form of 3D-Meshes (TSurfs), i.e. each fault surface becomes a textual file with a list of vertex coordinates in 3D space, and the list of triangle facets connecting these vertices into 3D-mesh representing the surface (each facet is just a group of three vertices). Such representation is great for visualizations, and some computations, but for manual editing and analysis of faults in many existing geological tools a Polyline Stick representation of faults is required. If you cut a triangular 3D-Mesh by a series of parallel planes, and record all polyline segments formed by intersection of these planes with the mesh, that will be the polyline fault representation we need.

Project Background

  • This is a follow-up for the recent Fault Detection in a 3D Seismic Volume project (to get a good idea about the problem we solved you may check details of this Marathon Match, which was the central challenge in the project). As the client starts using deliverables from that project for research purposes, the codebase needs further technical updates to facilitate data exchange with other geological tools.
  • We are planning two follow-up challenges in the series: in one of them we are planning to focus on calculation and storing additional statistics on detected faults (areas, orientation distribution, etc.); in another we are planning to implement functionality for splitting selected faults into separate pieces.


  • Detailed requirements are provided in the challenge forum, accessible after the registration.

Operating Systems

  • Ubuntu 18+

Development Assets

  • The current codebase.
  • The detailed technical requirements.

Technology Stack

  • Programming Languages: C++
  • Libraries: LibIGL, PointClouds

Scorecard Review

  • This submission will use the Basic Code Challenge scorecard.
  • Please review the scorecard carefully.
  • Your submission will be reviewed on these requriments:
    • Major: Implement all features explained in the detailed technical requirements document.
    • Minor: Avoid any minor issues in your implementation.


  • For better control of this challenge execution we will pay additional $50 / $25 / $15 bonuses to the challenge winners, if during the challenge they keep posting their progress in the forum on every atlernate day (e.g. xx% completed).
  • As this is a re-posted challenge, to better evaluate the reasons behind the failure of the original challenge we'll share a Google.Form survey in the challenge forum. We'll reward $25 / $20 / $15 to the top-3 honest feedback submitted via the form.

Final Submission Guidelines

Final Deliverables

  • All original source code.
  • Any notes which may help to review your submission.


2021 Topcoder(R) Open


Final Review:

Community Review Board


User Sign-Off


ID: 30149061