news 2026/7/28 14:58:22

HardwareSelector 单元网格面鼠标选择

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
HardwareSelector 单元网格面鼠标选择

一:主要的知识点

1、说明

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

2、知识点纪要

本段代码主要涉及的有①vtkHardwareSelector网格面的UI交互选择


二:代码及注释

import vtkmodules.vtkInteractionStyle import vtkmodules.vtkRenderingOpenGL2 from vtkmodules.vtkCommonColor import vtkNamedColors from vtkmodules.vtkFiltersSources import vtkSphereSource from vtkmodules.vtkCommonDataModel import vtkDataObject from vtkmodules.vtkInteractionStyle import vtkInteractorStyleTrackballCamera from vtkmodules.vtkRenderingCore import ( vtkActor, vtkHardwareSelector, vtkPolyDataMapper, vtkRenderWindow, vtkRenderWindowInteractor, vtkRenderer ) from vtkmodules.util.numpy_support import vtk_to_numpy ren1 = vtkRenderer() def main(): colors = vtkNamedColors() sphere = vtkSphereSource() sphere.SetCenter(0, 0, 0) sphere.SetRadius(5.0) sphere.SetThetaResolution(32) sphere.SetPhiResolution(32) mapper = vtkPolyDataMapper() mapper.SetInputConnection(sphere.GetOutputPort()) actor = vtkActor() actor.SetMapper(mapper) actor.GetProperty().SetColor(colors.GetColor3d('Bisque')) ren1.AddActor(actor) ren1.GetActiveCamera().ParallelProjectionOn() ren1.SetBackground(colors.GetColor3d('Navy')) renWin = vtkRenderWindow() renWin.AddRenderer(ren1) renWin.SetSize(400, 400) renWin.SetWindowName('Hardware Selector Example') iren = vtkRenderWindowInteractor() iren.SetRenderWindow(renWin) style = vtkInteractorStyleTrackballCamera() iren.SetInteractorStyle(style) iren.AddObserver("LeftButtonPressEvent", selectionCallback) ren1.ResetCamera() renWin.Render() iren.Initialize() iren.Start() def selectionCallback(caller, ev): click_pos = caller.GetEventPosition() # 获取鼠标在二维渲染平面的坐标 x, y = click_pos print(f"Mouse clicked at: {x}, {y}") """ vtkHardwareSelector 是一个利用 GPU(硬件渲染管线)来快速确定“屏幕上哪个对象被选中”的类 它用显卡的渲染结果来“反查”哪个几何体(actor、cell 或 point)在某个屏幕像素位置。 """ hsel = vtkHardwareSelector() hsel.SetRenderer(ren1) hsel.SetFieldAssociation(vtkDataObject.FIELD_ASSOCIATION_CELLS) # 区域内所有单元 # vtkDataObject.FIELD_ASSOCIATION_POINTS 区域内所有顶点 # vtkDataObject.FIELD_ASSOCIATION_NONE 区域内的所有对象(整几何体) hsel.SetArea(x-2, y-2, x+2, y+2) ren1.GetRenderWindow().Render() res = hsel.Select() if res is None or res.GetNumberOfNodes() < 1: print("No visible cells selected.") return sel_node = res.GetNode(0) """ 在 VTK 中,如果你想做 对象选择(Picking / Selection),通常会用: vtkSelection:表示整个选择结果,可能包含多个节点(Node) vtkSelectionNode:表示一个选择节点,包含具体的选择类型、IDs 等信息 """ sel_list = sel_node.GetSelectionList() if sel_list is None or sel_list.GetNumberOfTuples() == 0: print("Selection list empty.") return ids = vtk_to_numpy(sel_list) print("Visible cell IDs:", ids.tolist()) if __name__ == '__main__': main()
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/19 15:52:11

ResNet18技术揭秘:为什么它能精准识别1000类物体

ResNet18技术揭秘&#xff1a;为什么它能精准识别1000类物体 1. 引言&#xff1a;通用物体识别中的ResNet-18 在当今人工智能应用中&#xff0c;图像分类是计算机视觉最基础也最关键的一步。从智能相册自动打标签&#xff0c;到自动驾驶系统感知环境&#xff0c;背后都离不开…

作者头像 李华
网站建设 2026/7/28 2:17:02

ResNet18性能对比:CPU与GPU推理速度测试报告

ResNet18性能对比&#xff1a;CPU与GPU推理速度测试报告 1. 背景与测试目标 随着深度学习在通用物体识别领域的广泛应用&#xff0c;ResNet系列模型因其出色的精度与效率平衡&#xff0c;成为工业界和学术界的首选之一。其中&#xff0c;ResNet-18 作为轻量级代表&#xff0c…

作者头像 李华
网站建设 2026/7/23 22:09:19

ResNet18应用实例:零售货架商品识别系统

ResNet18应用实例&#xff1a;零售货架商品识别系统 1. 引言&#xff1a;通用物体识别与ResNet-18的工程价值 在智能零售、自动化巡检和视觉监控等场景中&#xff0c;快速、稳定、低成本的通用物体识别能力是实现智能化升级的关键基础。传统方案依赖云API调用或复杂部署流程&…

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

ResNet18性能优化:CPU推理速度提升5倍的详细步骤

ResNet18性能优化&#xff1a;CPU推理速度提升5倍的详细步骤 1. 背景与挑战&#xff1a;通用物体识别中的效率瓶颈 在边缘计算和本地化部署场景中&#xff0c;深度学习模型的推理效率直接决定了用户体验和系统可用性。尽管ResNet-18作为轻量级图像分类模型被广泛使用&#xf…

作者头像 李华
网站建设 2026/7/21 15:20:49

ResNet18技术详解:深度学习在CV中的应用

ResNet18技术详解&#xff1a;深度学习在CV中的应用 1. 引言&#xff1a;通用物体识别中的ResNet18 在计算机视觉&#xff08;Computer Vision, CV&#xff09;领域&#xff0c;图像分类是基础且关键的任务之一。从早期的SIFT特征分类器方法&#xff0c;到如今基于深度神经网…

作者头像 李华
网站建设 2026/7/25 14:43:51

ResNet18部署优化:提升服务稳定性的策略

ResNet18部署优化&#xff1a;提升服务稳定性的策略 1. 背景与挑战&#xff1a;通用物体识别中的稳定性需求 在AI服务落地过程中&#xff0c;模型推理的稳定性往往比精度更直接影响用户体验。尤其是在边缘设备或资源受限环境中&#xff0c;一个“看似准确”的模型若频繁崩溃、…

作者头像 李华