JavaFX 3D 对象之间的并集、交集和差异

2023-12-13

有没有办法在 JavaFX 3D 对象之间执行布尔运算,例如并集、交集和差集,例如在 Sphere 实例、Cylinder 实例和 Box 实例之间。

从 Shape 类继承的 JavaFX 2D 对象已经具有 union() 和 minus() 方法http://docs.oracle.com/javase/8/javafx/api/javafx/scene/shape/Shape.html

我想知道 JavaFX 或 F(X)yz 库中是否有 Shape3D 对象这样的东西。如果没有,我很想知道实施这些操作的最佳方法。

亲切的问候,


正如 @jdub1581 所说,在 JavaFX 中没有直接的方法来使用 3D 原始形状进行布尔运算。

如果您知道或提供网格信息,这并不意味着无法执行这些操作。

而 F(X)yz 库有许多复杂的 3Dshapes,在完全提供网格信息的情况下,它不会对它们执行布尔运算。

3D 布尔运算是构造立体几何技术。 CSG 实体是使用布尔运算(并集、交集、差集)从多个基元(立方体、棱柱、球体、圆柱体、圆锥体和环面)构造而成。

该技术有一个基于 Java 的实现,JCSG。来自他的作者迈克尔·霍弗(Michael Hoffer):

基于 BSP 的 CSG(构造实体几何)的 Java 实现。这是我所知道的唯一简单且免费的 Java 实现。该实现使用基于优化的CSG算法csg.js.

基于该实施,JFXScad是一个基于 JavaFX 的项目,使用 JCSG 创建复杂的形状,准备进行 3D 打印或导出为 STL/OBJ。

使用此项目,您可以在左侧面板上键入内容,并在右侧面板上生成 3D 形状。这是可用示例之一:

JFXcad

正如你所看到的,几个手臂是通过挤压创建的,并与Cylinders using union, difference, ...

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

