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()
相关推荐
迪菲赫尔曼3 分钟前
【基础篇 04】第一次使用终端:命令在哪里输入,电脑现在又“站”在哪里?
python·yolo·目标检测
qianbo_insist35 分钟前
# 在 Qwen3.5-2B 上把 GDN-1 无损换成 GDN-2:一次完整的架构手术实验(负结果)
人工智能·pytorch·python·架构
专注仿真2 小时前
Agentic RAG算法详解
人工智能·python·大模型训练·控制算法
学习论之费曼学习法2 小时前
无人值守AI内容矩阵实战(8):标题 A/B 实验的 6 个工程实现细节,隔日对比与自动判胜
人工智能·python·算法·矩阵·自动化·a/b测试·内容矩阵
东哥16882 小时前
我用 DeepSeek 做了 4 个零依赖的赚钱小工具,全部开源
python·开源·deepseek
Carl_奕然2 小时前
【机器视觉】最强算法之:3D高斯泼溅(3D Gaussian Splatting)
人工智能·python·算法·目标检测·计算机视觉·3d
小亮_money3 小时前
Agent开发工程师-Python环境搭建
人工智能·python
isfox3 小时前
Python3 线程:多任务并发编程详解
python
Michelle80234 小时前
第1周摸底测试
python
通问AI4 小时前
【实战】企业口径一致性检查:用 Python 对齐官网/招聘平台/投标文件三个来源的成立日期与注册地
开发语言·python