VTK-vtkCleanPolyData/vtkQuantizePolyDataPoints

news2024/11/29 10:52:29

小结:本文主要讲述vtk中vtkCleanPolyData过滤器的作用和实现原理,希望对各位小伙伴能有所帮助!

 

示例:

将下图进行Clean,设置Tolerance为0.01(相对误差)。

                    vtkCleanPolyData                                 vtkQuantizePolyDataPoints

 

 结论:会删除掉一些特征点,会出现空洞。

vtkCleanPolyData

描述:合并重复点,删除未使用的点,删除退化单元格

vtkCleanPolyData是一个过滤器,它将多边形数据作为输入输出。vtkCleanPolyData将合并重复点(启用并在指定的容差范围内),消除任何单元格中没有使用的点(启用),将退化单元格转换为适当的形式(例如,如果合并三角形的两个点,则将三角形转换为直线)。

Line with 1 points -> Vert (if ConvertLinesToPoints)
Poly with 2 points -> Line (if ConvertPolysToLines)
Poly with 1 points -> Vert (if ConvertPolysToLines && ConvertLinesToPoints)
Strp with 3 points -> Poly (if ConvertStripsToPolys)
Strp with 2 points -> Line (if ConvertStripsToPolys && ConvertPolysToLines)
Strp with 1 points -> Vert (if ConvertStripsToPolys && ConvertPolysToLines  && ConvertLinesToPoints)
 

只有当ConvertLinesToPoints开启且所有点合并为一个时,类型为VTK_POLY_LINE的单元格才会被转换为顶点。退化线段(有两个相同的端点)将被删除。

注意事项

1. 点的合并可以被禁用。在这种情况下,将不使用点定位器,并且将消除没有被任何单元格使用的点,但永远不会合并。

2. 合并点可以改变拓扑结构,包括引入non-manifold形式。为了避免这些问题,应仔细选择公差。子类应该处理OperateOnBounds和OperateOnPoint,以确保定位器被正确初始化(即所有修改的点必须位于修改的边界内)。

3. 当对一组没有单元格的坐标进行操作,则必须在使用vtkCleanPolyData过滤器之前,将包含所有点的vtkPolyVertex单元格添加到PolyData(或使用vtkVertexGlyphFilter)。

4. 如果精确地指定公差=0.0,则vtkCleanPolyData将使用vtkMergePoints对象来合并点(这更快)。否则使用较慢的vtkIncrementalPointLocator。

5. 合并重复点的公差可以通过绝对值和可以通过相对值(即包围盒对角线的比例,默认)来进行设定。绝对值通过SetToleranceIsAbsolute和SetAbsoluteTolerance设置。相对值通过SetTolerance设置。

参数

1. ConvertLinesToPoints(默认为True)

2. ConvertPolysToLines(默认为True)

3. ConvertStripsToPolys(默认为True)

4. PointMerging(默认为True)

vtkQuantizesPolyDataPoints

描述:量化点的x,y,z坐标

vtkQuantizePolyDataPoints是vtkCleanPolyData的子类,继承了vtkCleanPolyData的功能,它在插入到点列表之前量化点坐标。用户应该将QFactor设置为正值(默认为0.25),所有{x,y,z}坐标将被量化为该粒度大小。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/87884.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[附源码]Python计算机毕业设计SSM基于JAVA语言的国货美妆店管理系统(程序+LW)

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

差分信号,共模与差模,共模滤波,差模滤波

普通并行信号. 两个信号是一样的,相位相同, 这样的信号应该属于普通的并行信号不是差分信号. 差分信号 注意中间的黑色线是0电位. 共模干扰. 共模干扰也就是两个信号一起干扰. 我个人的理解. 如有不对欢迎批评指正. 不管信号是差分信号还是普通信号, 干扰都会一样存在. 所…

解决方案分享:数商云S2B2C系统如何赋能医药企业实现深度营销数字化

营销是企业的关键一环,对驱动企业经营业绩增长具有重要意义。现阶段,面对带量采购与疫情带来的双重压力与挑战,越来越多医药企业开始数字化转型实践,用有限的资源投入实现营销效果最大化,这其中,大型跨国医…

iDdesktopX将本地的数据分享至 iPortal 中

文章目录前言一.iDdesktopX添加iPortal地址二.iDdesktopX分享地图至iPortal三.在iPortal中查看分享地图和工作空间注意作者:kxj 前言 云时代下,SuperMap iDesktopX 也站在了云端,SuperMap iDesktopX 连通了 SuperMap Online 和 iPortal 两个平…

物业养老,智慧养老新方式

1、新导智能看护 老人在家中通过智能看护系统,可以实现实时监护和远程守护。 1)可远程视频探视 为老年人提供实时视频探访服务,支持手机端实时查看老人情况。 2)远程可视对讲 通过视频远程实时查看老年人情况,可实现紧急情况下的快速响应。…

再学C语言3:C语言概述(1)

简单的示例程序&#xff1a; #include <stdio.h>int main(void) {int num;num 1;printf("I am a simple computer.\n");printf("My favorite number is %d because it is first.\n", num);return 0; } 运行结果&#xff1a; C程序剖析&#xff1a…

JEC-QA:A Legal-Domain Question Answering Dataset 论文阅读

