当前位置: 首页 > news >正文

Learning vtkjs之ImplicitBoolean

隐式函数布尔操作

介绍

vtkImplicitBoolean 允许对隐式函数(如平面、球体、圆柱体和盒子)进行布尔组合。操作包括并集、交集和差集。可以指定多个隐式函数(所有函数都使用相同的操作进行组合)。

支持的操作:‘UNION’(<=0),‘INTERSECTION’(=1),‘DIFFERENCE’(>=2)

效果

在这里插入图片描述

核心代码

主要是隐式函数添加,然后执行操作,可视化是需要借助vtkSampleFunction来采样的

	const lCylCut = vtkImplicitBoolean.newInstance({operation: Operation.UNION,functions: [cyl, pLeft],});const rCylCut = vtkImplicitBoolean.newInstance({operation: Operation.INTERSECTION,});rCylCut.addFunction(lCylCut);rCylCut.addFunction(pRight);

完整逻辑

 	const fullScreenRenderer = vtkFullScreenRenderWindow.newInstance({background: [0, 0, 0],rootContainer: vtkContainerRef.current,});const renderer = fullScreenRenderer.getRenderer();const renderWindow = fullScreenRenderer.getRenderWindow();const actor = vtkActor.newInstance();renderer.addActor(actor);const mapper = vtkMapper.newInstance();actor.setMapper(mapper);// Build pipeline. Boolean together some implicit functions and then sample, isosurface themconst pLeft = vtkSphere.newInstance({center: [-6.0, 0, 0],radius: 0.8,});const pRight = vtkPlane.newInstance({normal: [1, 0, 0],origin: [5, 0, 0],});const cyl = vtkCylinder.newInstance({radius: 0.5,center: [0, 0, 0],axis: [1, 0, 0],});const lCylCut = vtkImplicitBoolean.newInstance({operation: Operation.UNION,functions: [cyl, pLeft],});const rCylCut = vtkImplicitBoolean.newInstance({operation: Operation.INTERSECTION,});rCylCut.addFunction(lCylCut);rCylCut.addFunction(pRight);const sample = vtkSampleFunction.newInstance({implicitFunction: rCylCut,sampleDimensions: [100, 100, 100],modelBounds: [-7.5, 7.5, -1, 1, -1, 1],});const mCubes = vtkImageMarchingCubes.newInstance({ contourValue: 0.0 });// Connect the pipeline propermCubes.setInputConnection(sample.getOutputPort());mapper.setInputConnection(mCubes.getOutputPort());renderer.resetCamera();renderWindow.render();

全部代码都放到github上了
新坑_Learning vtkjs_git地址
关注我,我持续更新vtkjs的example学习案例

也欢迎各位给我提意见,技术交流~

大鸿

WeChat : HugeYen
WeChat Public Account : BIM树洞

做一个静谧的树洞君

用建筑的语言描述IT事物;

用IT的思维解决建筑问题;

共建BIM桥梁,聚合团队。

本学习分享资料不得用于商业用途,仅做学习交流!!如有侵权立即删除!!

相关文章:

Learning vtkjs之ImplicitBoolean

隐式函数布尔操作 介绍 vtkImplicitBoolean 允许对隐式函数&#xff08;如平面、球体、圆柱体和盒子&#xff09;进行布尔组合。操作包括并集、交集和差集。可以指定多个隐式函数&#xff08;所有函数都使用相同的操作进行组合&#xff09;。 支持的操作&#xff1a;‘UNION…...

LabelVision - yolo可视化标注工具

LabelVision是一款可视化图像标注工具,主要用于计算机视觉研究中的各种标注任务。 支持多边形、矩形、圆形等多种标注方式&#xff0c;并且可以输出JSON、COCO等多种数据格式&#xff0c;方便与其他软件和框架进行集成和互操作。 ‌ 通过它可以很轻易的对图像进行标注,适合Y…...

系统分析师-第十五章

