RotationAroundLine 模型的旋转

一:主要的知识点

1、说明

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

2、知识点纪要

本段代码主要涉及的有①模型的旋转

二:代码及注释

python 复制代码
import vtkmodules.vtkRenderingOpenGL2
import vtkmodules.vtkInteractionStyle
from vtkmodules.vtkFiltersSources import vtkArrowSource
from vtkmodules.vtkCommonColor import vtkNamedColors
from vtkmodules.vtkCommonTransforms import vtkTransform
from vtkmodules.vtkFiltersGeneral import vtkTransformPolyDataFilter
from vtkmodules.vtkRenderingCore import vtkActor, vtkPolyDataMapper, vtkRenderWindow, vtkRenderWindowInteractor, \
    vtkRenderer


def main():
    colors = vtkNamedColors()

    source = vtkArrowSource() # 原始方向(0,0,1)

    transform = vtkTransform()
    """
    RotateWXYZ  可自行定义所绕的轴以及绕的角度
    """
    transform.RotateWXYZ(45, 0, 0, 1)

    transformFilter = vtkTransformPolyDataFilter()
    transformFilter.SetInputConnection(source.GetOutputPort())
    transformFilter.SetTransform(transform)
    transformFilter.Update() # 旋转之后与X轴的夹角呈45°

    coneMapper1 = vtkPolyDataMapper()
    coneMapper1.SetInputConnection(source.GetOutputPort())

    actor1 = vtkActor()
    actor1.SetMapper(coneMapper1)

    coneMapper2 = vtkPolyDataMapper()
    coneMapper2.SetInputConnection(transformFilter.GetOutputPort())

    actor2 = vtkActor()
    actor2.SetMapper(coneMapper2)

    actor1.GetProperty().SetColor(colors.GetColor3d("LightCoral"))
    actor2.GetProperty().SetColor(colors.GetColor3d("PaleTurquoise"))

    render = vtkRenderer()
    render.AddActor(actor1)
    render.AddActor(actor2)
    render.SetBackground(colors.GetColor3d("SlateGray"))

    renWin = vtkRenderWindow()
    renWin.AddRenderer(render)
    renWin.SetSize(600, 480)
    renWin.SetWindowName("RotationAroundLine")

    iren = vtkRenderWindowInteractor()
    iren.SetRenderWindow(renWin)

    iren.Initialize()
    renWin.Render()
    iren.Start()



if __name__ == '__main__':
    main()
相关推荐
于是我说2 小时前
一份Python 面试常见问题清单 覆盖从初级到高级
开发语言·python·面试
Kurbaneli2 小时前
Python金融数据分析革命:Mootdx让通达信数据获取变得如此简单
python
吧啦蹦吧2 小时前
`org.springframework.util.ClassUtils#forName
开发语言·python
倔强的小石头_2 小时前
Python 从入门到实战(十):Pandas 数据处理(高效搞定表格数据的 “瑞士军刀”)
人工智能·python·pandas
Together_CZ2 小时前
DarkIR: Robust Low-Light Image Restoration——鲁棒的低光照图像复原
python·image·robust·darkir·鲁棒的低光照图像复原·low-light·restoration
拾贰_C3 小时前
【python | pytorch | scipy】scipy scikit-learn库相互依赖?
pytorch·python·scipy
BoBoZz193 小时前
PolyDataContourToImageData 3D集合图像转换成等效3D二值图像
python·vtk·图形渲染·图形处理
2401_841495643 小时前
【自然语言处理】关系性形容词的特征
人工智能·python·自然语言处理·自动识别·特征验证·关系性形容词·语言学规则和计算
rebekk3 小时前
Hydra介绍
人工智能·python