使用 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 的横截面 的相关文章

  • Highstock highcharts 不规则数据的 x 尺度错误

    我有不规则的数据 我使用时图表绘制得很好高图表 function var chart new Highcharts Chart chart renderTo chart xAxis type datetime series name Vol
  • 从立即调用的匿名函数表达式返回 |它去哪里?

    如果我从立即调用的匿名函数表达式返回一个对象 它会去哪里 例如 这段代码中 foo 去了哪里 function var foo return foo 这有什么有用的应用吗 从自执行函数返回一个值而不将该返回值分配给结果变量只是一个无处可去的
  • 单值或常量值时在 x 轴上绘制的样条图 - highchart

    while using the older version of highchart 2 1 6 if a plot had only one value or a series of same values it would plot a
  • JavaScript 对象引用缓存

    我们的代码库中有很多对象 它们的名称空间是为了避免冲突 Example App local view MyView 在我在代码库中看到的大多数地方 我们使用完整路径来获取对对象的引用 并且这在同一函数中重复多次 Example functi
  • 在javascript中使用“return !0”有什么意义吗?

    如果您转到谷歌结果页面并运行rwt toString 你会看到这个函数的返回调用是 return 0 我想不出任何理由为什么这不会总是如此true 这只是一个简写吗true 还是还有更多事情发生 总是如此 但下载需要 2 个字节 0是 2
  • 如何使用 LinkedIn javascript sdk 检索包括所有字段的职位列表?

    我想要获取 LinkedIn 会员在其个人资料中输入的每个职位的 ID 头衔 摘要 开始日期 结束日期 当前状态和公司名称 我测试了一个查询休息控制台 https apigee com console linkedin我得到了想要的结果 查
  • Google 饼图未显示所有数据行

    我正在尝试绘制人口与国家名称的关系图 我发现 Google 可视化库仅渲染前几个 实际上数字似乎是随机的 具体取决于我使用的数据 有时添加 其他 条目 但它没有t 实际上具有其余条目的值 Example 1 With all countri
  • 零作为 IIFE 中的第一个参数[重复]

    这个问题在这里已经有答案了 In babeljs v6 5 1 class Foo 编译为 use strict var classCallCheck2 require babel runtime helpers classCallChec
  • HTML5 服务器端事件:EventSource 与包装的 WebSocket

    HTML5 服务器发送事件 SSE API 是否只是 HTML5 WebSocket 之上的受限制的 基于事件的 API 在我看来 一个EventSource只是一个WebSocket that Cannot send data 使用tex
  • 从未定义解构时避免错误

    可以说我有这个代码 const x y point Babel 会将其变成 var point point x point x y point y 这很好 但是如果点未定义怎么办 现在我得到一个错误 Cannot read property
  • 使用 jQuery 仅从字符串末尾修剪空格

    我知道 jQuery trim 函数 但我需要的是一种仅从字符串末尾修剪空格的方法 而不是开头 So str this is a string 会成为 str this is a string 有什么建议么 Thanks 您可以使用正则表达
  • 使用 JavaScript 的计时器

    我想使用java脚本实现计时器 我想随着间隔的变化而减少计时器 Example假设我的计时器从 500 开始 我想要根据级别减少计时器 例如1 一级定时器应减1 且递减速度应较慢 2 2级定时器应递减2 递减速度应为中等3 3级定时器应减3
  • Window 与 Var 声明变量[重复]

    这个问题在这里已经有答案了 可能的重复 JavaScript 中使用 var 和不使用 var 的区别 https stackoverflow com questions 1470488 difference between using v
  • Postman - 如何计算 JSON 响应中特定对象的出现次数

    我是 JSON 和 Postman 的新手 我相信我正在尝试做一些非常简单的事情 我创建了一个 GET 请求 它将获得如下所示的 JSON 响应 在下面的例子中我想得到count响应中所有 IsArchived 属性 这些属性的数量因响应而
  • Meteor.js 登录事件

    因此 我对 Meteor 框架和 JavaScript 总体来说还很陌生 但我正在使用该框架开发一个小项目 以尝试让自己达到标准 基本上我正在开发一个微博客网站 目前 用户可以通过多种服务登录 fb google 等 我通过插入所需 url
  • 常规 JavaScript 可以与 jQuery 混合使用吗?

    例如 我可以采用这个脚本 来自 Mozilla 教程 https developer mozilla org en Canvas tutorial Basic usage
  • 如何在粘贴时获取文本区域输入字段的新值?

    我发现当我尝试从文本区域字段读取值时onpaste调用函数时 我得到字段的旧值 粘贴操作之前的值 而不是新值 粘贴操作之后的值 以下是此行为的演示 http jsfiddle net qsDnr http jsfiddle net qsDn
  • 如何根据所需表单输入的值更改 CSS 样式

    我想知道如何编写 javascript 来改变所需的表单元素的样式 如果它们有价值的话就改变它们 我想要做的是当所需的文本字段为空时 在它们周围有一个彩色边框 并在它们有值时删除边框样式 我想做的是编写一个 javascript 函数来检查
  • 如何在 JavaScript 中获取浮点数的小数位?

    我想要的是与 Number prototype toPrecision 几乎相反的 这意味着当我有数字时 它有多少位小数 例如 12 3456 getDecimals 4 对于任何想知道如何更快地完成此操作 无需转换为字符串 的人 这里有一
  • 获取淘汰赛中被点击元素的索引

    获取无序列表中单击元素的索引的最佳方法是什么 让我举个例子 假设我有以下 HTML 代码 ul li p p li ul 现在我有以下 javascript 代码来获取索引 self itemClicked function data it

随机推荐

  • 使用 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 制作