news 2026/3/23 16:41:46

CameraBlur 调整相机属性来模拟景深效果

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CameraBlur 调整相机属性来模拟景深效果

一:主要的知识点

1、说明

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

2、知识点纪要

本段代码主要涉及的有①vtkGlyph3D的使用


二:代码及注释

import vtkmodules.vtkInteractionStyle import vtkmodules.vtkRenderingOpenGL2 from vtkmodules.vtkCommonColor import vtkNamedColors from vtkmodules.vtkFiltersSources import vtkConeSource, vtkSphereSource from vtkmodules.vtkRenderingCore import vtkPolyDataMapper, vtkActor from vtkmodules.vtkFiltersCore import vtkGlyph3D from vtkmodules.vtkRenderingCore import ( vtkActor, vtkPolyDataMapper, vtkRenderWindow, vtkRenderWindowInteractor, vtkRenderer ) def main(): colors = vtkNamedColors() sphere = vtkSphereSource() sphere.SetPhiResolution(7) sphere.SetThetaResolution(7) sphereMapper = vtkPolyDataMapper() sphereMapper.SetInputConnection(sphere.GetOutputPort()) sphereActor = vtkActor() sphereActor.SetMapper(sphereMapper) sphereActor2 = vtkActor() sphereActor2.SetMapper(sphereMapper) cone = vtkConeSource() cone.SetResolution(5) glyph = vtkGlyph3D() glyph.SetInputConnection(sphere.GetOutputPort()) # 这里输入点击或网格数据(要放置glyph的点) glyph.SetSourceConnection(cone.GetOutputPort()) # 用于复制的形状 """ SetVectorModeToUseNormal 使用法向量决定每个glyph的方向,而不是用点数据中的向量 """ glyph.SetVectorModeToUseNormal() """ SetScaleModeToScaleByVector glyph 的缩放比例由点的向量大小(magnitude)决定 """ glyph.SetScaleModeToScaleByVector() glyph.SetScaleFactor(0.25) # 全局控制glyph的总体大小 spikeMapper = vtkPolyDataMapper() spikeMapper.SetInputConnection(glyph.GetOutputPort()) spikeActor = vtkActor() spikeActor.SetMapper(spikeMapper) spikeActor2 = vtkActor() spikeActor2.SetMapper(spikeMapper) spikeActor.SetPosition(0, 0.7, 0) sphereActor.SetPosition(0, 0.7, 0) spikeActor2.SetPosition(0, -1.0, -10) sphereActor2.SetPosition(0, -1.0, -10) spikeActor2.SetScale(1.5, 1.5, 1.5) sphereActor2.SetScale(1.5, 1.5, 1.5) ren1 = vtkRenderer() renWin = vtkRenderWindow() renWin.AddRenderer(ren1) iren = vtkRenderWindowInteractor() iren.SetRenderWindow(renWin) ren1.AddActor(sphereActor) ren1.AddActor(spikeActor) ren1.AddActor(sphereActor2) ren1.AddActor(spikeActor2) ren1.SetBackground(colors.GetColor3d('Bkg')) renWin.SetSize(300, 300) renWin.SetWindowName('CameraBlur') # Do the first render and then zoom in a little. renWin.Render() ren1.GetActiveCamera().SetFocalPoint(0, 0, 0.0) ren1.GetActiveCamera().Zoom(1.8) ren1.GetActiveCamera().SetFocalDisk(0.05) renWin.Render() iren.Start() if __name__ == '__main__': main()
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/20 19:34:36

Conda update失败回滚机制设计

Conda Update 失败回滚机制设计 在人工智能与数据科学项目中,一个常见的噩梦是:你正准备复现一篇论文的实验结果,一切代码就绪,却在运行时突然报错——某个依赖库版本不兼容。检查后发现,几天前的一次 conda update 意…

作者头像 李华
网站建设 2026/3/23 15:04:24

使用Miniconda构建大模型微调SaaS服务平台

使用Miniconda构建大模型微调SaaS服务平台 在大模型研发日益普及的今天,一个常见的痛点浮出水面:为什么同一个微调脚本,在研究员本地能顺利收敛,到了生产环境却频频报错?答案往往藏在一个看似不起眼的地方——Python环…

作者头像 李华
网站建设 2026/3/22 12:10:39

如何精通vue-grid-layout:从配置到实战的完整指南

如何精通vue-grid-layout:从配置到实战的完整指南 【免费下载链接】vue-grid-layout A draggable and resizable grid layout, for Vue.js. 项目地址: https://gitcode.com/gh_mirrors/vu/vue-grid-layout 还在为Vue项目中的拖拽布局配置而头疼吗&#xff1f…

作者头像 李华
网站建设 2026/3/23 7:11:17

计算机毕业设计springboot养老院管理系统 基于Spring Boot的智慧养老院信息化管理系统开发 Spring Boot框架下的养老院综合管理平台设计与实现

计算机毕业设计springboot养老院管理系统wl53e (配套有源码 程序 mysql数据库 论文) 本套源码可以在文本联xi,先看具体系统功能演示视频领取,可分享源码参考。随着人口老龄化的加剧,养老院作为老年人生活照料和护理的重要场所&…

作者头像 李华
网站建设 2026/3/15 7:56:46

VSCode ESLint扩展终极配置指南:从入门到精通

VSCode ESLint扩展终极配置指南:从入门到精通 【免费下载链接】vscode-eslint VSCode extension to integrate eslint into VSCode 项目地址: https://gitcode.com/gh_mirrors/vs/vscode-eslint VSCode ESLint扩展是JavaScript和TypeScript开发者的必备工具&…

作者头像 李华
网站建设 2026/3/15 7:56:43

Miniconda初始化失败?教你正确执行conda init

Miniconda初始化失败?教你正确执行conda init 在现代数据科学与AI开发中,一个常见的“拦路虎”并不是模型训练不收敛,也不是GPU显存不足,而是——打开终端后输入 conda --version,却弹出一句冰冷的提示: co…

作者头像 李华