news 2026/5/11 6:10:46

RGid 创建vtkRectilinearGrid模型并展示

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
RGid 创建vtkRectilinearGrid模型并展示

一:主要的知识点

1、说明

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

2、知识点纪要

本段代码主要涉及的有①vtkRectilinearGridGeometryFilter从非均匀三维网格提取表面集合进行展示


二:代码及注释

import vtkmodules.vtkRenderingCore import vtkmodules.vtkInteractionStyle from vtkmodules.vtkCommonDataModel import vtkRectilinearGrid from vtkmodules.vtkCommonColor import vtkNamedColors from vtkmodules.vtkCommonCore import vtkDoubleArray from vtkmodules.vtkFiltersGeometry import vtkRectilinearGridGeometryFilter from vtkmodules.vtkRenderingCore import ( vtkActor, vtkPolyDataMapper, vtkRenderWindow, vtkRenderWindowInteractor, vtkRenderer ) def main(): colors = vtkNamedColors() x = [-1.22396, -1.17188, -1.11979, -1.06771, -1.01562, -0.963542, -0.911458, -0.859375, -0.807292, -0.755208, -0.703125, -0.651042, -0.598958, -0.546875, -0.494792, -0.442708, -0.390625, -0.338542, -0.286458, -0.234375, -0.182292, -0.130209, -0.078125, -0.026042, 0.0260415, 0.078125, 0.130208, 0.182291, 0.234375, 0.286458, 0.338542, 0.390625, 0.442708, 0.494792, 0.546875, 0.598958, 0.651042, 0.703125, 0.755208, 0.807292, 0.859375, 0.911458, 0.963542, 1.01562, 1.06771, 1.11979, 1.17188] y = [-1.25, -1.17188, -1.09375, -1.01562, -0.9375, -0.859375, -0.78125, -0.703125, -0.625, -0.546875, -0.46875, -0.390625, -0.3125, -0.234375, -0.15625, -0.078125, 0, 0.078125, 0.15625, 0.234375, 0.3125, 0.390625, 0.46875, 0.546875, 0.625, 0.703125, 0.78125, 0.859375, 0.9375, 1.01562, 1.09375, 1.17188, 1.25] z = [0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.75, 0.8, 0.9, 1, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.75, 1.8, 1.9, 2, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.75, 2.8, 2.9, 3, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6, 3.7, 3.75, 3.8, 3.9] print(len(x), len(y), len(z)) xCoords = vtkDoubleArray() for value in x: xCoords.InsertNextValue(value) yCoords = vtkDoubleArray() for i in range(0, len(y)): yCoords.InsertNextValue(y[i]) zCoords = vtkDoubleArray() for i in range(0, len(z)): zCoords.InsertNextValue(z[i]) # 构建vtkRectilinearGrid数据模型 rgrid = vtkRectilinearGrid() rgrid.SetDimensions(len(x), len(y), len(z)) rgrid.SetXCoordinates(xCoords) rgrid.SetYCoordinates(yCoords) rgrid.SetZCoordinates(zCoords) """ vtkRectilinearGridGeometryFilter 主要功能:从 vtkRectilinearGrid(非均匀三维网格)中提取出 表面几何(vtkPolyData) 简单说,它可以让一个三维体数据“露出”一层表皮(例如某个切片面),用于渲染或可视化 也可以整个三维体数据,但是会看不见网格结构 """ plane = vtkRectilinearGridGeometryFilter() plane.SetInputData(rgrid) plane.SetExtent(0, len(x) - 1, 16, 16, 0, len(z) - 1) rgridMapper = vtkPolyDataMapper() rgridMapper.SetInputConnection(plane.GetOutputPort()) wireActor = vtkActor() wireActor.SetMapper(rgridMapper) wireActor.GetProperty().SetColor(colors.GetColor3d("Banana")) wireActor.GetProperty().EdgeVisibilityOn() # Create the usual rendering stuff. renderer = vtkRenderer() renWin = vtkRenderWindow() renWin.AddRenderer(renderer) iren = vtkRenderWindowInteractor() iren.SetRenderWindow(renWin) renderer.AddActor(wireActor) renderer.SetBackground(colors.GetColor3d("Beige")) renderer.ResetCamera() renderer.GetActiveCamera().Elevation(60.0) renderer.GetActiveCamera().Azimuth(30.0) renderer.GetActiveCamera().Zoom(1.0) renWin.SetSize(640, 480) renWin.SetWindowName('RGrid') # Interact with the data. renWin.Render() iren.Start() if __name__ == '__main__': main()
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/10 18:36:57

CopyTranslator:PDF文献翻译效率提升10倍的智能翻译工具

CopyTranslator:PDF文献翻译效率提升10倍的智能翻译工具 【免费下载链接】CopyTranslator 项目地址: https://gitcode.com/gh_mirrors/cop/CopyTranslator CopyTranslator是一款专为科研人员和英文文献阅读者设计的智能翻译软件,能够自动处理PDF…

作者头像 李华
网站建设 2026/5/10 20:04:25

智能游戏助手:重新定义你的游戏时间管理方式

智能游戏助手:重新定义你的游戏时间管理方式 【免费下载链接】M9A 1999 小助手 项目地址: https://gitcode.com/gh_mirrors/m9/M9A 在快节奏的现代生活中,如何平衡工作学习与游戏娱乐已成为众多玩家面临的共同挑战。智能游戏助手应运而生&#xf…

作者头像 李华
网站建设 2026/5/11 5:16:03

机器翻译质量评估的标准化解决方案:SacreBLEU深度解析

机器翻译质量评估的标准化解决方案:SacreBLEU深度解析 【免费下载链接】sacrebleu Reference BLEU implementation that auto-downloads test sets and reports a version string to facilitate cross-lab comparisons 项目地址: https://gitcode.com/gh_mirrors/…

作者头像 李华
网站建设 2026/4/26 10:57:09

springboot基于SpringBoot+Vue的健身房管理系统的设计与实现

目录 摘要 演示视频 系统功能实现 代码实现 推荐项目 项目案例 项目开发总结 为什么选择我 源码获取 博主介绍:✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于…

作者头像 李华
网站建设 2026/5/1 7:46:15

美国签证智能预约助手:告别手动刷新的自动化解决方案

还在为抢不到理想的美国签证面试时间而焦虑吗?每天守在电脑前刷新几十次,却总是看到"无可用预约"的提示?现在,一款全新的自动化工具正在改变这一现状。 【免费下载链接】us-visa-bot US Visa Bot 项目地址: https://g…

作者头像 李华
网站建设 2026/4/25 13:37:16

OpenRGB完整指南:如何轻松控制各种RGB设备

OpenRGB完整指南:如何轻松控制各种RGB设备 【免费下载链接】OpenRGB Open source RGB lighting control that doesnt depend on manufacturer software. Supports Windows, Linux, MacOS. Mirror of https://gitlab.com/CalcProgrammer1/OpenRGB. Releases can be f…

作者头像 李华