学习目标 通过参加考试&#xff0c;训练学习能力&#xff0c;而非单纯以拿证为目的。 1.在复习过程中&#xff0c;训练快速阅读能力、掌握三遍读书法、运用番茄工作法。 2.从底层逻辑角度理解知识点&#xff0c;避免死记硬背。 3.通过考试验证学习效果。 学习阶段 快速阅读 …...

大连理工大学选修课——机器学习笔记(3):KNN原理及应用

KNN原理及应用 机器学习方法的分类 基于概率统计的方法 K-近邻&#xff08;KNN&#xff09;贝叶斯模型最小均值距离最大熵模型条件随机场&#xff08;CRF&#xff09;隐马尔可夫模型&#xff08;HMM&#xff09; 基于判别式的方法 决策树&#xff08;DT&#xff09;感知机…...

09 Python字典揭秘:数据的高效存储

文章目录 一.字典是什么1.字典的特点 二.字典的创建和使用三.字典的操作1.访问元素2.修改元素3.删除元素4.遍历字典5.成员运算 四.字典方法1.获取字典中的指定元素2.获取字典中的元素3.字典合并4.删除元素 一.字典是什么 在 Python 中&#xff0c;字典&#xff08;dict&#x…...

20250430在ubuntu14.04.6系统上完成编译NanoPi NEO开发板的FriendlyCore系统【严重不推荐,属于没苦硬吃】

【开始编译SDK之前需要更新源】 rootrootubuntu:~/friendlywrt-h3$ sudo apt update 【这两个目录你在ubuntu14.04.6系统上貌似git clone异常了】 Y:\friendlywrt-h3\out\wireguard Y:\friendlywrt-h3\kernel\exfat-nofuse 【需要单线程编译文件系统&#xff0c;原因不明】 Y:…...

第五部分:进阶项目实战

在前面的学习中&#xff0c;我们已经掌握了图像和视频的基础操作、增强滤波、特征提取以及一些基础的目标检测方法。现在&#xff0c;我们将综合运用这些知识来构建一些更复杂、更实用的应用项目。 这一部分的项目将结合前面学到的技术&#xff0c;并介绍一些新的概念和工具&a…...

【Linux】记录一个有用PS1

PS1 是用来定义shell提示符的环境变量 下面是一个带有颜色和丰富信息的 Linux PS1 配置示例&#xff0c;包含用户名、主机名、路径、时间、Git 分支和退出状态提示&#xff1a; # 添加到 ~/.bashrc 文件末尾 PS1\[\e[1;32m\]\u\[\e[m\] # 绿色粗体用户名 PS…...

【SpringBoot】基于mybatisPlus的博客管理系统(2)

目录 1.实现用户登录 Jwt令牌 1.引入依赖 2.生成令牌&#xff08;token&#xff09; Controller Service Mapper 2.实现强制登录 定义拦截器&#xff1a; 配置拦截器&#xff1a; 1.实现用户登录 在之前的项目登录中&#xff0c;我使用的是Session传递用户信息实现校验…...

免费在Colab运行Qwen3-0.6B——轻量高性能实战

Qwen一直在默默地接连推出新模型。 每个模型都配备了如此强大的功能和高度量化的规模,让人无法忽视。 继今年的QvQ、Qwen2.5-VL和Qwen2.5-Omni之后,Qwen团队现在发布了他们最新的模型系列——Qwen3。 这次他们不是发布一个而是发布了八个不同的模型——参数范围从6亿到235…...

精益数据分析(35/26):SaaS商业模式关键指标解析

精益数据分析&#xff08;35/26&#xff09;&#xff1a;SaaS商业模式关键指标解析 在创业与数据分析的征程中&#xff0c;我们持续探索不同商业模式的运营奥秘。今天&#xff0c;我们带着共同进步的期望&#xff0c;深入研读《精益数据分析》&#xff0c;聚焦SaaS商业模式&am…...

【论文速读】《Scaling Scaling Laws with Board Games》

