vtkCamera

vtkCamera用于控制视图不同的显示效果,比如旋转视图、缩放以及透视效果

1.位置和方向:

  • vtkCamera 允许设置相机的具体位置、目标点(即相机朝向的中心)以及上方向。这三个参数共同决定了相机的视角。
  • 使用 SetPosition() 方法设置相机位置。
  • 使用 SetFocalPoint() 设置相机的目标点。
  • 使用 SetViewUp() 方法设置相机的上方向(通常是 Y 轴),即最终渲染图像中,垂直向上的方向指向哪里

2.视野和剪切平面:

  • 通过设置视角(视野)来控制相机所看到的场景范围。使用 SetViewAngle() 方法来设定视角。
  • 定义近剪切平面和远剪切平面,这两个平面决定了渲染时哪些物体在视野内。使用 SetClippingRange() 方法设置这两个剪切平面。

3.投影模式:

  • vtkCamera 支持两种投影模式:透视投影和正交投影。通过 SetParallelProjection() 方法可以设置是否启用正交投影。

4.控制视图的更新:

  • vtkRender的ResetCamera方法让物体始终以最佳大小完整地呈现在窗口中
  • 每当相机属性改变时,可以调用 GetRenderWindow()->Render() 来更新渲染窗口,确保视图按照新的相机设置进行渲染。

相关概念对照:

  • Position:相机位置(眼睛在哪里)
  • FocalPoint:焦点(看向哪里)
  • ViewUp:头顶位置
cpp 复制代码
vtkCamera* cam = m_renderer->GetActiveCamera();
cam->SetViewUp(0,0,1);//这是一个指向 Z 轴正方向的单位向量(X=0, Y=0, Z=1)
m_renderer->ResetCamera();
m_renderWindow->Render()
相关推荐
≮傷£≯√20 小时前
Opencv VideoCapture
qt·opencv
雨田言炎1 天前
十、QThread多线程
linux·服务器·开发语言·前端·qt
常乐か2 天前
在 Ubuntu 24.04 中编译 Qt 5.15.2 项目完全指南
linux·qt·ubuntu
沫璃染墨2 天前
《Qt从零入门系列(二):Qt开发环境搭建——从Qt Creator到SDK配置》
c++·ide·qt
我是小灰灰吖2 天前
Ubuntu 22.04 切换为 X11 会话以解决 QT 桌面程序兼容性问题
linux·qt·ubuntu
≮傷£≯√2 天前
QT配置FFmpeg
开发语言·qt·ffmpeg
≮傷£≯√2 天前
配置 opencv Qt项目
人工智能·qt·opencv
qq_401700412 天前
Qt Modbus协议0x00
开发语言·qt
Zenova EdgeOS2 天前
C++ 工业边缘 Qt 桌面应用实战:从 QWidget 到模型视图、网络与多线程
网络·c++·qt
沫璃染墨3 天前
《Qt从零入门系列(一):Qt框架初识——从发展历史到跨平台开发》
c++·qt·系统架构·gui