Take the 2-minute tour ×
Mathematics Stack Exchange is a question and answer site for people studying math at any level and professionals in related fields. It's 100% free, no registration required.

I've asked the question here at gamedev SE, but the response wasn't too encouraging. So I try to reask again, from a slightly difference perspective.

I have a terrain, which is defined by mesh. And there are a lot of other polygonal faces scattered throughout the terrain, they can be located above, or below or cutting through the terrain. You can think of those faces as platforms.

A screenshot below should clarify what I mean. Despite looking smooth, all the mesh are actually consist of small elements ($number> 10k$) combined together, giving the false appearance of smoothness. The obvious disconnected area are platforms.

enter image description here

My question is, how can I generate the planes that connect between the platforms and other platforms/ terrain? Here are the rules to generate the series of sloped planes:

  1. They could go up or down, depending on which direction will make them hit the terrain/neigbouring platform first.
  2. The plane generation rule is that, the plane will start at the edge of a platform, and moving 45 degree upward/downward with respect to z axis for a certain length, then it will move 0 degree with respect to z axis for another certain length, and repeat. So it will be a series of piecemeal planes until at some points of the planes, obstacles are hit.

These slope planes are needed so that I can compute the volume difference between the slopes and the terrains, it's not just for visualization purpose.

My question is, are the available techniques that I can use to attack this problem? I'm pretty sure this is a well-established problem for computer graphics and whatnot, so there must be existing solution out there.

share|improve this question

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.