2026/4/18 13:17:08
网站建设
项目流程
地方网站系统,中企动力邮箱手机登录设置,网站置顶代码,湖南 微网站开发与设计比赛一#xff1a;主要的知识点
1、说明
本文只是教程内容的一小段#xff0c;因博客字数限制#xff0c;故进行拆分。主教程链接#xff1a;vtk教程——逐行解析官网所有Python示例-CSDN博客
2、知识点纪要
本段代码主要涉及的有①如何在ui界面操作一个立方体框#xff0…一主要的知识点1、说明本文只是教程内容的一小段因博客字数限制故进行拆分。主教程链接vtk教程——逐行解析官网所有Python示例-CSDN博客2、知识点纪要本段代码主要涉及的有①如何在ui界面操作一个立方体框并控制大小二代码及注释import vtkmodules.vtkInteractionStyle import vtkmodules.vtkRenderingOpenGL2 from vtkmodules.vtkCommonColor import vtkNamedColors from vtkmodules.vtkFiltersSources import vtkConeSource from vtkmodules.vtkInteractionStyle import vtkInteractorStyleTrackballCamera from vtkmodules.vtkInteractionWidgets import vtkBoxWidget from vtkmodules.vtkCommonTransforms import vtkTransform from vtkmodules.vtkRenderingCore import ( vtkActor, vtkPolyDataMapper, vtkRenderWindow, vtkRenderWindowInteractor, vtkRenderer ) class vtkMyCallback(object): Callback for the interaction. def __call__(self, caller, ev): t vtkTransform() widget caller widget.GetTransform(t) widget.GetProp3D().SetUserTransform(t) def main(): colors vtkNamedColors() cone vtkConeSource() cone.SetHeight(3) cone.SetRadius(1) cone.SetResolution(10) coneMapper vtkPolyDataMapper() coneMapper.SetInputConnection(cone.GetOutputPort()) coneActor vtkActor() coneActor.SetMapper(coneMapper) coneActor.GetProperty().SetColor(colors.GetColor3d(Bisque)) ren1 vtkRenderer() ren1.AddActor(coneActor) ren1.SetBackground(colors.GetColor3d(MidnightBlue)) renWin vtkRenderWindow() renWin.AddRenderer(ren1) renWin.SetSize(300, 300) renWin.SetWindowName(Tutorial_Step6) iren vtkRenderWindowInteractor() iren.SetRenderWindow(renWin) style vtkInteractorStyleTrackballCamera() iren.SetInteractorStyle(style) boxWidget 是一个交互式三维小部件,允许用户通过鼠标在场景中操作一个立方体框(box) boxWidget vtkBoxWidget() boxWidget.SetInteractor(iren) SetProp3D 定义了控件操作的目标对象建立了控件和实体之间的联系 boxWidget.SetProp3D(coneActor) SetPlaceFactor 设置放置系数或缩放因子 在 VTK 中当调用 boxWidget.PlaceWidget() 时控件会自动计算它所附着的对象这里是 coneActor的边界框Bounding Box并使用这个边界框来确定自身初始的大小和位置 boxWidget.SetPlaceFactor(1.25) boxWidget.GetOutlineProperty().SetColor(colors.GetColor3d(Gold)) boxWidget.PlaceWidget() # 初始化和确定空间在3D空间的初始位置、大小和方向 callback vtkMyCallback() boxWidget.AddObserver(InteractionEvent, callback) boxWidget.On() # 激活交互式控件使其在渲染窗口中可见并开始响应用户的鼠标和键盘输入 iren.Initialize() iren.Start() if __name__ __main__: main()