JavaFX 3D 对象之间的并集、交集和差异 的相关文章

  • JavaFX 中按下按钮的样式

    我有一个Button in my FXML文件 我在下面给它一个样式CSS button fx background color linear gradient ff5400 be1d00 fx background radius 30 f
  • 学习 Java Native Access 时出现 com.sun.glass.ui 包错误

    我正在尝试在 JavaFX 项目中使用 Undecorated 阶段 stage initStyle StageStyle UNDECORATED 它是一个模块化的 Gradle 项目 它也是一个多项目构建 https guides gra
  • OpenGL z轴指向哪里?

    我正在尝试了解 OpenGL 坐标系 我到处都看到它被描述为右撇子 但这与我的经验不符 我尝试绘制一些形状和 3 d 对象 我发现 z 轴显然指向 屏幕 而 x 指向右侧 y 指向上方 这是左手坐标系的描述 我缺少什么 编辑 例如 http
  • C++ Irrlicht 程序未链接:“未定义对‘__imp_createDevice’的引用”

    我的 Irrlicht 程序无法链接 我使用的编译器是g Code include
  • JavaFX 中 ImageView 的顺序转换

    我已经看过了如何在 javafx 2 1 中等待转换结束 https stackoverflow com questions 11188018 how to wait for a transition to end in javafx 2
  • JavaFX - 如何检测 Windows 注销/关闭请求?

    我有一个应用程序必须在退出时处理一些方法 但是 当用户在没有先关闭我的应用程序的情况下关闭 Windows 时 Windows 会终止该应用程序并且不会运行关闭方法 如何检测用户何时请求关闭或注销 Windows 我需要运行的方法需要几毫秒
  • 3D 数学:根据“向上”和“向上”正交向量计算倾斜(滚动)角度

    我希望这是提出这个问题的正确位置和这个一样 https stackoverflow com questions 3035590 bank angle from up vector and look at vector 但表示为纯数学而不是图
  • 将大块位图转换为 3 维位图

    Problem 我需要这个大量的数据作为输入 对于基于C的arduino 这是上面示例中所需格式的大量数据 const byte bitmap 8 8 0xFF 0x81 0x81 0x81 0x81 0x81 0x81 0xFF 0x81
  • 简单的线框格式?

    我正在寻找一种用于线框模型的简单文件格式 我知道 VRML u3D 等 但这些对于我的需求来说似乎很重要 我的标准是 必须有明确的规格 要么是开放的 要么是非常完善 记录的 我只需要 想要 简单的模型 顶点和边 我不想处理面孔或物体 如果格
  • 如何使用 Java 11 和 JavaFX 11 运行 ControlsFX 示例应用程序

    ControlFX 网站 http fxexperience com controlsfx says 如果您想使用 ControlsFX 示例应用程序 只需 下载 ControlsFX 版本并在上运行以下命令 命令提示符 请务必将 替换为实
  • 如何在JavaFX 2应用程序中正确使用Weld?

    我正在尝试让 Weld 在我的 JavaFX 2 SE 应用程序中工作 或者我应该说 JavaFX 在 Weld 中工作 我有响应用户交互的控制器 现在我想将我的服务 例如数据库服务 注入到这些控制器中 使用 Weld 这应该像以下一样简单
  • FXML 文档拒绝导入其他 fxml 文件

    我的程序有一个主要的 FXML 文档 其中包含TabPane 对于每个选项卡 我希望它有自己的控制器和 fxml 文件 当我尝试将外部 fmxl 文件包含到主 fxml 文档中时 我的程序拒绝运行 这是我的主要 FXML 文档 这是我的 j
  • JavaFX 全屏 - 根据屏幕尺寸调整元素大小

    有没有什么方法可以使全屏 如果可能的话也调整大小 而不是重新排列所有内容 实际上它所做的是重新排列元素 例如调整大小但调整到整个屏幕 以形成实际的全屏模式 就像通常改变屏幕分辨率的游戏一样 以便按钮和文本根据屏幕 窗口的大小相应增长 另外
  • 在 javafx 中注册鼠标处理程序,但处理程序不是内联的

    我有一个 JavaFX 应用程序变得有点大 我想保持代码的可读性 我有一个折线图 我希望内置缩放功能 该功能在单击鼠标时发生 我知道我需要向图表注册鼠标侦听器 我无法从 Oracle 示例中弄清楚什么 即如下所示 http docs ora
  • 如何根据 JavaFX 8 中的特定祖先获取节点边界?

    我在 AnchorPane 中添加了一个图表 我想获取其绘图的范围 图表 我用青色标记 这样我就可以在它上面添加一些文本 但我应该根据它的祖先知道它的确切边界 如果我手动执行此操作 则在调整大小等时更改节点的填充大小时 我可能会失败 imp
  • 确定 JavaFX 中是否消耗了事件

    我正在尝试使用 JavaFX 中的事件处理来做一些非滑雪道的事情 我需要能够确定手动触发事件后是否已消耗该事件 在以下示例中 正确接收了合成鼠标事件 但调用 Consumer 不会更新该事件 我对此进行了调试 发现 JavaFX 实际上创建
  • JavaFX 中的 -fx-background-radius 和 -fx-background-insets

    我正在使用 JavaFX 我想自定义一个按钮 我看到了几个可以设计的特征 其中我发现了两个我不认识的人 button fx padding 5 22 5 22 fx border color 121212 fx border width 2
  • 如何在 JavaFX 中连接可观察列表?

    我所说的串联是指获得一个新列表 该列表侦听所有串联部分的更改 方法的目的是什么FXCollections concat ObservableList
  • 如何在 JavaFX 中将 FontAwesome 升级到版本 5

    我有一个使用 FontAwesome 图标的 JavaFX 我想使用新版本 5 但似乎已经不起作用了 这是一个用 Groovy 编写的简单演示应用程序 可与旧版 FontAwesome 一起使用 import javafx applicat
  • IE9-11 检测变换样式:preserve-3d

    我为一个项目制作了一个 3d 类型的菜单 自然 IE 会引起问题 因为 IE10 即使 3d 变换工作 也不支持变换样式 preserve 3d 我尝试了解决方法 通过对 3d 菜单容器的每个子元素应用变换 但至少可以说 动画看起来很糟糕

