news 2026/3/12 13:07:12

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/11 16:23:41

PostgreSQL复制管理终极指南:快速构建高可用集群

PostgreSQL复制管理终极指南:快速构建高可用集群 【免费下载链接】repmgr A lightweight replication manager for PostgreSQL (Postgres) 项目地址: https://gitcode.com/gh_mirrors/re/repmgr 在当今数据驱动的时代,数据库的高可用性和数据一致…

作者头像 李华
网站建设 2026/3/13 1:14:50

使用Miniconda统一团队AI开发技术栈

使用 Miniconda 统一团队 AI 开发技术栈 在人工智能项目日益复杂的今天,一个看似微不足道的问题却常常让整个团队陷入困境:为什么代码在你的机器上跑得好好的,到了别人环境里就报错?是 Python 版本不对?还是 PyTorch 和…

作者头像 李华
网站建设 2026/3/12 20:23:44

免费获取!标准EN50160电压特征中文版PDF完整指南

免费获取!标准EN50160电压特征中文版PDF完整指南 【免费下载链接】标准EN50160-公共供电系统的电压特征_中文版PDF下载介绍 本开源项目提供标准EN50160《公共供电系统的电压特征》中文版PDF下载资源。该标准详细规定了公共供电系统的电压等级、电压偏差、电压波动、…

作者头像 李华
网站建设 2026/3/13 3:42:18

芋道管理后台:10分钟极速上手全攻略

还在为搭建企业级管理后台而烦恼吗?芋道管理后台基于 Vue3 Element Plus 技术栈,整合了 AI 大模型、工作流引擎、CRM 系统、企业资源管理系统、商城运营等核心功能,让你在极短时间内拥有专业的管理系统。这款开源项目支持 RBAC 动态权限、数…

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

doccano文本摘要数据集构建:从零到一的完整实践指南

doccano文本摘要数据集构建:从零到一的完整实践指南 【免费下载链接】doccano Open source annotation tool for machine learning practitioners. 项目地址: https://gitcode.com/gh_mirrors/do/doccano doccano作为一款开源的文本标注工具,为机…

作者头像 李华
网站建设 2026/3/10 14:21:48

NanoMQ终极实践指南:构建高性能物联网消息通信系统

NanoMQ终极实践指南:构建高性能物联网消息通信系统 【免费下载链接】nanomq 项目地址: https://gitcode.com/gh_mirrors/na/nanomq NanoMQ作为EMQX家族专为边缘计算设计的超轻量级MQTT消息服务器,以其极小的资源占用和卓越的性能表现&#xff0c…

作者头像 李华