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()
相关推荐
San813_LDD20 小时前
[QT]《Qt 开发避坑指南:随机数、容器操作与 VS 环境配置》
开发语言·qt
稷下元歌1 天前
七天学会plc加机器视觉之AI 接入 外设模块开发全详细操作文档(全程配套视频按文档实操)
python·sql·qt·贪心算法·r语言·wpf·时序数据库
艾莉丝努力练剑1 天前
【QT】界面优化:QSS
linux·运维·开发语言·网络·qt·计算机网络·udp
雪的季节1 天前
Qt 自定义表头
开发语言·qt
艾莉丝努力练剑1 天前
【QT】系统相关:QT文件
linux·服务器·开发语言·网络·qt·tcp/ip·计算机网络
爱思考的小伙2 天前
Qt-03:串口助手
qt
864记忆2 天前
远程执行指令-常用指令集
qt
郝学胜_神的一滴2 天前
Qt 高级开发 026:QTabWidget御道,从筑基到化境
c++·qt
走好每一步2 天前
2、VDK 使用QVTKOpenGLNativeWidget嵌入到QT窗体中
qt·vtk·三维图像
nnnnichijou2 天前
Qt 6.9 嵌入式 Linux 交叉编译全栈填坑指南(以树莓派5 AArch64 为例
qt·嵌入式·交叉编译·qml·树莓派5