如何实现行进立方体的一个很好的示例代码?

时间:2022-07-03 15:23:38

Currently I am trying to implement the marching cubes algorithm in my project. It uses Unity 3 and C#. But I need to find a proper implementation example to truly understand its inner working.

目前我正在尝试在我的项目中实现行进立方体算法。它使用Unity 3和c#。但是我需要找到一个合适的实现示例来真正理解它的内部工作。

I found one called Metaballs, but It is too complex in the sense that this specific case uses marching cube to dynamically modify a mesh over time.

我找到了一个叫Metaballs的,但是它太复杂了,因为这个特殊的例子使用行进立方体来动态地修改网格。

I'm looking for a simple case so a newbie can understand what's going on.

我在找一个简单的例子,这样新手就能明白发生了什么。

Thanks

谢谢

4 个解决方案

#1


3  

Take a look at this link from Paul Bourke. It's a explanation about marching cubes and have a code sample. It's very simple to understand. Other one I've found is this one in Python, it's simpler than the first one. You have only to take a look at grid method from the class Iso.

看看Paul Bourke的链接。这是一个关于行进立方体的解释,并且有一个代码示例。理解起来很简单。我发现的另一个是Python中的这个,它比第一个要简单。您只需从类Iso中查看grid方法。

#2


2  

Have you read the original paper? It's very nicely explained.

你读过原稿了吗?它很好地解释道。

#3


2  

It might also be instructive to look at a 2D metaballs tutorial and then look at the 3D case again.

查看2D metaballs教程,然后再次查看3D案例,可能也会有指导意义。

http://www.gamedev.net/page/resources/_/technical/graphics-programming-and-theory/exploring-metaballs-and-isosurfaces-in-2d-r2556

http://www.gamedev.net/page/resources/_/technical/graphics-programming-and-theory/exploring-metaballs-and-isosurfaces-in-2d-r2556

#4


1  

Like yourself, I was looking for a non-metaballs example of the Marching Cubes algorithm -- I am particularly interested in graphing implicitly defined surfaces. Since I couldn't find one, I wrote an introductory Marching Cubes example that uses Three.js and posted it at:

和您一样,我正在寻找一个非metaballs的行进立方体算法示例——我对绘制隐式定义的曲面特别感兴趣。因为我找不到一个,所以我写了一个介绍性的行进立方体的例子,用了三个。js贴于:

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

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

#1


3  

Take a look at this link from Paul Bourke. It's a explanation about marching cubes and have a code sample. It's very simple to understand. Other one I've found is this one in Python, it's simpler than the first one. You have only to take a look at grid method from the class Iso.

看看Paul Bourke的链接。这是一个关于行进立方体的解释,并且有一个代码示例。理解起来很简单。我发现的另一个是Python中的这个,它比第一个要简单。您只需从类Iso中查看grid方法。

#2


2  

Have you read the original paper? It's very nicely explained.

你读过原稿了吗?它很好地解释道。

#3


2  

It might also be instructive to look at a 2D metaballs tutorial and then look at the 3D case again.

查看2D metaballs教程,然后再次查看3D案例,可能也会有指导意义。

http://www.gamedev.net/page/resources/_/technical/graphics-programming-and-theory/exploring-metaballs-and-isosurfaces-in-2d-r2556

http://www.gamedev.net/page/resources/_/technical/graphics-programming-and-theory/exploring-metaballs-and-isosurfaces-in-2d-r2556

#4


1  

Like yourself, I was looking for a non-metaballs example of the Marching Cubes algorithm -- I am particularly interested in graphing implicitly defined surfaces. Since I couldn't find one, I wrote an introductory Marching Cubes example that uses Three.js and posted it at:

和您一样,我正在寻找一个非metaballs的行进立方体算法示例——我对绘制隐式定义的曲面特别感兴趣。因为我找不到一个,所以我写了一个介绍性的行进立方体的例子,用了三个。js贴于:

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

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