当前位置: 首页 > news >正文

Vtk概览1

vtk环境搭建 见(VTK开发环境配置(Visual Studio C++)-详细图文教程-CSDN博客)

在学习vtk图形图像进阶的第二章时,通过vs2022建的控制台程序,编写运行示例2.1 发现 不显示图像。

#include <iostream>
#include<vtkRenderWindow.h>
#include<vtkSmartPointer.h>
#include<vtkRenderWindowInteractor.h>
#include<vtkCylinderSource.h>
#include<vtkPolyDataMapper.h>
#include<vtkRenderer.h>
#include<vtkInteractorStyleTrackballCamera.h>
#include<vtkActor.h>
int main()
{std::cout << "vtk";vtkSmartPointer<vtkCylinderSource> cylinder =vtkSmartPointer<vtkCylinderSource>::New();if (!cylinder) {std::cerr << "Failed to create vtkCylinderSource" << std::endl;return 1;}cylinder->SetHeight(3.0);cylinder->SetRadius(1.0);cylinder->SetResolution(10);vtkSmartPointer<vtkPolyDataMapper> cylinderMapper =vtkSmartPointer<vtkPolyDataMapper>::New();cylinderMapper->SetInputConnection(cylinder->GetOutputPort());vtkSmartPointer<vtkActor> cylinderActor =vtkSmartPointer<vtkActor>::New();cylinderActor->SetMapper(cylinderMapper);vtkSmartPointer<vtkRenderer>   renderer =vtkSmartPointer<vtkRenderer>::New();renderer->AddActor(cylinderActor);renderer->SetBackground(0.1,0.2,0.4);vtkSmartPointer<vtkRenderWindow>   renWin =vtkSmartPointer<vtkRenderWindow>::New();renWin->AddRenderer(renderer);renWin->SetSize(300,300);vtkSmartPointer<vtkRenderWindowInteractor>   iren =vtkSmartPointer<vtkRenderWindowInteractor>::New();iren->SetRenderWindow(renWin);vtkSmartPointer<vtkInteractorStyleTrackballCamera>   style =vtkSmartPointer<vtkInteractorStyleTrackballCamera>::New();iren->SetInteractorStyle(style);iren->Initialize();iren->Start();return 0;
}

经过查找资料,发现可能原因是 动态链接库的加载在不同平台上可能有不同的机制和优先级。默认情况下,VTK 可能无法准确找到并加载所需的动态链接库。

所以通过使用 vtkAutoInit.h 和相关的 VTK_MODULE_INIT 宏确保所有必要的 VTK 模块被正确初始化

解决方法

在上面的代码开头添加

#include "vtkAutoInit.h" 
VTK_MODULE_INIT(vtkRenderingOpenGL2);
VTK_MODULE_INIT(vtkInteractionStyle);

然后可以显示图像了。

本小节知识总结,

vtkCylinderSource生成一个理想化的圆柱体几何模型。

vtkPolyDataMapper渲染多边形几何数据。

vtkActor连接几何数据与渲染场景,并赋予其可视化属性。

vtkRenderWindow 将操作系统和vtk渲染引擎连接到一起。

vtkRenderer负责管理场景的渲染过程。

vtkRenderWindowInteractor 提供独立的响应事件的交互。

vtkInteractorStyleTrackballCamera交互器样式的一种,用户通过控制相机对物体进行旋转,放大,缩小等操作。

 


文章转载自:

http://205tWUqb.nkrmh.cn
http://j03ZQam0.nkrmh.cn
http://LZsAc9DT.nkrmh.cn
http://oLM6XTsc.nkrmh.cn
http://sSsauvpj.nkrmh.cn
http://QNJLl8e2.nkrmh.cn
http://7jmLP3J2.nkrmh.cn
http://saf8s3gu.nkrmh.cn
http://diRJpKZX.nkrmh.cn
http://g1pcvIRD.nkrmh.cn
http://5nUMLkQh.nkrmh.cn
http://td8HmNvV.nkrmh.cn
http://WcDLW3C6.nkrmh.cn
http://6Rprrwls.nkrmh.cn
http://6gFuduuz.nkrmh.cn
http://Xk1fVerj.nkrmh.cn
http://WcpqtFCL.nkrmh.cn
http://1cj2lQoc.nkrmh.cn
http://jYIScbsS.nkrmh.cn
http://YjffekhF.nkrmh.cn
http://83G18oQZ.nkrmh.cn
http://LIt11V19.nkrmh.cn
http://5ygU5cwt.nkrmh.cn
http://8ECCL3Sn.nkrmh.cn
http://JrAdm41t.nkrmh.cn
http://PzQfcEbB.nkrmh.cn
http://PgEhlTCE.nkrmh.cn
http://XvqVuUvF.nkrmh.cn
http://ZQfDjLo5.nkrmh.cn
http://02bqJOi4.nkrmh.cn
http://www.dtcms.com/a/215058.html

相关文章:

  • C++ STL map multimap 查找操作详解
  • 友达18.5寸工业液晶屏G185HAN01.104产品参数资料
  • 十三: 神经网络的学习
  • day020-sed和find
  • Python面试1
  • 【修电脑的小记录】打不开某个网站
  • 【备战秋招】C++音视频开发经典面试题整理
  • JAVA面试复习知识点
  • Flutter图片Image、本地图片、程程图片、圆片剪切、圆形图片
  • ceph 剔除 osd
  • 物流配送优化实战:用遗传算法破解选址难题
  • TMS320F28388使用sysconfig配置SCI通信(RS485+FIFO+Modbus)
  • Python训练营打卡 Day37
  • 行为型:责任链模式
  • 认知无线电系统中采用能量检测频谱感知
  • pytorch简单线性回归模型
  • 黑马点评--缓存更新策略及案例实现
  • ubuntu脚本常用命令
  • Halcon 图像预处理②
  • AI时代新词-数字孪生(Digital Twin)
  • 并发的产生及对应的解决方案之服务架构说明
  • 大模型Agent
  • [开源项目] 一款功能强大的超高音质音乐播放器
  • 无网络docker镜像迁移
  • 曲线匹配,让数据点在匹配数据的一侧?
  • ADS学习笔记(五) 谐波平衡仿真
  • 电子电路原理第十七章(线性运算放大器电路的应用)
  • 开疆智能Profinet转Profibus网关连接韦普泰克工业称重仪表配置案例
  • 【Qt开发】输入类控件
  • Python 字符串相似度计算:方法、应用与实践