• VTK影院模型:

  从这个模型去介绍VTK的应用,整个电影院就是VTK的显示窗口(vtkRenderWindow),舞台就是VTK的渲染场景(vtkRenderer),场景中有不同的演员就是VTK的各种三维模型(vtkActor),演员身材长相动作表情各不相同就像模型有大有小颜色各异就是VTK模型属性(vtkPorperty),台下的观众与演员进行交互就是VTK中窗口与鼠标等的交互(vtkRenderWindowInteractor),然而观众与演员的交互方式也不一样,有的挥手有的呐喊就像VTK中有时用鼠标有时用键盘(vtkInteractorStyle),在我们观看时,我们在电影院的前排后排靠左靠右买票时就决定了,因此对于一个人只有一个视角就像VTK中的相机(vtkCamera),根据距离远近位置不同看到的舞台人物大小不同。舞台上的灯光就像VTK中的灯光(vtkLight)有很多灯光配合衬托舞台效果。下面是一个简单地例子:

  • 代码解释如下:
 #include <vtkAutoInit.h>
VTK_MODULE_INIT(vtkRenderingOpenGL2);
VTK_MODULE_INIT(vtkInteractionStyle);
#include <vtkActor.h>
#include <vtkCamera.h>
#include <vtkLight.h>
#include <vtkCylinderSource.h>
#include <vtkConeSource.h>
#include <vtkFloatArray.h>
#include <vtkNamedColors.h>
#include <vtkNew.h>
#include <vtkPointData.h>
#include <vtkPoints.h>
#include <vtkPolyData.h>
#include <vtkPolyDataMapper.h>
#include <vtkRenderer.h>
#include <vtkRenderWindow.h>
#include <vtkRenderWindowInteractor.h>
#include <vtkInteractorStyleTrackballCamera.h>
#include <array> int main()
{//演员训练成什么类型,想要一个圆柱样子
vtkNew<vtkCylinderSource> cylinder;
cylinder->SetHeight(3.0);//柱体的高
cylinder->SetRadius(1.0);//柱体的横截面半径
cylinder->SetResolution();//柱体的等边多边形边数
//根据想要的圆柱演员样子,将他渲染训练成该样
vtkNew < vtkPolyDataMapper>cylinderMapper;
cylinderMapper->SetInputConnection(cylinder->GetOutputPort());
vtkNew < vtkActor>cylinderActor;//演员产生
cylinderActor->SetMapper(cylinderMapper);
vtkNew < vtkRenderer>renderer;//搭建舞台
renderer->AddActor(cylinderActor);//所有演员中的哪一个要上台
renderer->SetBackground(0.6, 0.5, 0.4);//舞台背景
vtkNew < vtkRenderWindow>renWin;//指定电影院
renWin->AddRenderer(renderer);//指定电影院要播放的电影(舞台)
renWin->SetSize(, );//建立影院大小 vtkNew<vtkRenderWindowInteractor> iren;//表演中有互动
iren->SetRenderWindow(renWin);//和那个演出互动
vtkNew<vtkInteractorStyleTrackballCamera>style;//互动的形式是什么 iren->SetInteractorStyle(style);
iren->Initialize();
iren->Start(); return EXIT_SUCCESS;
}

