问题标签 [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.
c++ - 雕刻 1.4 CSG - C2375:'cbrt':重新定义;不同的联动
我正在尝试编译 Carve 1.4 c++ 库。但不断得到
错误。
当我单击错误时,它会将我带到 math.h 中的这一行:
我能找到的唯一其他 cbrt 函数与名为 cbrt.h 的库附带的头文件中的这一行有关:
我不确定要更改什么才能使其正常工作。有任何想法吗?
我已经使用 CMAKE 3.0.2 和 VS 12 2013 生成器生成了 carve-1.4 vcxproj 文件。
我正在使用 boost 1.56、CMAKE 3.0.2、VS 12 2013、Windows 7。
使用 CMAKE,对于 Carve 1.4,我关闭了“build_shared_libs”,并添加了“cmake_static_linker_flags”以与“cmake_exe_linker_flags”相同......
提前感谢您的帮助。
3d - 对构造实体几何 (CSG) 进行网格划分
我有许多切割立方体的几何图元(100)。这可以使用 CSG 建模。现在我需要一个相对粗糙的四边形网格来进行有限元模拟。为了生成网格,我遇到了 netgen(见图)。但是 netgen 会给我提供超过 200 万个元素的网格,我正在使用的 FE 程序无法处理这些元素。有没有可靠的程序可以完成这项工作?我已经尝试只对表面进行网格化并以某种方式对其进行粗化,但没有任何成功。
computational-geometry - 计算构造立体几何的体积
我有一个椭圆体的建设性立体几何,可以切割一个立方体。我需要计算多孔立方体的体积。我怎样才能做到这一点?
java - 如何使用 JavaFX 中的 JCSG 库将 MeshView 转换为 CSG 对象
我正在为 JavaFX 使用 JCSG 库。
我有一些MeshView
对象想要将它们转换为CSG
对象,有没有办法实现这一点?
javascript - 减去的几何形状会导致奇怪的照明
在 three.js 中,我试图使用我在这里找到的这个 csg(结构立体几何)扩展从盒子几何体(墙)“切出”一个窗口:https ://github.com/chandlerprall/ThreeCSG
我成功切割了窗户,但是结果的表面反射光很奇怪,见下图(先是法线,然后是有窗户的墙)
墙体材质为 MeshPhongMaterial,具有重复的纹理和凹凸贴图。
对于如何解决这个奇怪的光线/反射问题的任何建议,我将不胜感激。或者如何在three.js中从墙壁/盒子上切割窗户。
c# - 在给定布尔函数的情况下渲染任意 CSG 实体?
我正在为机器人项目实现我自己的 CSG 类,并且我正在考虑将每个实体实现为一个返回布尔值的函数,给定一个 3D 点;如果 3D 点包含在实体中,此函数将返回 true。我想通过这种方式,我可以轻松地执行实体的并集、交集和减法。
这足以执行碰撞检测等。本身,但我想实际渲染实体,所以我的问题是这个;如上所述,鉴于其布尔函数,是否有任何渲染实体的方法?我很乐意自己实现这一点,因为我想准确地知道发生了什么,这样我就可以根据需要简化并添加到代码中。如果这会让事情变得更容易,我也愿意接受以不同方式表示固体的建议!
需要注意的一件有趣的事情是,如果我可以推导出诸如实体的质心之类的东西,那将会很有用。
提前致谢!李。
openscad - 我们如何计算 CSG 对象的体积?
在 OpenSCAD 中,我实现了以下动画:
我的问题是,如何计算和导出交叉路口的“成交量”?[如果您知道如何在 VTK 或任何其他库中执行此操作,请赐教!]
three.js - 使用 Three.CSG 进行减法运算后如何修复 Mesh 中的小孔
我有一个盒子网格,我用 Three.CSG 减去另一个盒子来创建一个带窗户的墙。这样做之后,网格中的切口旁边会出现小孔。它们始终不可见,但在四处走动时会出现。
如何关闭这些孔?
这是我如何创建网格的代码的一部分:
更新
我创建了一个 jsfiddle,但很难重现该错误,我无法让它在那里可见:http: //jsfiddle.net/L0rdzbej/23/
但是,您可以在此处查看完整的应用程序。
就像@gaitat 建议的那样,geometry.mergeVertices()
它看起来对我没有任何改变。Chandler Prall 暗示了 where 的来源precisionPoints
,它是 mergeVertices 函数中的一个变量,可以解决这个问题。根据场景的规模,它的值应该更低或为负,但到目前为止我还没有成功。
javascript - ThreeCSG.js 最小示例
我正在尝试学习 ThreeCSG.js,这是 Three.js 的 javascript Constructive Solid Geometry 前端。我想我会先从网上复制一个最小的例子。我尝试使用网站上的 ThreeCSG.js 保存 Chandler Prall 令人惊叹的小 javascript Constructive Solid Geometry 示例的本地副本
https://stemkoski.github.io/Three.js/CSG.html
当我制作页面的本地副本时(使用 Chrome 的另存为网页,完成命令),我发现棋盘纹理文件丢失了。我收到以下 javascript 控制台错误:
带有(丢失的)jpg文件的完整路径名。当我手动下载 jpg 文件并将其放在 Chrome 正在寻找 jpg 文件的位置时,我得到了一个不同的错误:
我的浏览器是 Chrome 43.0.2357.134,Windows 7 64。我在 IE 上遇到了类似的问题。认为这可能是three.js 的错误/功能,我尝试了three.min.js 的最新版本,但出现语法错误。(该示例使用了旧版本的threecsg.js,并且API已更改。)
我究竟做错了什么?
3d - 在 Three.js 中减去几何(或者实际上是一般的 3D 编程)
我目前正在做一个小项目,我需要在mousemove上减去一个立方体的矩形区域(想想,一个用于在房子上放置门的缩进区域)。“门”将在点击时“放置”,但在用户决定其位置时需要“可视化”;实际上,除了用户不再移动它之外,没有任何变化。
这里的问题是找到一种允许用户移动门的有效方法,同时它可以交互和修改房屋网格。我一直在为Three.js 玩CSG,但我认为可能有更好的算法适合我的用例。我觉得从场景中移除立方体,将其转换为 CSG 网格,减去,然后转换回网格并在每一帧将其添加回场景中,直到用户确定其位置,成本真的很高。
CSG在这里是错误的方法吗?我应该直接修改顶点吗?如果是这样,我将如何计算/添加在正方形中创建“缩进”所需的顶点?真的,我正在寻找游戏和 3D 应用程序程序员认为处理此类案例的最佳实践。像 SketchUp 这样的应用程序如何处理诸如推/拉几何图形之类的事情?
谢谢。