文章目录介绍相关工作Open QA数据集实验检索策略baseline实验结果数据来源&#xff1a;中国国家司法考试模型准确率 28%&#xff0c;专业人士可以达到81%&#xff0c;非专业人士可以达到64%数据集下载链接&#xff1a;http://jecqa.thunlp.org/代码链接&#xff1a;https://git…

web前端大作业(基于HTML+CSS+JavaScript仿阴阳师游戏官网首页作业制作)

&#x1f389;精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业…

1780. 判断一个数字是否可以表示成三的幂的和

目录题目深搜&#xff08;不超时&#xff09;动态规划&#xff08;超时写法&#xff09;二维空间优化&#xff08;一维&#xff09;题目 给你一个整数 n &#xff0c;如果你可以将 n 表示成若干个不同的三的幂之和&#xff0c;请你返回 true &#xff0c;否则请返回 false 。 对…

海德汉机床联网

一、设备信息确认 1、确认型号 数控面板拍照确认&#xff1a; 此系统为&#xff1a;海德汉530操作系统 还有一种情况是面板无任何版本信息&#xff0c;这时就需要进入系统里面再确认。 2、确认通讯接口 打开电器柜后既可看到网口。编号X26 3、确认数控系统软件版本(以620为…

Java+Swing实现自助取款机(ATM)系统-TXT存储数据

JavaSwing实现自助取款机ATM系统-TXT存储数据一、系统介绍1.系统功能2.环境配置3.工程截图二、系统展示1.登录页1.1登录成功2.取款2.1取款成功3.存款3.1 存款成功4.转账5.余额查询6.退出系统三、部分代码AccountDao.javaLoginFrame.javaAccount.java四、其他获取源码一、系统介…

rocketmq源码-producer发送消息

前言 这篇笔记&#xff0c;记录producer发送消息的相关源码 我们以最简单的demo为例 public static void main(String[] args) throws MQClientException, InterruptedException {DefaultMQProducer producer new DefaultMQProducer("please_rename_unique_group_name&…

去哪儿是如何做到大规模故障演练的?|TakinTalks

# 一分钟精华速览 #混沌工程作为一种提高技术架构弹性能力和容错能力的复杂技术手段&#xff0c;近年来讨论声音不断&#xff0c;相比在分布式系统上进行随机的故障注入实验&#xff0c;基于混沌工程的大规模自动化故障演练&#xff0c;不仅能将“作战演习”常态化&#xff0c;…

Spring结合mybatis

目录 一、Spring结合mybatis 二、业务层添加声明式事务 1、事务的传播机制 2、事务的四大特性 3、事务的隔离级别 4、事务属性 一、Spring结合mybatis 1.创建Web工程&#xff0c;导入Spring和MyBatis的相关依赖 <!-- springmybatis整合 --><dependency><…

web渗透安全测试(靶场搭建及常见漏洞攻防)

渗透测试 渗透测试&#xff08;Penetration test&#xff09;即安全工程师模拟黑客&#xff0c;在合法授权范围内&#xff0c;通过信息搜集、漏洞挖掘、权限提升等行为&#xff0c;对目标对象进行安全测试&#xff08;或攻击&#xff09;&#xff0c;最终找出安全风险并输出测…

Denoising Diffusion Probabilistic Models简介

目录概要前向过程nice property逆向过程参数推导简化参考资料概要 Denoising Diffusion Probabilistic Model(DDPM)是一个生成模型&#xff0c;给定一个目标分布&#xff0c;学习模型以便可以从目标分布中采样。 使用马尔科夫链建模。输入是噪声&#xff0c;通过神经网络逐步去…

“乌卡时代”下,跨境电商卖家到底在焦虑什么?

三年前新冠疫情大爆发&#xff0c;现今国家全面解封&#xff0c;但形式任然不稳定&#xff0c;加之国际形势扑朔迷离&#xff0c;各国外贸瞬息万变&#xff0c;跨境电商行业面对的复杂性也随之正变得越来越高。无论是运价&#xff0c;还是爆仓&#xff0c;亦或是港口拥堵等情况…

WPF入门 第一篇 基础布局与简单样式

基础布局与简单样式 首先&#xff0c;创建WPF项目&#xff0c;在自动打开的MainWindow.xaml里面&#xff0c;找到Grid标签&#xff0c;并将它替换为&#xff1a; <Grid><Grid.RowDefinitions><RowDefinition></RowDefinition><RowDefinition>&…

【案例教程】地球科学数据(ERA5、雪深、积雪覆盖、海温、植被指数、土地利用)处理实践

【查看原文】地 球 科 学 常 见 数 据 的 处 理 实 践 技 术 应 用 在地球科学中&#xff0c;不同数据根据具体学科的特色存储为多种数据格式。在科研工作中需要将多种数据进行综合使用分析&#xff0c;因此需要寻找学习通用的数据格式解决方法&#xff0c;把研究的精力聚焦到具…

芜湖~西门子低代码最新组件首发,快来围观!

热爱低代码的小伙伴们&#xff0c;我们又见面啦~ 在与大家长达1年多时间的沟通交流中&#xff0c;我们深刻感受到大家对西门子低代码的浓厚兴趣。为了不辜负大家的厚爱&#xff0c;我们潜心研制了一批前端组件。因为随着商业化的趋势&#xff0c;越来越多的企业级产品对更好的…