- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在为一个机器人项目实现我自己的 CSG 类,并且我正在考虑将每个实体实现为一个返回 bool 值的函数,给定一个 3D 点;如果 3D 点包含在实体中,则此函数将返回 true。我想通过这样做,我可以轻松地执行实体的并集、交集和减法。
这足以执行碰撞检测等。本身,但我想实际渲染实体,所以我的问题是这样的;是否有任何方法可以根据上述 bool 函数渲染实体?我非常乐意自己实现它,因为我想理想地知道到底发生了什么,这样我就可以根据需要简化和添加代码。我也乐于接受以不同方式表示实体的建议,如果它能让事情变得更容易的话!
需要注意的一件有趣的事情是,如果我能推导出诸如固体质心之类的东西,那将会很有用。
提前致谢!李.
最佳答案
实现构造实体几何 (CSG) 的一般方法是通过实体的分割多边形上的二元空间划分 (BSP) 树。 CSG 操作(并集、交集、减法)是通过对 BSP 树执行操作来完成的,结果是产生另一个 BSP 树。 BSP 结果包含作为操作结果的多边形。
由于您在 C# 中工作,请查看此库,它是开源的并且可以免费使用。
关于c# - 给定 bool 函数渲染任意 CSG 实体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30499463/
我可以使用 normal 和常量 w 定义一个 CSG.Plane,如下所示: CSG.Plane = function(normal, w) { this.normal = normal;
我有很多 View ,我试图挤出然后相交以创建最终多边形。问题是结果不是预期的,它有一些 float 的额外部分。我需要以某种方式纠正这个问题,即使解决方案是一种检测这些 float 额外部分并删除它
我使用行进立方体渲染等值面,(或者可能是 marching squares 因为这是 2D)并且我想做集合操作,例如集合差、交集和并集。我认为这很容易实现,只需在来自两个不同隐式曲面的两个顶点标量之间
我正在开展一个项目,在该项目中我必须执行光线转换并使用 CSG 树。但我不知道如何使用 CSG 树或为这个项目实现它。我可以进行光线转换并给出最终答案。我的问题实际上是如何实现树并链接它。 最佳答案
我目前正在使用 three.js 几何类来创建一个形状,然后对该形状执行多个 CSG 操作。从而不断重绘形状。 这个执行多个 csg 操作的过程很慢,因为我使用光线转换来获取单击时的形状并对所选形状和
我正在尝试使用 ThreeCSG.js 对导入的 STL 网格文件执行 bool 运算。这是代码.. function openFile() { filePath = document.form.se
这可能是基本的,但是有缩放 CSG 对象的功能吗?我想使用边界和缩放函数自动为具有已知重叠公差(通常是喷嘴直径)的 3D 打印零件生成安全区。我可以得到 CSG 对象的边界,但似乎找不到比例函数。 最
我正在为一个机器人项目实现我自己的 CSG 类,并且我正在考虑将每个实体实现为一个返回 bool 值的函数,给定一个 3D 点;如果 3D 点包含在实体中,则此函数将返回 true。我想通过这样做,我
我重新实现了 OpenCSG对于现代 OpenGL 版本。 像素格式属性: NSOpenGLPFAColorSize , 24 , NSOpenGLPFAAlphaSize , 8 ,
我尝试使用 csg.js-functions 从盒子中切出一个球体,但它不起作用?我阅读了 http://learningthreejs.com/blog/2011/12/10/constructiv
当我使用它作为立方体和球体的代码时,它会切掉该立方体的某些部分: window.onload = function() { var projector = new THREE.P
我正在尝试使用 ThreeCSG 消除平台中的“漏洞”。我希望在较大平台上的特定位置减去孔。 var geometry = new THREE.CubeGeometry( 500, 10, 500
按照这里的例子: http://learningthreejs.com/blog/2011/12/10/constructive-solid-geometry-with-csg-js/ 并且将 Thr
我将 csg.js 与 three.js 一起使用,它似乎只支持 3D CSG。查看 this 我想交叉和联合 2D (three.js) 几何体。有什么办法可以用 three.js 做 2D CSG
我正在尝试克隆然后缩放网格,但缩放似乎并没有立即在克隆的对象上起作用,出于使用 CSG ThreeBSP 进行编程的目的。我想我应该在缩放后调用一个函数来强制矩阵或其他内部变量立即重新计算,而不是等待
我同时使用 three.js 和 CSG.js 来制作一个新形状。 var materialText = new THREE.MeshBasicMaterial({ map: THRE
我正在尝试编译 Carve 1.4 c++ 库。但不断得到 C2375: 'cbrt' : redefinition; different linkage 错误。 当我点击一个错误时,它会将我带到 m
我正在为 JavaFX 使用 JCSG 库。 我有一些 MeshView 对象,我想将它们转换为 CSG 对象,有什么办法可以实现吗? 最佳答案 组合 javafx.scene.shape.Mesh
我是一名优秀的程序员,十分优秀!