vtk学习教程(一)

参考博客:02-VTK编译安装_DolingStudio的博客-CSDN博客_vtk 编译

首先是一个最简单的vtk程序:

#include"vtkRenderWindow.h"
#include"vtkSmartPointer.h"

int main()
{
	//vtk实例化对象
	vtkSmartPointer<vtkRenderWindow> renWin = vtkSmartPointer<vtkRenderWindow>::New();
	renWin->Render();//调用vtkRenderWindow里的方法显示并渲染VTK窗口
	std::cin.get();//让程序暂停下来,等待接受用户的输入,但是似乎用起来有点问题
	return 0;
}

 以下参考博客:03-VTK基础概念(1)_DolingStudio的博客-CSDN博客_vtk

#include "vtkSmartPointer.h"
#include "vtkRenderWindow.h"
#include "vtkRenderer.h"
#include "vtkRenderWindowInteractor.h"
#include "vtkInteractorStyleTrackballCamera.h"
#include "vtkCylinderSource.h"
#include "vtkPolyDataMapper.h"
#include "vtkActor.h"
#include "vtkBMPReader.h"
#include "vtkTexture.h"

int  main()
{
	vtkSmartPointer<vtkCylinderSource> cylinder =
		vtkSmartPointer<vtkCylinderSource>::New();
	cylinder->SetHeight(3.0);//设置高度
	cylinder->SetRadius(1.0);//设置半径
	cylinder->SetResolution(10);//设置柱体横截面的边数
	vtkSmartPointer<vtkPolyDataMapper> cylinderMapper =
		vtkSmartPointer<vtkPolyDataMapper>::New();//将输入的数据转换为(点、线、多边形)进行渲染
	cylinderMapper->SetInputConnection(cylinder->GetOutputPort());//VTK可视化管线的输入数据接口
	
	//vtkActor,派生自vtkProp类,渲染场景中数据的可视化表达是通过vtkProp的子类负责的
	//vtkProp子类负责确定渲染场景中对象的位置、大小和方向信息
	vtkSmartPointer<vtkActor> cylinderActor =
		vtkSmartPointer<vtkActor>::New();
	cylinderActor->SetMapper(cylinderMapper);//Mapper(vtkMapper)对象,负责存放数据和渲染信息
	
	//负责管理场景的渲染过程
	//组成场景的所有对象包括Prop,照相机(Camera)和光照(Light)都被集中在一个vtkRenderer对象中
	//一个vtkRenderWindow中可以有多个vtkRenderer对象,而这些vtkRenderer可以渲染在窗口中不同的矩形区域中
	vtkSmartPointer<vtkRenderer> renderer =
		vtkSmartPointer<vtkRenderer>::New();
	renderer->AddActor(cylinderActor);//添加vtkProp类型的对象到渲染场景中
	//用于设置渲染场景的背景颜色,用R、G、B的格式设置,三个分量的取值为0.0~ 1.0
	//(0.0,0.0, 0.0)为黑色,(1.0,1.0, 1.0)为白色
	renderer->SetBackground(0.1, 0.2, 0.4);
	
	//将操作系统与VTK渲染引擎连接到一起。
	//不同平台下的vtkRenderWindow子类负责本地计算机系统中窗口创建和渲染过程管理
	vtkSmartPointer<vtkRenderWindow> renWin =
		vtkSmartPointer<vtkRenderWindow>::New();
	renWin->AddRenderer(renderer);//加入vtkRenderer对象
	renWin->SetSize(300, 300);//设置窗口的大小,以像素为单位

	//提供平台独立的响应鼠标、键盘和时钟事件的交互机制
	//通过VTK的Command/Observer设计模式将监听到的特定平台的鼠标
	//键盘和时钟事件交由vtkInteractorObserver或其子类
	vtkSmartPointer<vtkRenderWindowInteractor> iren =
		vtkSmartPointer<vtkRenderWindowInteractor>::New();
	iren->SetRenderWindow(renWin);//设置渲染窗口,消息是通过渲染窗口捕获到的,所以必须要给交互器对象设置渲染窗口


	//交互器样式的一种,该样式下,用户是通过控制相机对物体作旋转、放大、缩小等操作
	vtkSmartPointer<vtkInteractorStyleTrackballCamera> style =
		vtkSmartPointer<vtkInteractorStyleTrackballCamera>::New();
	iren->SetInteractorStyle(style);//定义交互器样式,默认的交互样式为vtkInteractorStyleSwitch
	iren->Initialize();
	iren->Start();
	return 0;
}

 

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 若您想要下载 VTK(Visualization Toolkit,可视化工具包)的教程 PDF 文件,您可以按照以下步骤进行操作: 1. 打开您的浏览器,并搜索“vtk教程 pdf”来查找相关的网页。 2. 浏览搜索结果,找到一个可靠的网站或资源,它可能是一个论坛、博客、学术机构的网站、文档分享平台等。 3. 点击搜索结果中提供的链接,进入该网站。 4. 在网站上寻找关于 VTK 教程的文档或资源。其中一种可能的方式是在网站上使用搜索功能,并输入“VTK教程”等相关关键词。 5. 找到合适的 PDF 文件并点击下载链接。有些网站可能会要求您注册、登录或进行一些其他操作才能开始下载。 6. 按照网站的指示完成下载。 需要注意的是,确保您选择的网站是可信赖的,以便下载到内容真实、无病毒的 VTK 教程 PDF 文件。另外,您还可以考虑到 VTK 官方网站或相关技术论坛上寻找相关资料和教程,这些来源通常提供高质量的资源。 ### 回答2: vtk(Visualization Toolkit)是一个开源的可视化工具库,用于处理和呈现三维数据。关于vtk教程的pdf下载,你可以通过以下步骤获得。 首先,打开互联网浏览器,例如谷歌浏览器、火狐浏览器等。 然后,在搜索引擎中输入“vtk教程pdf下载”。点击搜索按钮,搜索引擎会为你提供与vtk教程相关的pdf下载链接。 接下来,浏览搜索结果列表,找到你所需的vtk教程pdf下载链接。通常,这些链接会指向包含vtk教程pdf文件的网站。 点击合适的链接,你会被重定向到相关网站的页面。在页面上,你可能需要注册或登录才能进行下载。 根据网站的提示,完成所需的注册或登录操作。一旦注册或登录成功,你将能够下载vtk教程的pdf文件。 点击下载链接,开始下载vtk教程的pdf文件。请注意,下载时间取决于文件大小和你的网络连接速度。 下载完成后,你可以打开下载文件夹,找到vtk教程的pdf文件。双击文件名,使用默认的pdf阅读器或你喜欢的阅读器打开。 现在,你可以使用该pdf文件来学习vtk教程。根据自己的需求,你可以打印出来或在电脑上阅读。 总结起来,通过搜索并访问相关网站,进行注册或登录,然后下载vtk教程的pdf文件,您就可以获得所需的教程资料了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值