VTK-vtkPolyDataNormals

前言:本博文主要记录vtkPolyDataNormals的用途,使用方法以及实现原理,帮助更多的小伙伴更好的理解和应用vtk。

目录

1. vtkPolyDataNormals

2. 使用示例

3. 实现原理


1. vtkPolyDataNormals

vtkPolyDataNormals可以计算多边形网格数据的点或Cell的方向(只能计算polygons和triangle,不能计算Line和Vertices)。

过滤器可以对多边形进行重新排序,以确保相邻多边形的方向一致。锐利的边缘可以分割和点复制与单独的法线,以提供清晰的(渲染)表面定义。

也可以全局翻转法线方向。

该算法的工作是确定每个多边形的法线,然后在共享点上平均它们。当锐利的边缘出现时,边缘被分割并生成新的点以防止模糊的边缘(由于Gouraud阴影)。

*用途1:可以重新确定Cell的方向,保证数据不存在bad contours及bad edges。

注意: SetComputePointNormals为True时,会将重新渲染图形,表面更加光滑。但保存后再次打开则不存在。全局翻转法线,SetComputePointNormals设为True。

2. 使用示例

    vtkPolyData* pd;    vtkSmartPointer<vtkPolyDataNormals> pdNormals =vtkSmartPointer<vtkPolyDataNormals>::New();pdNormals->SetInputData(pd);pdNormals->ComputeCellNormalsOn();//ComputePointNormalsOn默认为onpdNormals->Update();vtkPointData* ptData = pdNormals->GetOutput()->GetPointData();vtkDataArray* ptNormals = pdNormals->GetOutput()->GetPointData()->GetNormals();//获取每个Cell中每个点的方向for( int i = 0; i < ptNormals->GetNumberOfTuples(); ++i ){double value[3];ptNormals->GetTuple( i, value );printf( "Value: (%lf, %lf, %lf)\n", value[0], value[1], value[2] );}//获取每个Cell的方向if( pdNormals->GetOutput()->GetCellData() && pdNormals->GetOutput()->GetCellData()->GetNormals() ){vtkDataArray* cellNormals = pdNormals->GetOutput()->GetCellData()->GetNormals();cout << cellNormals->GetNumberOfTuples() << endl;for( int i = 0; i < cellNormals->GetNumberOfTuples(); ++i ){double value[3];cellNormals->GetTuple( i, value );printf( "Value: (%lf, %lf, %lf)\n", value[0], value[1], value[2] );}}

3. 实现原理

1)自动调整Normals(AutoOrientNormals)

        这里是基本的思想:“最左边”的多边形应该有它的向外指向法线面向左。如果没有,则反转顶点顺序。然后使用它作为其他连接多边形的种子。要找到最左边的多边形,首先找到最左边的点,并检查邻近的多边形,看看哪个多边形的法线与x轴“最对齐”。为了处理网格中所有连接的组件,需要重复这个过程。

a. 把所有的点放到优先队列中,基于x坐标这样我们就能找到最左边的点。

b. 一直迭代最左边的点和与这些点关联的Cells,直到找到某点关联的Cell的法向量为最接近x轴的Cell,且未访问。以该Cell为种子Cell,对关联的Nieghbor进行遍历及点顺序查找。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

手机联系人批量导入(字符编码、xlsx与vcf互转)

一、前言 单位同事每人都办理了一个192新手机号&#xff0c;一打过来不知道是谁&#xff0c;又懒的一个个保存姓名。一想是不是可以批量导入呢?电子表格号码名单我有啊&#xff0c;试试吧。 二、实践 1.先下载手机联系人文件看看吧。在手机联系人设置中有个导出选项&#x…

信创干部人事档案管理系统单机版 - 人力资源档案管理系统软件

信创干部人事档案管理系统单机版v2.0&#xff08;以下简称系统&#xff09;&#xff0c;是一套具有先进性、安全性、前瞻性的人力资源档案管理系统&#xff0c;是在总结近二十年为万余家单位档案信息化建设实践经验的基础上&#xff0c;遵循ISO15489、ISO23081、ISO14721等国际…