随机推荐

  • 如何在 iPhone 中单击按钮时调用 pin 注释

    我不希望直接在地图上调用图钉 我希望通过按钮操作调用图钉注释 当我在按钮单击事件上调用此方法时 我的应用程序崩溃了 我想在单击按钮时调用注释 我可以在按钮上调用所有方法吗 MKAnnotationView mapView MKMapView
  • “不包含四个或更多重复字符”的正则表达式

    我对正则表达式的经验有限 我一直在阅读有关否定和否定前瞻等的各种教程和帖子 但似乎没有什么与我的情况完全匹配 我正在尝试创建一个属性ASP NET MVC3对于密码复杂性 验证的一部分包括最小数量的重复字符 对于当前项目来说 限制是 3 但
  • 将按钮添加到 ui 导航控制器底部栏

    我可以使用以下代码取消隐藏导航控制器底部栏 self navigationController setToolbarHidden NO 但现在我想更改底部栏的颜色 并向该底部栏添加按钮 任何人都可以帮助我如何做到这一点 是否有任何委托方法
  • 水平滚动整个列表视图

    我有一个自定义列表视图 其中包含 14 个字段 如下所示 字段1 字段2 字段3 字段4 字段5 字段6 字段7 字段8 字段9 字段10 字段11 字段12 字段13 字段14 现在明显的问题是我不可能在屏幕上显示所有字段 所以我想让整个
  • python 3 IDLE 中的“语法错误:语法无效”

    为什么这是语法错误 我该如何解决它 class Queue Queue is basicliy a List def init self self queue add to the top of the list the left side
  • C# UTC 到用户当地时间

    我有一个用户可以发帖的网站 用户可能来自全球各地 因此当他们发帖时 我将发布日期存储为 DateTime UtcNow 我正在使用 JQuery 时间前插件来显示类似于堆栈溢出的发布数据 1 分钟前等 但我不确定如何将系统中存储的日期转换为
  • 如何更改相对布局边框颜色?

    如何更改相对布局边框颜色 这是我下面的代码 我只想显示边框颜色黑色 但显示所有相对布局黑色 我只想显示相对布局白色 只有边框是黑色我该怎么办
  • HTML 表单:完成文本字段后将焦点放在复选框上

    查看此 HTML 表单并注意它在文本字段之间有一个复选框 我尝试在移动设备上使用 Chrome 来填充它 并注意到一个意想不到的问题 如果用户在文本字段中键入内容 然后通过按 Android 键盘中的蓝色 完成 按钮移动到下一个字段 焦点将
  • C++读取csv文件并将值分配给数组

    我正在尝试读取 csv 文件并将值分配给二维数组 但我得到了奇怪的结果和一些垃圾值 虽然第一行是正确的 但第二行和第三行就变得奇怪了 下面是代码 include pch h include
  • 将 MySQL 数据库导入 SQL Server

    我有一个 sql来自 MySQL 转储的文件 其中包含表 定义和要插入这些表中的数据 如何将转储文件中表示的数据库转换为 SQL Server 数据库 Use SQL Server 迁移助手 SSMA 除了 MySQL 之外 它还支持 Or
  • 在 Java 中为变量分配新值

    我是 Java 新手 有一个关于变量的问题 这是一个例子 int hello 6 int goodbye 7 int combined hello goodbye System out println combined hello 10 S
  • 您能解释一下 bash shell 中的数学语法吗?

    for i in 1 99 do if i 2 eq 1 then echo i fi done 我正在学习 bash 并且我正在尝试更好地理解第 3 行 为什么 i 2 必须用括号双层包裹 为什么我不能把 旁边的符号i like i 2
  • 包含存储在向量中的 auto_ptr 的类

    在回答中将具有 std auto ptr 作为其成员变量的类的对象存储在 std vector 中是否安全 我说过包含 auto ptr 的类可以存储在向量中假设该类有一个用户定义的复制构造函数 有一些评论表明情况并非如此 因此这个问题是试
  • 使用内联表单集创建模型和相关模型

    我已将其发布在Django 用户 谷歌网上论坛 also 使用中的示例内联表单集文档 我能够edit属于特定模型的对象 使用 模型 我一直在尝试遵循相同的模式creating使用内联表单集的新对象 但无法 我的头脑足够清醒 可以为此目的提出
  • Android gradle:buildtoolsVersion 与compileSdkVersion

    有什么区别buildtoolsVersion vs compileSdkVersion在 Android 项目的 build gradle 中 编辑 具体来说 我想澄清一下构建工具是什么 compileSdkVersion是您编译所针对的
  • 获取数字范围内的数字列表

    我有一个数据框 其中一列包含一个 或多个 数字范围 我想将其转换为基于给定范围的数字列表 输入示例 35 40 or 35 43 45 47 这应该产生 1 35 36 37 38 39 40 and 1 35 36 37 38 39 40
  • 无法实现 androidx.appcompat.appcompat:1.0.0

    我是 Android 开发的绝对初学者 并尝试构建测试自动化来测试移动应用程序 在设置 IntelliJ 数周后 我仍然面临问题 其中包括以下问题 由于我使用的是 SDK 版本 29 我被告知应该将所有 support 关键字转换为 and
  • C# 的单例模式 [关闭]

    Closed 这个问题是基于意见的 目前不接受答案 我需要存储一堆需要全局访问的变量 我想知道单例模式是否适用 从我看到的例子来看 单例模式只是一个不能被继承的静态类 但我见过的例子对于我的需求来说过于复杂 最简单的单例类是什么 我不能创建
  • android - 让 onTouch 优先于 onClick

    我有一个允许用户在 3 个不同视图之间滑动的活动 每个视图都显示图像列表 这些图像具有调用新活动并使图像全屏显示的 onClick 事件 这一切都正常 但是如果我尝试在 3 个不同的视图之间滑动并且我的手指在图像上滑动 它将触发 onCli
  • JavaFX 3D 对象之间的并集、交集和差异

    有没有办法在 JavaFX 3D 对象之间执行布尔运算 例如并集 交集和差集 例如在 Sphere 实例 Cylinder 实例和 Box 实例之间 从 Shape 类继承的 JavaFX 2D 对象已经具有 union 和 minus 方