VTK初学一,a Mesh from vtkImageData
- #ifndef INITIAL_OPENGL
- #define INITIAL_OPENGL
- #include <vtkAutoInit.h>
- VTK_MODULE_INIT(vtkRenderingOpenGL)
- VTK_MODULE_INIT(vtkInteractionStyle)
- #endif
- #include <iostream>
- using namespace std;
- #include <vtkVersion.h>
- #include <vtkPolyData.h>
- #include <vtkProperty.h>
- #include <vtkMath.h>
- #include <vtkSmartPointer.h>
- #include <vtkPolyDataMapper.h>
- #include <vtkActor.h>
- #include <vtkRenderWindow.h>
- #include <vtkRenderer.h>
- #include <vtkRenderWindowInteractor.h>
- #include <vtkImageData.h>
- #include <vtkGreedyTerrainDecimation.h>
- #include <vtkInteractorStyleTrackballCamera.h>
- #include <vtkInteractionWidgetsModule.h>
- void myShow(vtkGreedyTerrainDecimation* anInput)
- {
- vtkSmartPointer<vtkPolyDataMapper> aMapper=vtkSmartPointer<vtkPolyDataMapper>::New();
- aMapper->SetInputConnection(anInput->GetOutputPort());
- aMapper->ScalarVisibilityOn();
- vtkSmartPointer<vtkActor> anActor=vtkSmartPointer<vtkActor>::New();
- anActor->SetMapper(aMapper);
- anActor->GetProperty()->SetInterpolationToFlat();
- anActor->GetProperty()->EdgeVisibilityOn();
- anActor->GetProperty()->SetEdgeColor(1,0,0);
- vtkSmartPointer<vtkRenderer> ren1=vtkSmartPointer<vtkRenderer>::New();
- vtkSmartPointer<vtkRenderWindow> renWin=vtkSmartPointer<vtkRenderWindow>::New();
- ren1->AddActor(anActor);
- ren1->ResetCamera();
- ren1->SetBackground(1,1,1);
- renWin->AddRenderer(ren1);
- renWin->SetSize(512,512);
- vtkSmartPointer<vtkRenderWindowInteractor> iren=vtkSmartPointer<vtkRenderWindowInteractor>::New();
- vtkSmartPointer<vtkInteractorStyleTrackballCamera> style=vtkSmartPointer<vtkInteractorStyleTrackballCamera>::New();
- iren->SetRenderWindow(renWin);
- iren->SetInteractorStyle(style);
- iren->Start();
- }
- int main()
- {
- vtkSmartPointer<vtkImageData> image=vtkSmartPointer<vtkImageData>::New();
- image->SetDimensions(20,20,1);//头两个参数分别是沿x、y方向的取样点数,第三个参数是z方向的取样点数
- image->AllocateScalars(VTK_UNSIGNED_CHAR,1);
- int dims[3];
- image->GetDimensions(dims);
- for(double i=0;i<dims[0];i++)
- {
- for(double j=0;j<dims[1];j++)
- {
- unsigned char* pixel=static_cast<unsigned char*>(image->GetScalarPointer(i,j,0));
- pixel[0]=vtkMath::Round(vtkMath::Random(0,5));//在(i,j)位置上的“高”
- }
- }
- vtkSmartPointer<vtkGreedyTerrainDecimation>decimation=vtkSmartPointer<vtkGreedyTerrainDecimation>::New();
- decimation->SetInputData(image);
- decimation->Update();
- //可视化
- myShow(decimation);
- return 0;
- }
VTK初学一,a Mesh from vtkImageData的更多相关文章
- VTK初学一,a Mesh from vtkImageData—球冠
#ifndef INITIAL_OPENGL #define INITIAL_OPENGL #include <vtkAutoInit.h> VTK_MODULE_INIT(vtkRend ...
- VTK初学一,比较常见的错误2
我的开发环境: 系统:win8.1 QT:5.4.2MinGW版 VTK:6.3 按照教程生成一个球体显示在,Qt的QVTKWidget控件中,出现如下ERROR: ERROR: In D:\VTK6 ...
- VTK初学一,c_Line_CellArray线段的CellArray绘制
VTK窗口默认坐标方向: #ifndef INITIAL_OPENGL #define INITIAL_OPENGL #include <vtkAutoInit.h> VTK_MODULE ...
- VTK初学一,a_Vertex图形点的绘制
系统:Win8.1 QT版本:2.4.2,Mingw VTK版本:6.3 2. main.cpp #ifndef INITIAL_OPENGL #define INITIAL_OPENGL #incl ...
- VTK初学一,动画加AVI录制终于做出来了
#ifndef INITIAL_OPENGL #define INITIAL_OPENGL #include <vtkAutoInit.h> VTK_MODULE_INIT(vtkRe ...
- VTK初学一,vtkDelaunay2D创建球冠曲面
#ifndef INITIAL_OPENGL #define INITIAL_OPENGL #include <vtkAutoInit.h> VTK_MODULE_INIT(vtkRend ...
- VTK初学一,比较常见的错误1
错误原因: 通常是在文件头部没有初始化 #ifndef INITIAL_OPENGL #define INITIAL_OPENGL #include <vtkAutoInit.h> V ...
- VTK初学一,Pro文件的配置
1. pro文件的配置 TEMPLATE = app CONFIG += console CONFIG -= app_bundle CONFIG += qt QT += core gui greate ...
- VTK初学一,b_PolyVertex_CellArray多个点的绘制
#ifndef INITIAL_OPENGL #define INITIAL_OPENGL #include <vtkAutoInit.h> VTK_MODULE_INIT(vtkRend ...
随机推荐
- C#皮肤制作
using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; u ...
- Guava 学习计划
Guava这个框架,我想参加过工作了Java程序员都应该不会陌生,这个框架甚至比Apache Commons Lang3框架更受Java程序员的喜欢.但是遗憾的是怎么优秀和成熟的框架,在国内我居然没有 ...
- HD1160FatMouse's Speed(最长单调递增子序列)
FatMouse's Speed Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- 添加css的方式:link与@import区别
如何在html中添加css? 在html中设置css共有三种方式,分别是: 行内式 内嵌式 导入式-link 导入式-@import 1.行内式.即在html标签中的style属性中设置css,值得注 ...
- js023-离线应用与客户端存储
js023-离线应用与客户端存储 本章内容: 进行离线检测 使用离线缓存 在浏览器中保存数据 23.1 离线检测 第一步:知道设备是在线还是离线:navigator.Online属性.该值为true表 ...
- MVC过滤器之 OnActionExcuted
Controller里 [SendMessage] public Action SendSmsMessage() { var resultExtendInfo=new ResultExtendInfo ...
- CodeForces 701C They Are Everywhere (滑动窗口)
题目链接:http://codeforces.com/problemset/problem/701/C 题意:找到字符串中能包含所有元素的最短字符串长度. 利用“滑动窗口”解题 解题思路: 1. 遍历 ...
- Centos6.5安装和使用docker
rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm yum install docke ...
- Python + OpenCV2 系列:1 - 配置
Python+OpenCV2+Eclipse+Windos 8.1(32bits): 最初的目的是做图像处理,opencv强大的社区支持,让我想从matlab转到opencv框架下进行试验,而Pyth ...
- 新创建一个git远程仓库
1.git 服务器项目初始化已经完毕,请把相关的资料和源码上传到git服务器. 2.第一次需要clone,执行命令:git clone git@192.168.10.184:listenbox_mc_ ...