news 2026/8/7 12:15:01

ImplicitPolyDataDistance 隐式距离显示

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
ImplicitPolyDataDistance 隐式距离显示

一:主要的知识点

1、说明

本文只是教程内容的一小段,因博客字数限制,故进行拆分。主教程链接:vtk教程——逐行解析官网所有Python示例-CSDN博客

2、知识点纪要

本段代码主要涉及的有①vtkImplicitPolyDataDistance计算任意点到几何体表面的符号距离


二:代码及注释

import numpy as np import vtkmodules.vtkRenderingOpenGL2 import vtkmodules.vtkInteractionStyle from vtkmodules.vtkCommonColor import vtkNamedColors from vtkmodules.vtkCommonCore import vtkFloatArray, vtkPoints from vtkmodules.vtkFiltersSources import vtkSphereSource from vtkmodules.vtkFiltersCore import vtkImplicitPolyDataDistance from vtkmodules.vtkCommonDataModel import vtkPolyData from vtkmodules.vtkFiltersGeneral import vtkVertexGlyphFilter from vtkmodules.vtkRenderingCore import ( vtkActor, vtkPolyDataMapper, vtkRenderWindow, vtkRenderWindowInteractor, vtkRenderer ) def main(): colors = vtkNamedColors() sphereSource = vtkSphereSource() sphereSource.SetCenter(0, 0, 0) sphereSource.SetRadius(1.0) sphereSource.Update() sphereMapper = vtkPolyDataMapper() sphereMapper.SetInputConnection(sphereSource.GetOutputPort()) sphereMapper.ScalarVisibilityOff() sphereActor = vtkActor() sphereActor.SetMapper(sphereMapper) # SetOpacity 设置模型是否透明,1完全不透明,0完全透明 sphereActor.GetProperty().SetOpacity(0.3) sphereActor.GetProperty().SetColor(1, 0, 0) """ vtkImplicitPolyDataDistance 计算空间中任意一点到这个多边形几何体表面的符号距离 """ implicitPolyDataDistance = vtkImplicitPolyDataDistance() implicitPolyDataDistance.SetInput(sphereSource.GetOutput()) # 设置隐式距离函数 points = vtkPoints() step = 0.1 for x in np.arange(-2, 2, step): for y in np.arange(-2, 2, step): for z in np.arange(-2, 2, step): points.InsertNextPoint(x, y, z) signedDistance = vtkFloatArray() signedDistance.SetNumberOfComponents(1) signedDistance.SetName("") for pointId in range(points.GetNumberOfPoints()): p = points.GetPoint(pointId) dist_ = implicitPolyDataDistance.EvaluateFunction(p) signedDistance.InsertNextValue(dist_) polyData = vtkPolyData() polyData.SetPoints(points) polyData.GetPointData().SetScalars(signedDistance) """ vtkVertexGlyphFilter 把点集转换成可渲染的几何体 """ vertexGlyphFilter = vtkVertexGlyphFilter() vertexGlyphFilter.SetInputData(polyData) vertexGlyphFilter.Update() signedDistanceMapper = vtkPolyDataMapper() signedDistanceMapper.SetInputConnection(vertexGlyphFilter.GetOutputPort()) signedDistanceMapper.ScalarVisibilityOn() # 根据标量进行着色 signedDistanceActor = vtkActor() signedDistanceActor.SetMapper(signedDistanceMapper) renderer = vtkRenderer() renderer.AddViewProp(sphereActor) renderer.AddViewProp(signedDistanceActor) renderer.SetBackground(colors.GetColor3d('SlateGray')) renderWindow = vtkRenderWindow() renderWindow.AddRenderer(renderer) renderWindow.SetWindowName('ImplicitPolyDataDistance') renWinInteractor = vtkRenderWindowInteractor() renWinInteractor.SetRenderWindow(renderWindow) renderWindow.Render() renWinInteractor.Start() if __name__ == '__main__': main()
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/7 3:26:15

57、SQL 网络与分布式数据库全解析

SQL 网络与分布式数据库全解析 1. 分布式数据库面临的挑战 在构建和管理分布式数据库时,会遇到一系列棘手的问题,这些问题涉及到数据兼容性、系统目录、混合供应商环境、分布式死锁以及恢复等多个方面。 - 数据兼容性 :不同的计算机系统支持不同的数据类型,即便提供相…

作者头像 李华
网站建设 2026/8/7 3:26:18

MeshLabelImageColor 读取医学标签图像数据(MetaImage 格式)

一:主要的知识点 1、说明 本文只是教程内容的一小段,因博客字数限制,故进行拆分。主教程链接:vtk教程——逐行解析官网所有Python示例-CSDN博客 2、知识点纪要 本段代码主要涉及的有①vtkColorTransferFunction颜色映射&#…

作者头像 李华
网站建设 2026/8/7 20:38:40

61、SQL 中的抽象数据类型与继承机制

SQL 中的抽象数据类型与继承机制 1. 操作 LOB 数据 在处理包含文档文本的大对象(LOB)数据时,我们可能需要检索包含 LOB 的行,并更新 LOB 数据中间的部分内容。以下是一个示例代码,展示了如何实现这一操作: declare lob CLOB; textbuf varchar(255); begin /* Put…

作者头像 李华
网站建设 2026/8/7 15:23:27

69、SQL 的现状与未来:专业数据库与市场趋势洞察

SQL 的现状与未来:专业数据库与市场趋势洞察 1. 事件处理与数据库连接 在当今的数据处理领域,企业数据库管理系统(DBMS)起着关键作用。企业 DBMS 链接能够让事件处理引擎将来自数据馈送的数据与从传统企业数据库中检索的数据进行合并。目前,所有主流产品都支持通过 JDBC…

作者头像 李华
网站建设 2026/8/7 20:37:13

68、专业数据库:低延迟、内存与流处理的应用与发展

专业数据库:低延迟、内存与流处理的应用与发展 在当今的数据库市场中,大型企业数据库管理系统占据着主导地位。像Oracle、IBM、Microsoft、Sybase等公司的旗舰产品,都是功能强大且复杂的软件,采用了“一刀切”的通用解决方案。大型企业可以使用Oracle数据库或IBM的DB2的最…

作者头像 李华
网站建设 2026/8/7 4:03:08

eRPC数据中心网络高效RPC终极配置指南

eRPC数据中心网络高效RPC终极配置指南 【免费下载链接】eRPC Efficient RPCs for datacenter networks 项目地址: https://gitcode.com/gh_mirrors/erp/eRPC 想要在数据中心网络中实现极速RPC通信?eRPC正是你需要的解决方案!这个专为现代数据中心…

作者头像 李华