VTK-vtkFieldData

欢迎大家加入社区&#xff0c;雪易VTK社区-CSDN社区云 前言&#xff1a;为区分vtkPoints和vtkPointData的区别&#xff0c;了解vtkFieldData在VTK中的存在意义&#xff0c;从而系统的掌握vtk中关于数据的表达方式。 vtk中通过vtkDataArray进行数据的存储&#xff0c;通过vtkD…

虚拟内存统计----Vmstat命令

目录 一、Vmstat命令 概述 1.1 物理内存和虚拟内存区别 1.1.1 物理内存 1.1.2 虚拟内存 1.2 vmstat 命令语法 1.2.1 格式 1.2.2 命令参数 二、 vmstat 示例 2.1 显示虚拟内存使用情况 2.1.1 查看 2.1.2 表示在1秒时间内进行2次采样 2.1.3 指定的MB 单位输…

票据机器人-OCR自动识别助力智能财务

当前票据的数字化问题尚未完全解决&#xff0c;人工处理海量票据的工作量较大&#xff0c;把票据录入系统、校验真伪的成本较高。 票据机器人对财务报销环节涉及的增票、火车票、飞机行程单、出租车票、定额发票、汽车票等票据进行自动分类、识别录入、验真及归档。 票据机器人…

第一次申请去美国面签,需要注意哪些事项提高成功率?

Teresa &#xff0c;PM 296 人赞同 哈哈哈&#xff0c;作为一个刚毕业的无房无车无钱妹纸&#xff0c;刚顺利拿到美国旅游十年签证&#xff01;我要去西雅图看TI5啦&#xff01;整个过程耗时两周~~~热乎乎的攻略奉上~~ 所有问题都可在官网进行查询&#xff0c;请熟读此网站&am…

java行程单解析获取内容_java如何抓取网页上的动态信息,获取源代码后如何分析JS?...

首先明确我指的动态数据是什么。 名词定义&#xff1a;动态数据在这里指的是网页中由Javascript动态生成的页面内容&#xff0c;即网页源文件中没有&#xff0c;在页面加载到浏览器后动态生成的。 下面进入正题。 抓取静态页面很简单&#xff0c;通过Java获取到html源码&#x…

系统采集--行程单、火车票、汽车票方案

方案一&#xff1a;进项旅客运输采集&#xff08;行程单、火车票、汽车票&#xff09; 实现步骤&#xff1a; 建立视图&#xff08;view_trip、view_trip、view_car&#xff09;&#xff0c;其中视图中税号需要关联组织表获取&#xff1b;后台&#xff1a;根据当前组织id去组…

百望云入选电子凭证会计数据标准深化试点服务保障单位 打通数字化“最后一公里”

电子凭证试点正在加速推进中&#xff01; 近日&#xff0c;财政部会同税务总局、人民银行、国务院国资委、国家档案局、标准委、国电联办、民航局、国铁集团9部委&#xff0c;组织召开电子凭证会计数据标准深化试点启动会。 之后&#xff0c;财政部会计司相继发布《关于公布电子…

【云驻共创】华为云文字识别服务的体验之旅

文章目录 前言一、初识OCR技术1.文字识别技术的概念1.1 文字识别&#xff08;OCR&#xff09;介绍1.2 文字识别&#xff08;OCR&#xff09;应用场景 2.文字识别技术的发展历程2.1 OCR识别领域发展历程2.1.1 西文OCR2.1.1 Tesseract2.1.3 LeNet2.1.4 深度学习OCR 2.2 OCR识别流…

Python自动化办公(一) :滴滴行程单信息提取存入excel表格 2021-04-13

ython自动化办公&#xff08;一&#xff09;:滴滴行程单信息提取存入excel表格 提示&#xff1a;这里可以添加系列文章的所有文章的目录&#xff0c;目录需要自己手动添加 例如&#xff1a;第一章 Python 机器学习入门之pandas的使用 提示&#xff1a;写完文章后&#xff0c;目…