论文链接&#xff1a;https://arxiv.org/pdf/2104.03113 《Scaling Scaling Laws with Board Games》&#xff1a;探索棋盘游戏中的扩展规律 摘要 如今&#xff0c;机器学习领域中规模最大的实验所需的资源&#xff0c;超出了仅有几家机构的预算。幸运的是&#xff0c;最近的…...

C++ 与多技术融合的深度实践:从 AI 到硬件的全栈协同

在数字化技术高速发展的今天&#xff0c;C 凭借其卓越的性能优势和底层控制能力&#xff0c;成为连接上层应用与底层硬件的核心纽带。这种独特定位使其在与 AI 深度学习、Python 生态及硬件加速技术的融合中展现出不可替代的价值&#xff0c;构建起从算法实现到硬件优化的全栈技…...

AdaBoost算法的原理及Python实现

一、概述 AdaBoost&#xff08;Adaptive Boosting&#xff0c;自适应提升&#xff09;是一种迭代式的集成学习算法&#xff0c;通过不断调整样本权重&#xff0c;提升弱学习器性能&#xff0c;最终集成为一个强学习器。它继承了 Boosting 的基本思想和关键机制&#xff0c;但在…...

无刷马达驱动芯片算法逐步革新着风扇灯行业--其利天下

风扇灯市场热度持续攀升&#xff0c;根据行业数据&#xff0c;风扇灯市场规模从2010年的100亿元增长至2019年的200亿元&#xff0c;年均复合增长率超10%&#xff0c;预计2025年将达30%&#xff0c;借此其利天下有限公司进一步提升了无刷风扇灯驱动方案。 一、性能参数 电压&a…...

数据库系统综合应用与深度实践指南

前言 在当今数据驱动的时代&#xff0c;数据库技术已成为信息系统的核心支柱。从简单的数据存储到复杂的企业级应用&#xff0c;数据库系统支撑着现代社会的方方面面。本文作为一篇综合性的数据库科普文章&#xff0c;旨在为读者提供从基础到进阶的完整知识体系&#xff0c;涵…...

「Unity3D」TextMeshPro使用TMP_InputField实现,输入框高度自动扩展与收缩

先看实现效果&#xff1a; 要实现这个效果&#xff0c;有三个方面的问题需要解决&#xff1a; 第一&#xff0c;输入框的高度扩展&#xff0c;内部子元素会随着锚点&#xff0c;拉伸变形——要解决这个问题&#xff0c;需要将内部元素改变父类&#xff0c;然后增加父类高度&am…...

SAP-ABAP:在SAP系统中,COEP表(成本控制对象行项目表)详解

在SAP系统中&#xff0c;**COEP表&#xff08;成本控制对象行项目表&#xff09;**是成本控制&#xff08;CO&#xff09;模块的核心数据表之一&#xff0c;主要用于存储与成本核算相关的详细行项目数据。以下是对其作用的详细解析&#xff1a; 一、 COEP表的核心作用 存储成本…...

crashpad 编译

一环境配置 1.1设置系统UTF8编码 1.2vs2017语言环境设置英文包 二.获取depot_tools&#xff08;此步骤可以跳过 最新工具包已上传下载使用即可&#xff09; windows下载压缩包&#xff0c;然后放到系统PATH中 下载完以后&#xff0c;基本就是靠depot_tools这个工具集合了&am…...

Windows系统安装Docker(Win10系统升级,然后安装)

有时需要在自己笔记本跑下代码&#xff0c;所以安装Dockers&#xff0c;步骤如下&#xff1a; 1. 升级系统&#xff08;Windows10专业版或者Windows11&#xff09; Windows10家庭版装Docker较麻烦&#xff0c;所以我将Win10升级为Win11了&#xff08;免费&#xff09;&#x…...

【Fifty Project - D21】

今日完成记录 TimePlan完成情况9&#xff1a;00 - 10&#xff1a;00爬楼梯√12&#xff1a;00 - 14&#xff1a;00Leetcode√14&#xff1a;00 - 15&#xff1a;00《挪威的森林》√ Leetcode 每日一题 今天的每日一题是个easy&#xff1a;给定一个数组&#xff0c;要求统计…...

