问题标签 [brep]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
2730 浏览

c# - 边界表示数据结构

我一直在阅读有关使用翼边数据结构存储边界表示的信息。但是,链接的站点说这是用于存储 b-reps 的最古老的数据结构之一,是否有更新更好的数据结构?

其次,在 C# 中是否有实现?

0 投票
1 回答
620 浏览

geometry - B-rep 的音量?

我想知道如何计算由边界表示(B-Rep)表示的固体物体的体积?有什么提示吗?提前致谢

0 投票
1 回答
1053 浏览

math - 实现边界表示建模

有没有人有任何好的实施策略或资源来组合 b-rep 建模系统?

OpenCascade 显然是一个很好的 b-rep 建模库(FreeCad 和 PythonOCC 使用的都非常酷),但该库庞大、复杂,可能不是学习 b-rep 建模“引擎”的好起点。

我已经阅读了大量研究论文,虽然基础数学有助于理解为什么一切正常,但它给我留下了一些实施问题。

半边数据结构似乎是在 b- rep实现中存储有关主体信息的首选方式。

所以一些没有特定顺序的问题:

  1. 使用半边数据结构通常如何实现渲染?基于实体边界的三角剖分?

  2. 圆形面/曲面通常是如何实现的?例如,我读过的关于 b-rep 的一个基本介绍中的圆柱体在内部存储为棱镜。即一个挤压三角形和元数据存储在帽面周围,表示它们确实是圆形的。

  3. 布尔运算通常如何实现?我已经阅读了有关沿相交曲线生成 BSP-Tree 然后组合这些树以生成新几何图形的信息。还有其他方法可以实现布尔运算吗?他们有什么样的优点/缺点?

谢谢!

如果您想提供代码示例,请不要担心语言——问题更多是关于算法/数据结构实现细节

0 投票
2 回答
4285 浏览

autocad - B-Rep和Mesh索引表示的主要区别是什么

我知道 B-Rep (ParaSolid) 是流行的实体表示。从我过去的经验来看,我总是接触像OBJ,STL文件格式的三角形网格表示。我想知道为什么 B-Rep 比网格表示更好?主要区别是什么?

0 投票
1 回答
505 浏览

spline - B-Rep和参数表示之间的主要区别是什么

对于实体建模,我听说除了 B-Rep 之外,还有参数表示。这两者有什么区别吗?

0 投票
1 回答
2475 浏览

cad - 翼边与半边

我试图理解边界表示(B-rep),但我找不到半边数据结构与翼边数据结构相比有什么优势。我在这本书中发现,翼边不能代表空间中存在顶点但不存在边的状态。但是没有样本。

另一本书说边缘方向存在歧义。

最后,在这个网页上,调用性能原因。

0 投票
1 回答
1009 浏览

3d - 3D 几何表示中的 Brep 和多边形网格有什么区别?

我对 Brep(边界表示)和多边形网格感到困惑。因为它们都是顶点、边和面的集合,但在计算机图形书中,Brep 在实体建模部分进行了解释,而多边形网格在曲面建模部分进行了解释。那么两种表示有什么区别呢?

0 投票
0 回答
705 浏览

three.js - ThreeJS 中的边界表示

我一直在使用 ThreeJS 来构建我自己的基于 Web 的 CAD 前端。API 具有惊人的功能。我的意图是将 ThreeJS 界面的物理特性与不同的产品集成,遗憾的是,唯一受支持的通用 CAD 格式是 STL。FEA 中最重要的输入之一是边界。在我的例子中,它们是 3d 模型的面,可以是任意形状而不是三角形。显然,ThreeJS 将 Face3 视为人脸。


例如: 从 STL 转换的模型

这种表示也称为边界表示。

有没有办法在 ThreeJS 中获得这些面孔?

我尝试了 RayCaster 但它不起作用,我的目的是事先从模型中获取所有面孔的列表。

非常感谢

0 投票
1 回答
209 浏览

matlab - 立方网格的生成

我正在尝试在 Matlab 中生成一个立方网格,以便我可以生成 M x N x Q 立方体的网格,其中 M、N 和 Q 是整数。我不需要绘制它,而是生成网格的 B-Rep(顶点矩阵和面矩阵 - 没有重复的内部面)。我尝试了两种方法:

  1. 在 X、Y、Z 方向复制和平移点,消除重复点并尝试生成新的拓扑(我不知道如何)。
  2. 使用 Matlab 神经元神经网络工具箱,特别是生成 3D 点网格的 gridplot 函数,但无法从此函数生成面矩阵。

有什么建议么?

谢谢你。

更新 顶点矩阵包含每个立方体的所有 8 个点,面矩阵包含每个立方体的所有 6 个面。我可以使用以下代码生成它:clc clear

这段代码的问题是它包含重复的顶点和重复的面。使用 unique 函数消除重复顶点非常简单,但是当我消除重复点时,我不知道如何处理拓扑(面矩阵)(显然,一些面也应该被消除)。

有什么建议吗?

0 投票
1 回答
603 浏览

geometry - 有人可以解释一下多边形中点的光线投射算法,即包含检查吗?

考虑一个具有两个循环的多边形,即外循环和内循环,如本问题所附图像所示。有人可以解释一下光线投射算法在这种情况下究竟是如何工作的吗?如果可能,请在答案中添加一些图像/绘图,以便更好地可视化和理解。

例子 在此处输入图像描述