江苏省建设厅网站 杨洪海开网站做代销好
2026/2/13 11:11:29 网站建设 项目流程
江苏省建设厅网站 杨洪海,开网站做代销好,网站运营者网址,河北建设厅网站登录密码错误一#xff1a;主要的知识点 1、说明 本文只是教程内容的一小段#xff0c;因博客字数限制#xff0c;故进行拆分。主教程链接#xff1a;vtk教程——逐行解析官网所有Python示例-CSDN博客 2、知识点纪要 本段代码主要涉及的有①多渲染窗口的开启(共用一个camera) 二主要的知识点1、说明本文只是教程内容的一小段因博客字数限制故进行拆分。主教程链接vtk教程——逐行解析官网所有Python示例-CSDN博客2、知识点纪要本段代码主要涉及的有①多渲染窗口的开启(共用一个camera)二代码及注释import vtkmodules.vtkInteractionStyle import vtkmodules.vtkRenderingOpenGL2 from vtkmodules.vtkCommonColor import vtkNamedColors from vtkmodules.vtkInteractionStyle import vtkInteractorStyleTrackballCamera from vtkmodules.vtkFiltersSources import vtkConeSource, vtkCubeSource, vtkCylinderSource, vtkSphereSource from vtkmodules.vtkRenderingCore import ( vtkActor, vtkPolyDataMapper, vtkRenderWindow, vtkRenderWindowInteractor, vtkRenderer ) def get_sources(): sources list() sphere vtkSphereSource() sphere.SetCenter(0.0, 0.0, 0.0) sphere.Update() sources.append(sphere) cone vtkConeSource() cone.SetCenter(0.0, 0.0, 0.0) cone.SetDirection(0, 1, 0) cone.Update() sources.append(cone) cube vtkCubeSource() cube.SetCenter(0.0, 0.0, 0.0) cube.Update() sources.append(cube) cylinder vtkCylinderSource() cylinder.SetCenter(0.0, 0.0, 0.0) cylinder.Update() sources.append(cylinder) return sources def main(): simultaneous_update True # True表示四个窗口一起动 colors vtkNamedColors() ren_bkg [AliceBlue, GhostWhite, WhiteSmoke, Seashell] actor_color [Bisque, RosyBrown, Goldenrod, Chocolate] width 300 height 300 dx 20 dy 40 w width dx h height dy interactors [] running [True, True, True, True] camera None sources get_sources() kpis [] for i in range(0, 4): ren_win vtkRenderWindow() ren_win.SetSize(width, height) renderer vtkRenderer() if i 0: camera renderer.GetActiveCamera() camera.Azimuth(30) camera.Elevation(30) else: renderer.SetActiveCamera(camera) ren_win.AddRenderer(renderer) iren vtkRenderWindowInteractor() interactors.append(iren) iren.SetRenderWindow(ren_win) ren_win.Render() ren_win.SetWindowName(MultipleRenderWindows {:d}.format(i)) ren_win.SetPosition((i % 2) * w, h - (i // 2) * h) mapper vtkPolyDataMapper() mapper.SetInputConnection(sources[i].GetOutputPort()) actor vtkActor() actor.SetMapper(mapper) actor.GetProperty().SetColor(colors.GetColor3d(actor_color[i])) renderer.AddActor(actor) renderer.SetBackground(colors.GetColor3d(ren_bkg[i])) renderer.ResetCamera() kpis.append(KeyPressInteractorStyle(parentiren)) interactors[i].SetInteractorStyle(kpis[i]) kpis[i].status running[i] if simultaneous_update: interactors[0].Initialize() while all(x is True for x in running): # 死循环一直执行 for i in range(0, 4): running[i] kpis[i].status if running[i]: interactors[i].ProcessEvents() interactors[i].Render() else: interactors[i].TerminateApp() print(Window, i, has stopped running.) else: interactors[0].Start() class KeyPressInteractorStyle(vtkInteractorStyleTrackballCamera): def __init__(self, parentNone, statusTrue): self.parent vtkRenderWindowInteractor() self.status status if parent is not None: self.parent parent self.AddObserver(KeyPressEvent, self.key_press_event) def key_press_event(self, obj, event): key self.parent.GetKeySym().lower() if key e or key q: self.status False return if __name__ __main__: main()

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询