中央网信办部署开展“清朗·整治AI技术滥用”专项行动

为规范AI服务和应用&#xff0c;促进行业健康有序发展&#xff0c;保障公民合法权益&#xff0c;近日&#xff0c;中央网信办印发通知&#xff0c;在全国范围内部署开展为期3个月的“清朗整治AI技术滥用”专项行动。 中央网信办有关负责人表示&#xff0c;本次专项行动分两个阶…...

《Python实战进阶》 No46:CPython的GIL与多线程优化

Python实战进阶 No46&#xff1a;CPython的GIL与多线程优化 摘要 全局解释器锁&#xff08;GIL&#xff09;是CPython的核心机制&#xff0c;它保证了线程安全却限制了多核性能。本节通过concurrent.futures、C扩展优化和多进程架构&#xff0c;实战演示如何突破GIL限制&#…...

BOTA新六维力传感器PixONE:用12维度力矩与运动感测,驱动人形机器人力控未来

在机器人技术日益发展的今天&#xff0c;六维力传感器对于提升机器人感知环境、增强操作精度发挥着重要作用。瑞士BOTA Systems是一家专注于机器人传感器技术的公司&#xff0c;致力于为原始设备制造商提供高性能的传感器解决方案。 PixONE是BOTA推出的一款创新的高精度传感器&…...

《PyTorch documentation》(PyTorch 文档)

