使用 ThreeCSG 在 Three.js 中绘制 OBJ 的横截面

2023-12-06

我正在尝试制作横截面OBJ装载有Three.js OBJ 加载器使用threeCSGJavaScript 的包装器构造立体几何图书馆。

当我使用常规网格(如球体/立方体)时,相交 csg 操作效果很好。我还可以使用处于初始位置的 obj 制作漂亮的横截面(白色对象,下面以红色显示横截面):

cross section

但是,当我旋转对象时,无论我如何更改其旋转,横截面都是相同的:

bad cross section

如何让 csg 相交运算考虑到对象的旋转?它与普通的 Three.js 网格(立方体)按预期工作。

这可能与 Three.js 加载 OBJ 文件的方式有关——它似乎将一堆网格存储在父对象中,然后可以在场景中添加/操作这些网格。这就是我执行 csg 操作的方式:

threeOBJ.traverse( function ( child ) {
    if (child instanceof THREE.Mesh) {
        cc = crossSection( child );
        scene.add( cc );
    }
} );

The crossSection()函数与图像中看到的蓝色透明平面和每个子网格执行 csg 相交操作。它返回一个 THREE.Mesh,然后我将其添加到场景中。

我觉得我一定是错误地提到了一些东西,因为它没有考虑轮换,但我不知道是什么。有没有更好的方法将 csg 与 Three.js 加载的 OBJ 一起使用;将所有子网格合并到一个父网格中然后执行布尔运算会更好/可能吗?


为了解决这个问题,我旋转了飞机而不是 OBJ,效果非常好。要查看对象的所有侧面,您还可以简单地旋转相机、交替轨迹球控件并控制平面的移动以获得所需的视图。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 ThreeCSG 在 Three.js 中绘制 OBJ 的横截面 的相关文章

  • document.execCommand('copy') 有大小限制吗?

    我使用的 document execCommand copy 与此处描述的类似 https developers google com web updates 2015 04 cut and copy commands https deve
  • React Native - “this.setState 不是一个函数”试图设置背景颜色动画?

    好吧 我只是想循环视图的背景颜色 在 3 4 种颜色之间渐变 我发现如何在 React Native 中对 ScrollView 的背景颜色进行动画处理 https stackoverflow com questions 50356933
  • 提交后如何重置表单?

    我有一个简单的表格 假设它需要一个电子邮件地址 提交表单后 消息堆栈会通知用户其地址已成功提交 问题是 提交地址后 带有电子邮件的表单字段仍然包含用户输入的电子邮件地址 我该如何重置该字段 我必须为此使用 JavaScript 吗 谢谢 w
  • jqGrid如何将额外的类应用于标题列

    我想在特定列上应用一个额外的类 我知道通过在 colModel 中指定这一点对于行是可能的 但这些类仅应用于 结果行 中的列 而不应用于标题 我想要达到的是通过简单的类名隐藏较小视口的特定列 与 Twitter Bootstrap 一起使用
  • Ionic 和 Angular 2 - 拒绝应用“http://localhost:8100/build/main.css”中的样式,因为其 MIME 类型(“text/html”)不受支持

    My Ionic https en wikipedia org wiki Ionic mobile app framework 构建一直运行得很好 直到我想在我的 iPhone 上进行测试 所以我停止了我的服务器 做了一个ionic ser
  • 我可以检测焦点来源吗? (Javascript、jQuery)

    快速提问 是否可以检测焦点是来自鼠标单击还是来自焦点事件的选项卡 我想如果没有 我将不得不在同一元素上使用单击句柄来确定源 但我更喜欢通过焦点事件的方式 Thanks Gausie 可能无法 100 工作 但如果没有直接的方法 那么你不能直
  • JavaScript 附加和前置与 jQuery 附加和前置

    QA Style 我最近读了一篇文章 里面说JavaScript已经实现了append and prepend受 jQuery 启发的方法 这对我来说是一个新知识 因为据我所知 要附加一个元素 我必须使用element appendChil
  • Rails:包括外部 JavaScript

    我想使用 JavaScript 库 例如 jQuery 插件 我是否使用 Rails 资产管道 或者我应该将其包含在 javascript include tag 中 我有哪些选择以及推荐的做法是什么 您会仅在几个页面上还是在整个应用程序中
  • 有没有办法防止 neDB 集合数组中的条目重复?

    var addNewUser function id chatId db update id id push users chatId function err numAffected code after the record is up
  • 我可以使用 javascript 生成 JSON 文件吗?

    我想在域 example1 com 上创建一个页面 并获取 解析另一个域 example2 com json json 上的 JSON 文件 可以使用 javascript 生成 json 文件 在 example2 com 上 吗 我认为
  • JavaScript 数组中的空项和未定义项有什么区别? [复制]

    这个问题在这里已经有答案了 考虑以下 JavaScript 代码 在节点 REPL 中 gt let a new Array 10 undefined gt a lt 10 empty items gt gt a map e gt 1 lt
  • JS 中的 .Jar 文件

    有谁知道如何在 JS 中访问 jar 文件 我已经用 Java 创建了类并作为 jar 文件导入 我想从 JS 文件访问该类 大家好 我感谢你们所有人 我尝试在 Firefox XUL 中使用 JS 列出文件夹中的文件 但我做不到 然后我决
  • 如何判断CKEditor是否已加载?

    如何确定 CKEditor 是否已加载 我查看了API文档 但只能找到loaded事件 我想检查 CKEditor 是否已加载 因为如果我第二次加载它 我的文本区域就会消失 The loaded活动对我不起作用 instanceReady
  • HttpRequest 和 XMLHttpRequest 之间的真正区别

    阅读前注意事项 这不是重复的xmlhttprequest 和 httprequest 之间的区别是什么 https stackoverflow com questions 8499062 what are differences betwe
  • 解析器阻塞与渲染阻塞

    我一直在阅读有关优化网络性能的 Google 开发人员文档 我对那里使用的术语有点困惑 CSS 和 JavaScript 文件都会阻止 DOM 构建 但是 CSS 被称为渲染阻塞 而 JavaScript 被称为解析器阻塞 解析器阻塞 和
  • 添加 sigma.js 导航按钮

    我是 javascript 和 sigma js 的新手 我试图让导航按钮在画布中向上 向下 向左 向右滚动 就像发现的那样here http jcml fr jacomyal osdc2012 demo 到目前为止 我有一个简单的例子 我
  • Dojo require,模块加载失败时连接错误

    当我尝试加载不存在的模块时 它失败并出现 404 错误 当然 我想处理此错误 但不知道如何连接到 错误 事件 根据 Dojo 文档 我应该能够使用它的微事件 API http livedocs dojotoolkit org loader
  • gulp-uglify 不会保留文件顺序

    当我使用吞咽丑化 https github com terinjokes gulp uglify为了缩小 Javascript 文件 顺序变得混乱 可以说我让这个任务按预期工作 var gulp require gulp var renam
  • 如何让JS变量在页面刷新后保留值? [复制]

    这个问题在这里已经有答案了 是否可以永久更改 JavaScript 变量 例如 如果我设置变量 X 并使其等于 1 然后按钮的 onClick 将该变量更改为 2 如何使该变量在刷新页面时保持为 2 这是可能的window localSto
  • 根据对象内的值将对象数组分成两部分

    我一直在尝试 并努力 弄清楚如何根据键值对拆分对象数组 长话短说 我有一个火车正在停靠的车站列表 需要将之前的停靠点和未来的停靠点分开 我正在使用的数据如下所示 station code SOC station name Southend

