VTK| VTK可视化流程+圆锥示例

要想入门vtk,了解vtk的可视化流程是非常有必要的。

VTK可视化流程

VTK可视化流程主要分为数据处理和渲染两个过程,有一张不错的可视化流程图把这个过程理解为一个舞台剧。

在这里插入图片描述

VTK+VS运行圆锥示例

先来运行一个简单的示例代码来理解VTK运作的过程,也可以运行这个案例来测试自己的VTK是否配置成功。

#include <vtkAutoInit.h> 
#include<vtkActor.h>
#include<vtkSmartPointer.h>
#include<vtkPolyDataMapper.h>
#include<vtkConeSource.h>
#include<vtkRenderer.h>
#include<vtkRenderWindow.h>
#include<vtkCamera.h>
#include<vtkNamedColors.h>// VTK_MODULE_INIT是用于自动初始化所需模块/库的宏
VTK_MODULE_INIT(vtkRenderingOpenGL2);
VTK_MODULE_INIT(vtkInteractionStyle);int main() {// DataObject部分// VTK自带的vtkConeSoure类,圆锥类vtkSmartPointer<vtkConeSource> cone = vtkSmartPointer<vtkConeSource>::New();cone->SetHeight(3.0);//圆锥高度cone->SetRadius(1.0);//圆锥半径cone->SetResolution(10);//圆锥面数// 数据映射部分// 进行数据映射,转化为可被渲染引擎可视化表达的数据vtkSmartPointer<vtkPolyDataMapper> coneMapper = vtkSmartPointer<vtkPolyDataMapper>::New();coneMapper->SetInputConnection(cone->GetOutputPort());// Rendering部分// 映射生成几何数据vtkActorvtkSmartPointer<vtkActor> coneActor = vtkSmartPointer<vtkActor>::New();coneActor->SetMapper(coneMapper);// 把几何数据添加到环境中进行渲染vtkSmartPointer<vtkRenderer> coneRender = vtkSmartPointer<vtkRenderer>::New();coneRender->AddActor(coneActor);// 把渲染好的放到展示窗口中vtkSmartPointer<vtkRenderWindow> renWindow = vtkSmartPointer<vtkRenderWindow>::New();renWindow->AddRenderer(coneRender);renWindow->SetSize(300, 300);// 展示窗口大小for (auto i = 0; i < 360; ++i){renWindow->Render();// 窗口渲染显示coneRender->GetActiveCamera()->Azimuth(1);// 旋转相机}return EXIT_SUCCESS;
}

运行成功后会有一个自动旋转的圆锥:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/589032.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

k8s 基础入门

1.namespace k8s中的namespace和docker中namespace是两码事&#xff0c;可以理解为k8s中的namespace是为了多租户&#xff0c;dockers中的namespace是为了网络、资源等隔离 2.deployment kubectl create #新建 kubectl aply #新建 更新 升级&#xff1a; 滚动升级&#x…

CSS水波纹效果

效果图&#xff1a; 1.创建一个div <div class"point1" click"handlePoint(1)"></div> 2.设置样式 .point1{width: 1rem;height: 1rem;background: #2ce92f;position: absolute;border-radius: 50%;z-index: 999;cursor: pointer;} 3.设置伪…

C++初学者:优雅创建第一个窗口

我想学习C做一些实用的程序&#xff0c;但是我不想在软件界面上花太多的时间&#xff0c;可是每每就是界面影响我的思绪。 今天学习C类的包装知识&#xff0c;终于整出了一个我的界面类&#xff0c;虽然封装水平很弱&#xff0c; 这次就用这个类&#xff0c;写了自己工作上常用…

什么是视频号小店?视频号小店怎么开通,为什么那么多人都在做?

大家好&#xff0c;我是电商花花。 要说现在最火的行业/项目是什么&#xff1f;相信每个人都下意识觉得是直播电商。 没错&#xff0c;自动直播电商火了之后&#xff0c;更是带动着抖音小店走向了新的高潮&#xff0c;也带动着其它电商平台的发展&#xff0c;不断涌出新的平台…

计算机组成结构1

概念 计算机组成&#xff1a; 运算器、控制器、存储器、输出设备、输入设备 CPU&#xff1a;运算器控制器 运算器&#xff1a;算数逻辑单元ALU、累加寄存器AC、数据缓冲寄存器DR、状态条件寄存器PSW 控制器&#xff1a;指令寄存器IR、程序计数器PC、地址寄存器AR、指令译码器I…

stm32 HAL中断GPIO——1

1选择引脚为中断 中断详细配置 1 模式选择 上拉下拉 再点击NVIC可进行分组 再勾选如图 总结步骤 1选择中断 2配置时钟//选择外部时钟 3配置模式 4勾选NVIC

AWVS 安装详细教程

一、软件介绍 Acunetix Web Vulnerability Scanner(简称AWVS)是一款知名的Web网络漏洞扫描工具&#xff0c;它通过网络爬虫测试你的网站安全&#xff0c;检测流行安全漏洞。AWVS官方网站是&#xff1a;http://www.acunetix.com/ 二、下载安装 官方下载地址&#xff1a;https…

ES6学习(四)-- Reflect / Promise / Generator 函数 / Class

文章目录 1. Reflect1.1 代替Object 的某些方法1.2 修改某些Object 方法返回结果1.3 命令式变为函数行为1.4 ! 配合Proxy 2. ! Promise2.1 回调地狱2.2 Promise 使用2.3 Promise 对象的状态2.4 解决回调地狱的方法2.5 Promise.all2.6 Promise.race 3. Generator 函数3.1 基本语…

微信开发者工具接入短剧播放器插件

接入短剧播放插线 申请添加插件基础接入app.jsonapp.jsplayerManager.js数据加密跳转到播放器页面运行出错示例小程序页面页面使用的方法小程序输入框绑定申请添加插件 添加插件:登录微信开发者平台 ——> 设置 ——> 第三方设置 ——> 插件管理 ——> 搜索“短剧…

k8s存储卷 PV与PVC 理论学习

介绍 存储的管理是一个与计算实例的管理完全不同的问题。PersistentVolume 子系统为用户和管理员提供了一组 API&#xff0c;将存储如何制备的细节从其如何被使用中抽象出来。为了实现这点&#xff0c;我们引入了两个新的 API 资源&#xff1a;PersistentVolume 和 Persistent…

SAP MRP之MTO及项目的最小批量最大批量的参数设置

订货生产的批量计算 使用该标识控制面向订单生产和项目生产的批量计算程式的选择。 可以选择以下计算程式&#xff1a; [ ]系统使用短缺库存批量法计算该订单数量。 [1]系统使用短缺库存批量法计算该订单数量&#xff0c;并且还考虑取整数量或最小和最大批量。 [2]系统使用在…

Vue ElementPlus Input 输入框

Input 输入框 通过鼠标或键盘输入字符 input 为受控组件&#xff0c;它总会显示 Vue 绑定值。 通常情况下&#xff0c;应当处理 input 事件&#xff0c;并更新组件的绑定值&#xff08;或使用v-model&#xff09;。否则&#xff0c;输入框内显示的值将不会改变&#xff0c;不支…