PyTorch documentation(PyTorch 文档) PyTorch is an optimized tensor library for deep learning using GPUs and CPUs. (PyTorch是一个优化的张量库,用于使用GPU和CPU进行深度学习。) Features described in this documentation are classified by release status: (此…...

数据库的死锁相关(一)

目录 前言 一、什么死锁 二、产生死锁的必要条件 三、死锁发生的具体位置和场景 1. 数据行级别死锁&#xff08;最常见&#xff09; 2. 表级别死锁 3. 索引间隙锁死锁&#xff08;InnoDB特有&#xff09; 4. 外键约束死锁 5. 元数据锁死锁 6. 内存中的锁结构死锁 7.…...

数据编码(Encoding)

对数据做编码可以减少存储和 I/O开销,常见的技术比如 Dictionary Encoding,Run-Length Encoding,Bitpacking,Delta Encoding,Frame-of-Reference等。 本篇文章对这些编码方案进行介绍,举例说明,最后总结各种encoding的适用场景。 一、Dictionary Encoding(字典编码)…...

Wartales 战争传说 [DLC 解锁] [Steam] [Windows SteamOS]

Wartales 战争传说 [DLC 解锁] [Steam] [Windows & SteamOS] DLC 版本 至最新全部 DLC 后续可能无法及时更新文章&#xff0c;具体最新版本见下载文件说明 DLC 解锁列表&#xff08;仅供参考&#xff09; 《战争传说》 - Pirates of Belerion 《战争传说》 - The Tavern …...

决策树在电信客户流失分析中的实战应用

在当今数据驱动的时代&#xff0c;数据分析和机器学习技术在各行业的应用愈发广泛。电信行业面临着激烈的竞争&#xff0c;客户流失问题成为影响企业发展的关键因素之一。如何准确预测客户是否会流失&#xff0c;并采取相应措施挽留客户&#xff0c;是电信企业关注的重点。决策…...

滚珠丝杆怎么选型?

滚珠丝杆的选型需要考虑多个因素&#xff0c;包括应用需求、性能参数、环境因素等&#xff0c;以确保选型的准确性和合理性。 1、负载&#xff1a;确定设备运行时滚珠丝杆需要承受的静载荷和动载荷&#xff0c;包括轴向载荷和径向载荷&#xff0c;根据实际工作情况计算出最大负…...

HTN77A0原理图提供聚能芯半导体禾润一级代理技术支持免费送样

在电源管理需求日益严苛的当下&#xff0c;禾润 HTN77A0 以卓越性能脱颖而出。它不仅适配多种应用场景&#xff0c;还兼具高效节能与稳定输出&#xff0c;为设备供能带来革新体验。 禾润 HTN77A0 同步降压变换器&#xff0c;凭借5V~130V 超宽输入电压范围&#xff0c;打破传统供…...

linux中sigint和sigterm的区别

SIGINT 和 SIGTERM 是在 Unix 及类 Unix 系统&#xff08;包括 Linux&#xff09;中用于进程间通信的信号&#xff0c;它们都可以用于请求进程终止&#xff0c;区别如下&#xff1a; 1、信号编号与定义 在信号机制里&#xff0c;每个信号都有对应的编号&#xff0c;这便于系统…...

errorno 和WSAGetlasterror的区别

errno 和 WSAGetLastError 是用于获取错误代码的机制&#xff0c;但它们应用于不同的编程场景&#xff0c;下面为你详细介绍二者的区别&#xff1a; 应用场景 errno&#xff1a;它是 C 和 C 等编程语言里用于表示系统调用和库函数错误的全局变量。在 Unix、Linux 等类 Unix 系…...

《操作系统真象还原》第十一章——用户进程

文章目录 前言为什么要有TSSTSS简介TSS描述符和TSS结构现代操作系统采用的任务切换方式 定义并初始化TSS修改global.h编写tss.c测试 实现用户进程实现用户进程的原理维护虚拟地址空间&#xff0c;修改thread.h为进程创建页表和3特权级栈&#xff0c;修改memory.c进入特权级3用户…...

第 11 届蓝桥杯 C++ 青少组中 / 高级组省赛 2020 年真题答和案解析

一、选择题 第 1 题 单选题 题目:表达式 ‘6’ - ‘1’ 的值是 ( ) A. 整数 5 B. 字符 5 C. 表达式不合法 D. 字符 6 答案:A 解析:在 C++ 中,字符常量以 ASCII 码形式存储。6 的 ASCII 码为 54,1 的 ASCII 码为 49,二者相减结果为 5,是整数类型,因此选 A。 第 2 题 …...

ES搜索知识

GET /categories/1/10?name手机 // 按名称过滤 GET /categories/1/10?type电子产品 // 按类型过滤 GET /categories/1/10?name手机&type电子产品 // 组合过滤 查询参数 ApiOperation(value "获取商品分类分页列表")GetMapping("{page}/{limit}")…...

Java高阶程序员学习计划(详细到天,需有一定Java基础)

🤟致敬读者 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉📘博主相关 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息文章目录 Java高阶程序员学习计划(详细到天,需有一定Java基础)第一阶段(30天)Java基础:Java生态工具链:设计模式与编码规范:第二阶段(15天…...

SALOME源码分析: SMESH模块

本文分析SALOME GEOM模块。 注1&#xff1a;限于研究水平&#xff0c;分析难免不当&#xff0c;欢迎批评指正。 注2&#xff1a;文章内容会不定期更新。 一、核心组件 1.1 SMESHGUI 二、关键流程 网络资料 SALOME: Introduction to MESH Modulehttps://docs.salome-platform…...

提高程序灵活性和效率的利器:Natasha动态编译库【.Net】

从零学习构建一个完整的系统 今天推荐一个针对C#动态编译库&#xff0c;动态编译的使用场景有很多&#xff1a; 1、动态代码生成&#xff1a;可以根据用户的输入或者系统配置动态执行C#代码&#xff0c;比如很多Web在线编译器&#xff0c;就是这个原理&#xff1b; 2、代码反…...

Cangjie Magic在医疗领域的应用:智能体技术如何重塑医疗数字化

文章目录 1. Cangjie Magic是什么&#xff1f;有什么优势&#xff1f;2. Cangjie Magic与Python的区别与优势对比技术特性对比医疗场景案例对比案例1&#xff1a;电子病历自然语言处理案例2&#xff1a;ICU实时监护系统 3. Cangjie Magic的学习成本与性价比学习门槛性价比优势 …...

MySQL基础关键_002_DQL(一)

目 录 一、初始化 二、简单查询 1.部分语法规则 2.查询一个字段 &#xff08;1&#xff09;查询员工编号 &#xff08;2&#xff09;查询员工姓名 3.查询多个字段 &#xff08;1&#xff09;查询员工编号、姓名 &#xff08;2&#xff09;查询部门编号、名称、位置 …...

从高端制造到民生场景:天元轻量化软件的“破局”之路

近期&#xff0c;清华大学航空发动机研究院&#xff08;以下简称“清华航发院”&#xff09;正式引入天元轻量化软件&#xff0c;用于其相关设计与3D可视化研究工作。 作为国内领先的3D轻量化解决方案提供商&#xff0c;天元轻量化软件一直致力于为各行业提供高效、灵活、安全…...

本地部署大模型的方式有哪些

本地部署大模型的方式主要分为 应用部署 和 源码部署 两大类&#xff0c;具体分类及特点如下&#xff1a; 一、应用部署&#xff08;适合新手&#xff09; 特点&#xff1a;无需编程基础&#xff0c;通过厂商提供的工具直接安装使用&#xff0c;支持图形化界面和命令行操作&am…...

libevent详解

目录 一、安装libevent库 二、libevent 三、基于 libevent 实现信号处理与定时任务 四、基于 libevent 的事件驱动 TCP 服务端代码 一、安装libevent库 sudo su apt install libevent-dev 二、libevent libevent 是一个轻量级网络i/o库&#xff0c;i/o框架库&#xff0c;…...

Solon Cloud Gateway 补充

说明 在「使用 Solon Cloud Gateway 替换Spring Cloud Gateway 」的文章中&#xff0c;有评论说不知道响应式。当时看的是 Solon Cloud Gateway 使用响应式接口&#xff0c;由 Solon-Rx 来实现&#xff0c;是基于 reactive-streams 封装的 RxJava 极简版。目前仅一个接口 Com…...

海外社交软件技术深潜:实时互动系统与边缘计算的极限优化

一、毫秒级延迟之战&#xff1a;下一代实时通信架构 1.1 全球实时消息投递体系设计 图表 代码 性能基准测试&#xff08;跨大西洋传输&#xff09;&#xff1a; 协议/算法组合 平均延迟 99分位延迟 丢包恢复率 WebSocketTLSBBRv2 142ms 298ms 78% QUIC自定义CC 112ms 201ms 92%…...

直播美颜SDK是什么?跨平台美颜SDK开发与接入全解析

当下&#xff0c;越来越多的直播平台、短视频App、社交娱乐应用&#xff0c;开始在画面美化方面加大投入。本文将围绕直播美颜SDK是什么、其背后的核心技术、如何实现跨平台开发、以及接入流程等关键问题&#xff0c;为你全面解析这一技术热点。 一、直播美颜SDK到底是什么&am…...

自学S32k144(18)————芯片锁死问题及成功解锁流程

1.锁死原因 温度过高flash异常操作静电等电压异常问题。。。。 本人出现情况&#xff1a;之前开发板不知什么原因&#xff0c;发生短路&#xff0c;重新置换芯片后&#xff0c;发现芯片在S32DS中无法正常烧录 判断可能是由于焊接时温度过高导致锁死。需解锁芯片。 2.解决方法…...

【免费数据】2000-2020年中国4km分辨率逐日气象栅格数据(含9个气象变量)

逐日气象数据是在很多研究中都会用到的数据&#xff0c;例如验证气候模拟、分析陆地生态系统变化以及识别气候变化下的极端天气条件等研究&#xff0c;尤其是高精度的逐日气象数据对于研究者来说更为常用。 本次我们为大家带来的是2000-2020年中国4km分辨率逐日气象栅格数据&a…...

Android Compose 无网络状态处理全指南:从基础到高级实践

Android Compose 无网络状态界面处理全方案 引言 在移动应用开发中&#xff0c;网络连接不稳定是常见场景。优雅地处理无网络状态能显著提升用户体验。Jetpack Compose 提供了强大的工具来实现各种网络状态下的界面展示。本文将全面介绍在 Compose 中处理无网络状态的多种方案…...