走进电影院观看VTK的更多相关文章

  1. VR与AR的发展趋势分析

    概要 你是否想象过与神秘的深海生物近距离接触?你是否梦想过穿戴钢铁侠那样的超先进科技装备成为超级英雄?你又是否幻想过与梦中的女神面对面的交流?这些可能在以前都只能是存在于脑海中的幻想,可是在如今有一项 ...

  2. 我不是一名UX设计师,你也不是

    以下内容由Mockplus团队翻译整理,仅供学习交流,Mockplus是更快更简单的原型设计工具. 最近几年,用户体验这个术语开始出现.而且随着它的发展,我们也见证了用户体验设计师的崛起. 每隔几个月 ...

  3. 谁才是天朝最厉害的演员?让Python来为你揭晓!

    一.项目背景 上个月笔者的一个同学开了间影视投资公司,出于对创业人员的仰慕和影视投资行业的好奇,我就跟他寒暄了几句,聊天当中他提及到国庆节有部<攀登者>即将上映,预计票房会大好,因为吴京是 ...

  4. 火题小战 C. 情侣?给我烧了!

    火题小战 C. 情侣?给我烧了! 题目描述 有 \(n\) 对情侣来到电影院观看电影.在电影院,恰好留有 \(n\) 排座位,每排包含 \(2\) 个座位,共 \(2×n\) 个座位. 现在,每个人将 ...

  5. 弱肉强食——《哆啦A梦:大雄的新恐龙》观后感

    观看大雄的新恐龙不是在电影院观看的,由于时间的问题无法去电影院观看,是在家通过梦蓝字幕组翻译好的观看的,这个翻译好的视频已经由于版权原因没有发布了. 故事的开始与以往的情节十分相似:大雄因为不想被胖虎 ...

  6. vtk工作流

    要理解VTK的工作原理,首先应明确几个类型: 1.vtkSource(数据源)   这个就好比一个剧本里面的角色,让演员知道要演的是什么人物. 数据源有:vtkConeSource,vtkSphere ...

  7. 认识VTK工作原理

    VTk通过数据流实现变信息为图形数据的. 数据流一般为:source-filter--mapper--actor--render--renderwindow--interactor. 要理解工作原理, ...

  8. C语言课设——电影院选票系统

    C语言课设--电影院选票系统 1.课题介绍 大家都爱看电影,现请参考一个熟悉电影票预订系统,实现C语言版的订票系统.了解订票如何实现的.系统主要有2类用户:管理员用户和顾客用户. 管理员用户 1.电影 ...

  9. 关于720p和1080p观看距离和效果

    分类: 不同分辩率的信号源,对观看距离的要求是不同的.在标清时代,看电视台的画面,要离得好鬼远,否则就会觉得画面粗糙闪炼唔舒服.720P及1080P的观看距离又应该点样呢?系唔系买个50寸的平板电视要 ...

随机推荐

  1. SQL server 游标用法

    declare @EmpCode varchar(50), @EmpName varchar(50), @EmpAddress varchar(200);declare curEmployee cur ...

  2. [CF1311A] Add Odd or Subtract Even

    Solution a<b, delta=odd, ans=1 a<b, delta=even, ans=2 a=b ans=0 a>b, delta=odd, ans=2 a> ...

  3. Python 编程入门(4):变量与赋值

    以下所有例子都基于最新版本的 Python,为了便于消化,每一篇都尽量短小精悍,希望你能尽力去掌握 Python 编程的「概念」,可以的话去动手试一下这些例子(就算目前还没完全搞懂),加深理解. 经过 ...

  4. Flutter初探_环境配置以及创建项目

    还没学会这个怎么排版,写了一版 太丑 没发看,' 先换到我熟悉的网站,后面搞定了排版再更新过来 https://www.jianshu.com/p/6fc913861461

  5. spring的困惑--org.springframework.web.servlet.DispatcherServlet noHandlerFound

    出现这种情况可能是代码没有更新到Tomcat服务器上

  6. Vue图片验证码-自定义组件高级版

    最近项目中要用到图片验证码,网上一查有很多,基本都是千篇一律的4位纯数字验证码.首先得感谢那位一代目兄台提供的模板,由于不能满足需求,所以对其进行了改造升级. 经改造的图片验证码能满足一下情形使用:① ...

  7. MyBatis mapper文件中使用常量

    MyBatis mapper文件中使用常量 Java 开发中会经常写一些静态常量和静态方法,但是我们在写sql语句的时候会经常用到判断是否等于 //静态类 public class CommonCod ...

  8. SVN提交更新文件,抛出"svn: No such revision 27106"异常问题处理

    SVN,不管是更新或者是提交原来存在的文件,都会抛出此异常"svn: No such revision 27106",注意,是原来存在的文件,要是新增的文件,不会出现此问题. 百度 ...

  9. 【spring boot】SpringBoot初学(1) - Hello World

    前言 此文只是记录自己简单学习spring boot的笔记.所以,文章很多只是初步理解,可能存在严重错误. 一.Spring boot的初步理解 1.spring boot的目标 (摘自:spring ...

  10. VAR向量自回归模型学习笔记2

    向量自回归模型 今天的你 和昨天的你 和前天的你,是否具有相关性. 1. 定义 向量自回归(VAR,Vector Auto regression)分析联合内生变量间的动态关系 联合:n个变量间的相互影 ...