问题标签 [csg]

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 投票
0 回答
128 浏览

javascript - 如何使用 three.js 围绕其轴旋转网格?

Three.js 初学者在这里,我正在尝试创建一个由单独的网格组成的 3d 环形结构,我使用 CSG 将这些网格结合在一起。我设法将每个单独的网格沿着一个圆圈放置。我现在如何旋转它们,使每个长边都朝向圆心(我相信这是围绕对象的 y 轴旋转)?网格目前都面向同一个方向,以及我到目前为止所拥有的

但是,当我尝试围绕 y 轴旋转其中一个时,它并没有像我预期的那样朝着圆圈向内旋转。相反,它像这样旋转。它似乎并没有从之前所在位置的中心旋转。

我尝试了以下代码来获得此结果:

提前致谢!(另外请注意,如果有人理解为什么网格的某些部分随机变得不存在/透明,那将非常有帮助)。

编辑:JSFiddle 链接

0 投票
0 回答
263 浏览

javascript - 将 ThreeCSG 与 BufferGeometry 一起使用给了我奇怪的结果 - 缺少面孔

当尝试减去或合并两个网格(TextGeometry 和 BufferGeometry)时,结果网格缺少面和相反的结果,我正在使用应支持缓冲区几何的ThreeCSG,我尝试转换为普通几何,结果是相同的。

工会:

在此处输入图像描述

减去 :

在此处输入图像描述

这是我的代码:

如果我取消注释这两行,我会得到不同的结果:

结果如下所示:

联合法线几何:

在此处输入图像描述

减去前面:

在此处输入图像描述

减去:

在此处输入图像描述

有什么我想念的想法吗?

0 投票
1 回答
11393 浏览

unity3d - 如何在 Unity 的网格中执行布尔运算?

我有Cube模型和Cylinder模型。我想在里面打个洞CubeCylinder怎么打?

我有这两个模型:

在此处输入图像描述

我想做这个:

在此处输入图像描述

0 投票
1 回答
458 浏览

java - 是否可以将 jcsg 库与处理一起使用?

Processing 是一个创意编码平台——语言、IDE 和生态系统——由 Processing 社区在 Processing Foundation https://processing.org的支持下维护。处理 Java 模式通常可以从 Java 库中的代码中受益。

JCSG 是基于 BSP 的 CSG(Constructive Solid Geometry)的 Java 实现https://github.com/miho/JCSG

0 投票
1 回答
364 浏览

javascript - CSG (THREE.js) » 将本地 csg.js 导入另一个 JS 文件?

我想与 CSG 一起工作,THREE.js尤其是与 CSG 一起工作,这样我就可以使用布尔运算将两个 obj 模型相减。为此,我将各自的本地文件导入到一个中央 JavaScript 文件中,以便在其中使用它们。

使用THREE.js,OBJLoader2等。我已经这样解决了:

然后我可以访问相应的元素。(例如const objLoader = new OBJLoader2();)所以我目前能够导入 obj 模型并将它们可视化在画布元素中。

不幸的是,我不能为该CSG.js文件执行此操作。

我在这里找到了文件:https ://github.com/evanw/csg.js/blob/master/csg.js 。

如何将本地CSG.js文件导入我的中央 JavaScript 文件?

不幸的是,这两种导入都不起作用。

0 投票
1 回答
187 浏览

babylonjs - 在 babylon.js 中绘制由 CSG 创建的网格的外边缘

我有以下带有 csg 的场景: https ://www.babylonjs-playground.com/#KUM5WC#14 我只想绘制最终板的外边缘和孔的边缘(在操场上它需要很长时间才能加载并且在重新运行一个盘子消失后,您必须重新加载页面才能再次工作 - 在操场之外,无需刷新页面)。

改变 newMeshHolePlate.enableEdgesRendering(0.001); 没有效果

我的目标是以下外观: 在此处输入图像描述

0 投票
1 回答
149 浏览

algorithm - 高效的 2D 三角形-三角形减法,从另一个三角形中删除一个三角形,将余数作为三角形返回

我有兴趣编写一个自己的函数,从另一个中减去一个 2D 三角形,将余数作为三角形数组返回。(不使用现有的几何库)

输入和输出的两个示例,三角形编号,顺序不重要。

在此处输入图像描述


虽然我对这类算法比较熟悉,但这似乎是一个足够普遍的问题,可能已经编写了一个已知的健壮解决方案(如果没有,我可能会考虑写一个作为这个问题的答案)

0 投票
0 回答
112 浏览

graphics - 如何制作网状歧管

我尝试trim_with_solid了在 3D 模型中钻孔的方法:

但对于具有内外壁的镂空 3D 模型,孔闭合:

内墙和外墙

可能的解决方案

正如此处发布的那样,一个可能的解决方案可能是使用CSG 操作

但是,CSG 操作需要输入网格是多方面的。

问题

我不知道 libigl 是否有任何工具可以制作网格流形。有这样的工具吗?有没有其他图书馆可能有帮助?

0 投票
1 回答
177 浏览

graphics - 如何使用 CSGTree 进行多个布尔运算

我正在尝试使用 libigl 的Csg Tree来一次执行多个布尔运算。在链接的教程中,只有这一行:

我不知道如何使用CSGTree类 API。任何人都可以通过样板示例提供理想的帮助吗?

0 投票
1 回答
138 浏览

c# - Unity3D 中的 SabreCSG 无法构建(错误 CS0246:找不到类型或命名空间名称“***”)

我已经尝试了几种方法(甚至在我的统一中创建了空项目并安装了 sabreCSG)。我也在使用 unity 2017.4.3、Unity 2019.3.6 和 Unity 2020 最新版本。它在编辑器中正常运行,但是当我尝试制作构建或独立 exe 时,它​​给了我这些错误。错在哪里?我的播放器设置也正常

错误 CS0246:找不到类型或命名空间名称“***”(您是否缺少 using 指令或程序集引用?)

在此处输入图像描述 在此处输入图像描述