VTK个人学习记录-20201214

本文介绍了在不使用CMake的情况下,如何配置VTK的C++项目。内容涉及vtkLight、vtkCamera的设置,RGB和HSV颜色系统,交互机制的实现,以及纹理映射和空间变换的概念,包括透视投影和正交投影、平移、缩放和旋转等操作。
摘要由CSDN通过智能技术生成
  • 大部分教程都是使用CMake作为vtk项目的配置方法。若不使用CMake作为配置方法,直接创建c++解决方案,在配置完项目属性后,需在代码头文件引用部分作以下声明:
#include <vtkAutoInit.h>		// 不使用CMake创建时,必需
VTK_MODULE_INIT(vtkRenderingOpenGL2);
VTK_MODULE_INIT(vtkInteractionStyle);
VTK_MODULE_INIT(vtkRenderingFreeType);
  • 灯光 vtkLight:颜色,位置,灯光焦点,灯光强度;
  • 相机 vtkCamera:位置,相机焦点,朝上方向,投影方向,投影方法,视角,前后剪裁平面;
  • 颜色:分为RGB和HSV两种颜色系统描述:RGB为红,绿和蓝,取值范围都为0.0-1.0。而HSV则为色相(Hue),饱和度(Saturation)和值(Value,也称强度Intensity或亮度Bright),取值范围也为0.0-1.0。
  • 绝大多数学习例子都要有交互机制的设置。如:vtkRenderWindowInteractor(),并将其初始化和进入事件的相应循环。
  • 纹理映射:创建一个纹理类对象vtkTexture,读入一幅纹理图片输入到该对象,声明该纹理要“贴”到什么地方。
  • 空间变换:三维模型->二维平面(投影)。透视投影,正交投影。平移,缩放,旋转。
    先设置变换矩阵,再应用。
vtkSmartPointer<vtkTransform>transform = 
	vtkSmartPointer<vtkTransform>::New();
transform->PostMultiply();
transform->RotateZ(40);
transform->Translate(10,0,0);
cylinderActor->SetUserTransform(transform);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值