智能客服“听不懂人话”?消费者很“闹心”

智能客服与人工客服并非互相取代的关系。人工客服不能缺位&#xff0c;应通过人机协同更好地回应消费者诉求。在金融消费领域&#xff0c;建议与资金安全等密切相关的业务能够设置人工服务“一键转接”或者“一键冻结”功能&#xff0c;保障消费者财产安全&#xff1b;为“银发…

让ChatGPT调用10万+开源AI模型!HuggingFace新功能爆火:大模型可随取随用多模态AI工具...

萧箫 发自 凹非寺量子位 | 公众号 QbitAI 只需和ChatGPT聊聊天&#xff0c;它就能帮你调用10万个HuggingFace模型&#xff01; 这是抱抱脸最新上线的功能HuggingFace Transformers Agents&#xff0c;一经推出就获得极大关注&#xff1a; 这个功能&#xff0c;相当于给ChatGPT等…

chatgpt赋能python:用Python编写录音代码:打造高效音频处理工具

用Python编写录音代码&#xff1a;打造高效音频处理工具 Python已经成为数据科学、人工智能和机器学习的首选编程语言&#xff0c;因此它也是制作音频处理工具的完美选择。Python编程语言简单易学&#xff0c;并能够快速实现高效的音频处理。通过使用Python&#xff0c;您可以…

如何把图片去水印?来试试这三种图片去水印的方法

如何把图片去水印&#xff1f;来试试这三种图片去水印的方法 相信大家在日常上网的时候&#xff0c;看到一些漂亮的图片时&#xff0c;想将它们保存下来&#xff0c;但又碍于图片带有水印不得不放弃。但其实我们是可以通过一些方法将图片中的水印给去除掉&#xff0c;那我们该…

什么软件去图片水印不留痕迹?三款图片去水印软件分享

我们在设计海报或者易拉宝时&#xff0c;偶尔需要用到网上的图片&#xff0c;但是一些图片加了水印&#xff0c;我们没法用&#xff0c;这个时候你们知道什么软件去图片水印好吗&#xff1f;我朋友跟我说下面这三个软件去图片水印很厉害&#xff0c;我试过了&#xff0c;真的很…

德国质量链接中国速度,奥迪一汽新能源汽车有限公司在电动化赛道上全速奔跑

&#xff08;图片一&#xff1a;奥迪一汽新能源汽车有限公司经管会成员暖封闭启动仪式环节合影&#xff09; 长春&#xff0c;2022年11月21日——11月21日&#xff0c;奥迪一汽新能源汽车有限公司举行了伙伴共进暨暖封闭仪式。随着暖封闭的顺利完成&#xff0c;奥迪一汽新能源…

新能源汽车行业资讯-2022-9-17

1.解决知识产权问题&#xff0c;《汽车行业标准必要专利许可指引》全文发布 2.新能源汽车的电驱动系统里&#xff0c;最核心的技术是什么&#xff1f; 3.东风商用车交付纯电中重卡超2000辆 加速掌握新能源关键核心技术 4.澳大利亚研究团队研制新款高速电动马达&#xff0c;可增…

新能源汽车行业资讯-2022-9-19

1.车规级IGBT产业国内外现状盘点 2.世界排名第二的车企&#xff0c;大众的ID系列&#xff0c;在国内为什么卖不过我们的自主新能源&#xff1f; 3.特斯拉Semi Truck进入中国的三大猜想 4.汽车发动机的三次进化&#xff1a;外燃机&#xff0c;内燃机&#xff0c;电动机 5.有了Hy…

新能源汽车充电桩跑马圈地的时代已经到来

我们国家这些年发展真的很快。以前说起基础设施&#xff0c;感觉还是修桥、修路、医疗、教育、供水供电之类的&#xff0c;但是现在看看周边&#xff0c;这些已经相当的完善了。而我们国家正在进行新的一轮基础设施建设&#xff0c;也就是新基建。我们国家的新基建包括七大领域…