【问题标题】:Marching cubes?行进方块?
【发布时间】:2011-05-22 18:23:36
【问题描述】:

我有一个由点组成的对象,比如说它的点云,我想从这些点渲染对象,我希望对象看起来像那些点被包裹在一张纸中。我想为它制作动画,所以我首先想到的是移动立方体,但我的对象不会是球或立方体,它会变形,有没有比移动立方体更简单的方法?

【问题讨论】:

标签: opengl-es opengl-es-2.0 marching-cubes


【解决方案1】:

根据您所说的“包装”的含义,3D convex hull 可能会产生您想要的效果。

根据需要为您的顶点设置动画,并每次重新运行船体算法。

【讨论】:

  • 谢谢,这就是我要找的:)
  • 行进立方体当然可以工作。它本质上是一种确定 3D 凸包的算法。至于动画,我有一个在 webgl 中的 javascript 中运行的实例,甚至当我在我的地形中“挖掘”时在 javascript 中运行它似乎可以为相当该死的 quik 设置动画 -> youtu.be/_oML6USPs20
  • 行进立方体用于生成对象的等值面(给定静态或动态阈值)。它不一定是凸的。目前尚不清楚“包裹在一张纸中”是否意味着凸面。
【解决方案2】:

Marching Cubes 算法似乎最适合您正在寻找的东西 - 并非所有点云都是凸的。由于查找表很大,该算法可能看起来很吓人,但它实际上非常简单。我在以下位置发布了一个示例(使用 Three.js):

http://stemkoski.github.com/Three.js/Marching-Cubes.html

【讨论】:

    【解决方案3】:

    这似乎是您要查找的内容: http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=25

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-07-27
      • 1970-01-01
      • 2018-06-27
      • 2014-10-22
      • 1970-01-01
      • 2011-03-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多