news 2026/7/6 20:51:41

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/7/5 21:13:46

26、SQL 数据完整性与事务处理全解析

SQL 数据完整性与事务处理全解析 1. 数据完整性保护 SQL 语言提供了多种特性来保护关系型数据库中数据的完整性,具体如下: - 必需列的指定 :在创建表时,可以指定必需列,数据库管理系统(DBMS)会阻止这些列中出现 NULL 值。 - 数据验证 :标准 SQL 中的数据验证仅…

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

LanceDB Java向量检索实战:企业级AI应用的性能突围指南

当你的Java应用需要向量检索能力时,是否还在为Python依赖、性能瓶颈和部署复杂度而烦恼? 【免费下载链接】lancedb Developer-friendly, serverless vector database for AI applications. Easily add long-term memory to your LLM apps! 项目地址: h…

作者头像 李华
网站建设 2026/7/7 16:26:51

Dolby Vision处理工具dovi_tool完全使用指南

Dolby Vision处理工具dovi_tool完全使用指南 【免费下载链接】dovi_tool dovi_tool is a CLI tool combining multiple utilities for working with Dolby Vision. 项目地址: https://gitcode.com/gh_mirrors/do/dovi_tool 项目概述 dovi_tool是一款专为Dolby Vision内…

作者头像 李华
网站建设 2026/7/7 10:20:14

66、SQL 与 XML:数据交互与标准规范解析

SQL 与 XML:数据交互与标准规范解析 1. SQL与XML的数据转换 当数据库管理系统(DBMS)支持对象 - 关系扩展(如结构化数据类型)时,数据的编组(marshaling)和解组(unmarshaling)过程既会变得简单,也会更加复杂。由于表中的各个列现在可以拥有自己的层次结构,因此与 X…

作者头像 李华
网站建设 2026/7/6 22:43:26

72、SQL语法参考指南

SQL语法参考指南 1. 简化的BNF表示法 ANSI/ISO SQL标准使用形式化的Backus Naur Form(BNF)表示法来规定SQL语言的语法。然而,该标准存在一些问题,导致其难以阅读和理解。首先,它采用自底向上而非自顶向下的方式规定语言,使得难以把握SQL语句的整体框架;其次,使用了一…

作者头像 李华
网站建设 2026/7/7 9:06:09

Whisper语音识别GPU加速实战:从零实现10倍性能飞跃

Whisper语音识别GPU加速实战:从零实现10倍性能飞跃 【免费下载链接】whisper openai/whisper: 是一个用于实现语音识别和语音合成的 JavaScript 库。适合在需要进行语音识别和语音合成的网页中使用。特点是提供了一种简单、易用的 API,支持多种语音识别和…

作者头像 李华