随机推荐

  • 使用 Mockito 通过反射来模拟方法

    我们使用 Mock Factory 为我们的开发人员提供关于模拟功能的最大可能舒适度 同时减少对 mockito 本身的了解 为此 我们的 Mock Factory 提供了一种方法来创建模拟 给定类名 方法名 通过正则表达式 和给定的返回值
  • 如何制作一堆可检测手势的自定义绘制形状

    我设法用以下方法制作了这 3 个奇怪的形状CustomPainter the 滑动按钮形状 平移按钮形状 and 倾斜按钮形状分别 我想让它们可检测到 所以我添加了GestureDetector但它不能正常工作 这就是我堆叠自定义绘制形状的
  • 如何使用 Apache POI 提取 docx(Word 2007 以上)

    你好 我正在使用 Apache POI 3 6 我已经创建了一些代码 XWPFDocument doc new XWPFDocument new FileInputStream file wordxExtractor new XWPFWor
  • 为什么 Google 地图在我的 Android 应用程序中显示空白屏幕?

    我的 Android 应用程序中有 Google 地图 我通过选择新的 Google 地图活动并将密钥粘贴到 Android Studio 中来添加它 它在我的 Android 手机 Lenovo K5 Note 中运行良好 但当我将项目复
  • 如何将分号附加到 ArrayList 中的每个元素[重复]

    这个问题在这里已经有答案了 我目前正在尝试在 ArrayList 中每个元素的末尾附加一个分号 代码 ArrayList
  • 如何在flutter中执行VoidCallback

    我正在尝试测试VoidCallback所以我创建了主文件 它有一个从小部件中的平面按钮调用的函数 该函数位于一个单独的文件中 但不起作用 主程序 dart import package flutter material dart impor
  • 为应用程序配置 SSL Heroku HTTPS

    您好 我目前正在阅读下面的教程 将 ssl 添加到我的 heroku 应用程序中 https gist github com shripadk 552554 所以今天 我买了一个域名 将 cname 设置为指向我的 heroku 应用程序
  • 如何使用 Jakarta POI 读取 ms word 文件的内容

    我已包含 jakarta poi 1 5 1 final 20020615 jar 文件以从 ms word 读取内容 我无法做到这一点 任何人都可以帮助我吗 Here is 快速指南
  • 在 R Shiny 中触发反应流的键盘快捷键?

    是否有可能 比如说 F7 or Q在 Shiny 应用程序 在 Windows 中 中触发反应流 这个问题提供了用于通过键盘输入交替选项卡的代码 但我对启动反应流感兴趣 例如 每次用户按下时都会 触发 按钮Q在键盘中 这是一个基于的示例这个
  • 无法抑制弃用警告

    在我的 Django 应用程序中 当我导入第三方库时 我在控制台中收到此警告 imp 模块已被弃用 取而代之的是 importlib 有关其他用途 请参阅模块的文档 但是 如果我在 Python shell 中进行导入 那么一切都可以 我想
  • 如何制作一个“真正透明”的光标窗口,最好是在纯 QML 上? (Qt 5.7)

    真正的透明 解释 图片 76kb 在那张图片上应用窗口有一个视觉上透明的层 但实际上光标并没有走到后面的窗口应用窗口 在本例中为 QT Creator 如果添加 取消注释 Qt WindowTransparentForInput 标志 则可
  • 如何使用javascript访问gridview单元格值

    我有一个 javascript 函数 我正在尝试验证 gridview 的输入 我的问题是我无法获取单元格的值 这是我所拥有的 function fcnCheck var grid document getElementById var c
  • 如何在 Java 中调用 WSDL URL 上的 Web 服务?

    我需要在我正在构建的 java Web 应用程序中调用一些 Web 服务方法 例如 每次用户注册时 我想致电newUser通过 Java 处理 WSDL url 的方法 我需要通过请求传递一些参数 是否有任何内置的 Java 类或任何公开可
  • 合并字典的字典和总和值

    我正在寻找一种将多个字典相互合并的方法 其中也包含嵌套字典 嵌套字典的数量不是静态的而是动态的 最后 最终字典应包含所有字典的字典及其值的总和 COUNTRY1 a X 10 Y 18 Z 17 b AA AAx 45 AAy 22 BB
  • 通过相机进行形状识别的 iPhone 库

    我希望这属于 编程问题 类别 我在谷歌上搜索 计算机视觉 这个主题 并阅读了这里关于该主题的每一篇文章 感到头晕目眩 但我变得更加困惑 而不是开明 我在一张纸上打印了 6 个抽象形状 我想让 iPhone 上的摄像头识别这些形状 从不同角度
  • GCE 实例在没有详细信息或澄清的情况下终止

    昨晚我们收到了一个奇怪的错误事件 其中一个 GCE VM 实例因不明原因被系统终止 有什么方法可以确定正在运行的实例终止的原因吗 来自 GCE 服务的 REST 响应的部分 kind compute operation operationT
  • Google Apps 脚本批量执行时间意外

    以下代码会导致空白表 可能是由于 clear 最后执行 即使它列在最前面 const ss SpreadsheetApp getActiveSpreadsheet var contractSheet ss getSheetByName sh
  • IISExpress 从远程计算机返回 503 错误

    我正在尝试使用本地网络上的其他一些计算机 设备来测试在本地 IISExpress 实例中运行的网站 我运行的是Win7专业版 当我第一次尝试从本地网段上的另一台计算机浏览到我的计算机时 收到 400 错误 主机名无效 据我了解 我需要使用提
  • 在页面上显示 Woocommerce 通知

    我创建了一个功能来显示一些带有短代码的产品 但我遇到的问题是错误消息没有显示在该页面上 例如 如果某些字段是必需的 那么它仅显示在购物车 结账页面上 这是我的一些代码 while query gt have posts query gt t
  • 使用 ThreeCSG 在 Three.js 中绘制 OBJ 的横截面

    我正在尝试制作横截面OBJ装载有Three js OBJ 加载器使用threeCSGJavaScript 的包装器构造立体几何图书馆 当我使用常规网格 如球体 立方体 时 相交 csg 操作效果很好 我还可以使用处于初始位置的 obj 制作