我一直在阅读有关使用winged-edge data structure来存储边界表示。但是,链接网站说这是存储b-reps的最古老的数据结构之一,是否有更新的更好的数据结构?边界表示数据结构
其次,在C#中是否存在这种实现?
我一直在阅读有关使用winged-edge data structure来存储边界表示。但是,链接网站说这是存储b-reps的最古老的数据结构之一,是否有更新的更好的数据结构?边界表示数据结构
其次,在C#中是否存在这种实现?
用于B-rep的数据结构与用于多边形建模的数据结构非常相似 - 只需用曲线和面用曲面替换边。
wikipedia page on polygonal meshes有几种类型,包括有翼边缘。我个人喜欢半边网格。他们做得不好的唯一的事情是非流形拓扑,你可能需要也可能不需要。如果这样做,请查找径向边缘拓扑。
还有一个freely available B-rep datastructure从OpenNurbs(麦克尼尔,犀牛的制造商)。这也让你文件IO,这很好。
不知道这是否会有所帮助,但XNA库中有用于处理3D结构的Geometry对象,而不是。那里可能有东西。但我的猜测是,它将是基于点或基于三角形与边缘。
但它可能是一个看看的地方。
Boundary Representation Modelling Techniques by Ian Stroud会给你一个关于人们接触B-reps的方式的调查,以及所有Euler操作员的大量图表,以及用于实施B-reps的具体数据结构和算法。
无论您是否想将几个字符向前移动到F#中,您都可以从源代码中搜集Wings3d(用Erlang编写)的相关信息。只是不要迷失在制造飞船,忘记你应该编码!
另外the GML将允许你交互地调查你可以用你的B代码做什么,而数据结构是的代码。
你在我发现半边后约1小时数据结构我自己;)您可能想要编辑到您的答案的方便链接是http://www.flipcode.com/archives/The_Half-Edge_Data_Structure.shtml – Martin 2010-01-07 00:42:52