VTK笔记-基础知识
文章平均质量分 81
VTK入门基础
黑山老妖的笔记本
这个作者很懒,什么都没留下…
展开
-
VTK笔记-高斯滤波器-vtkImageGaussianSmooth类代码阅读
初始变量值 默认计算Dimensionality为三维;每个方向上的标准标准偏差为2.0,每个方向上的半径因子1.5;vtkImageGaussianSmooth::vtkImageGaussianSmooth() { this->Dimensionality = 3; this->StandardDeviations[0] = 2.0; this->StandardDeviations[1] = 2.0; this->StandardDevia原创 2021-11-17 09:58:32 · 2776 阅读 · 0 评论 -
VTK笔记-纹理贴图-vtkTexture类
计算机图形学中的纹理既包括通常意义上物体表面的纹理即使物体表面呈现凹凸不平的沟纹,同时也包括在物体的光滑表面上的彩色图案,通常我们更多地称之为花纹。对于花纹而言,就是在物体表面绘出彩色花纹或图案,产生了纹理后的物体表面依然光滑如故。对于沟纹而言,实际上也是要在表面绘出彩色花纹或图案,同时要求视觉上给人以凹凸不平感即可。 凹凸不平的图案一般是不规则的。在计算机图形学中,这两种类型的纹理的生成方法完全一致, 这也是计算机图形学中把他们统称为纹理的原因所在。 所以纹理映射就是在物体的表面上绘制彩色的图案。..原创 2021-11-07 20:34:06 · 5654 阅读 · 17 评论 -
VTK笔记-VTK的数学工具vtkMath类(未完)
vtkMath vtkMath提供了执行常见数学运算的方法。这些包括提供常数,如Pi;从度到弧度的转换;向量运算,如点积、叉积和向量范数;2x2和3x3矩阵的矩阵行列式;一元多项式求解器;用于随机数生成(仅用于向后兼容)。常量定义 定义常使用的PI:static constexpr double Pi() { return 3.141592653589793; } 使用cos(-1)计算出的PI值为3.1415926535897931;基础数据操作四舍五入static int Ro原创 2021-11-04 10:13:30 · 2227 阅读 · 0 评论 -
VTK笔记-几何变换-绕任意轴旋转
vc⃗=(v⃗⋅α⃗)⋅α⃗\vec{v_{c}}=(\vec{v}\cdot \vec{\alpha })\cdot\vec{\alpha }vc=(v⋅α)⋅αv1⃗=v⃗−vc⃗=v⃗−(v⃗⋅α⃗)⋅α⃗\vec{v_{1}}=\vec{v}-\vec{v_{c}}=\vec{v}-(\vec{v}\cdot \vec{\alpha })\cdot\vec{\alpha }v1=v−vc=v−(v⋅α)⋅α由于α⃗×α⃗=0\vec{\alpha }\times\vec{\alpha原创 2021-11-03 20:43:16 · 3492 阅读 · 2 评论 -
VTK笔记-vtkCamera相机向ViewUp方向旋转90°后遇到的问题
在工作中使用到了修改相机的旋转角度,获取图像;或者是使用SetPosition和SetFocalPoint设置与ViewUp相平行时,也会出现相机以一种难以理解的将物体转向周围一个度数。网上有人遇到“当使用Elevation旋转+90°或者-90°时,图像会以一种难以理解的将物体转向周围一个度数。”,跟我遇到的情况不一样;在StackOverflow上有问题:Problems using the VTK camera function elevation使用OrthogonalizeViewUp()原创 2021-10-20 19:09:53 · 2097 阅读 · 0 评论 -
VTK笔记-Qt5.12.11编译VTK9.0.3-QVTKOpenGLNativeWidget
在学习VTK的过程中,使用的是控制台的方式来实现VTK的功能。多次调整参数就需要多次的编译,十分不便。想着使用界面化的方式来学习VTK会事半功倍,且能掌握一门GUI方面的技能。编译VTK 使用VTK最新发布版本9.0.3,在编译过程中增加了Qt的配置; 由于当前机器上没有VS2019,就使用了VS2017版本;选择x64; Finsih后,在Search中搜索Qt,列表中出现和Qt相关的配置项,我这里将所有的选项设置为“YES”; 还可以开启使用VTK_USE_LARGE_DATA原创 2021-07-14 09:54:17 · 9003 阅读 · 16 评论 -
VTK笔记-Mapper 映射器介绍-从vtkMapper开始说起
VTK-VTKMapper映射器文章目录VTK-VTKMapper映射器前言一、vtkMapper类二、主要类说明1.引入库前言本文主要总结VTK中vtkMapper类的作用和主要mapper类的说明;一、vtkMapper类vtkMapper是一个抽象类;它的实现了一个将数据映射到图元的转换接口;vtkMapper的子类可以实现很多功能,可以对照颜色查找表(LUT lookuptable)将数据映射成图元;可以通过设置颜色查找表并设置映射的标量范围来控制映射数据的显示;可以使用图形库OpenGL原创 2021-04-09 09:08:00 · 2161 阅读 · 0 评论 -
VTK笔记-灯光vtkLight
光光在我们周围无处不在,光学成像技术也和我们的生活密不可分,如各种相机、摄像机、望远镜、投影仪等;在现实中,人、相机以及各种各样的采集显示世界信息的收影设施都是通过收集物体反射到人眼中的光线在底板上成像;参考小孔成像,一些照相机和摄影机就是利用了小孔成像的原理——镜头是小孔(大多数安装凸透镜以保证光线成像距离),景物通过小孔进入暗室,像被一些特殊的化学物质(如卤化银等)留在胶片上(数码相机、摄影机等则是把像通过一些感光元件存储在存储卡内)。没有灯光或者物体吸收了所有光线,而造成物体光线没有反射到采集器原创 2021-05-22 19:26:14 · 2752 阅读 · 0 评论 -
VTK笔记-vtkRenderer(未完成-待更新)
vtkRenderervtkrender为渲染器提供了一个抽象规范。渲染器是控制对象渲染过程的对象。渲染是将几何体、灯光规范和摄影机视图转换为图像的过程。vtkrender还执行世界坐标、视图坐标(计算机图形渲染坐标系)和显示坐标(显示设备上的实际屏幕坐标)之间的坐标转换。某些高级渲染功能(如双面照明)也可以控制。接口重置使用的相机参数virtual void ResetCamera();根据可见的vtkActor自动设置相机参数。使得相机会重新定位以观察演员的中心点,并沿其初始视图平面法线移动(原创 2021-06-17 11:18:07 · 1419 阅读 · 1 评论 -
转载-VTK Filter 总结
VTK Filter 总结2019年3月20日 | VTK |1247 阅读本节我们提供了对滤波器的总结。划分为三个部分:源对象Filter列表可视化Filter列表成像Filter列表源对象本节我们提供了对源对象的一个简要描述。源对象发动可视化管线。注意阅读器(读文件的源对象)没有在这里列出。vtkBooleanTexture——创建一个基于内部,外部组合,和在隐式函数上的2D纹理图片(结构化点)。vtkConeSource——产生一个核的一个多边形表示vtkCubeSource——产转载 2021-06-01 12:19:47 · 3430 阅读 · 0 评论 -
VTK笔记-了解VTK
最近,重新学习了VTK相关内容,网上资料质量参差不齐,自己从多处搜集资料,整理记录之;VTK简介Vtk,(visualization toolkit)是一个开源的免费软件系统,主要用于三维计算机图形学、图像处理和可视化。Vtk是在面向对象原理的基础上设计和实现的,它的内核是用C++构建的,包含有大约250,000行代码,2000多个类,还包含有几个转换界面,因此也可以自由的通过Java,Tcl/Tk和Python各种语言使用vtk。视觉化工具函式库(VTK,Visualization Toolkit)原创 2021-04-08 10:04:34 · 5818 阅读 · 2 评论 -
VTK笔记-可视化管线-总结
VTK笔记-vtkInformation原创 2021-06-09 19:47:00 · 1337 阅读 · 0 评论 -
VTK笔记-将渲染窗口保存成图像-vtkWindowToImageFilter类
vtkWindowToImageFilter使用vtkWindow作为图像管道的输入。vtkWindowToImageFilter提供读取vtkWindow中的数据并将其用作成像管道的输入所需的方法。可以将图像保存到文件。窗口图像可以读取为RGB或RGBA像素;此外,还可以读取深度缓冲区。RGB和RGBA像素的类型为unsigned char,而Z缓冲区数据以浮点形式返回。使用此过滤器可将RenderWindows或ImageWindows转换为图像格式。注意:vtkWindow的行为与VTK管道的原创 2021-05-16 19:00:47 · 4195 阅读 · 2 评论 -
VTK笔记-VTK中的智能指针-vtkNew
vtkNew.h位置在:Common\Core\vtkNew.h#ifndef vtkNew_h#define vtkNew_h#include "vtkIOStream.h"class vtkObjectBase;template <class T>class vtkNew{ /** * Compile time checking that the class is derived from vtkObjectBase. */ void CheckOb原创 2021-05-20 16:48:05 · 1715 阅读 · 2 评论 -
VTK笔记-VS项目环境配置
在使用VS使用VTK前,需要对VTK进行编译,生成可使用的Debug和Release库;具体的编译过程,暂时不写,网上这种资料太多了;文件夹下会有四个文件;bin:是可以使用的dll文件;include:是对外提供的头文件;lib:是配合头文件使用的链接库说明文件;把VTK的包含文件夹方在解决方案文件夹下;我的文件夹目录为:vtk-8.2.0-lib\release;在项目属性“C/C++”->“常规”–>“附加包含目录"增加:$(SolutionDir)vtk-8.2.0-li原创 2021-04-14 09:05:35 · 800 阅读 · 1 评论 -
VTK笔记-变换矩阵-vtkMatrix4x4类
vtkMatrix4x4 vtkMatrix4x4是一个用来表示和操作4阶矩阵的类。具体地说,它被设计用于使用4x4变换矩阵表示进行三维渲染时的齐次坐标[x y z w]。多数情况下采用行向量格式的16个double数组。注意,OpenGL以列向量格式存储矩阵,因此在OpenGL和VTK之间移动矩阵内容时,必须对矩阵内容进行转置。接口 vtkMatrix4x4类中使用了一个public的double类型的二维数据的成员变量Element,记录了44个值;对应了一个44的齐次线性变换矩阵,第一列表原创 2021-08-03 10:01:56 · 7028 阅读 · 1 评论 -
VTK笔记-相机vtkCamera
vtk相机VTK是用vtkCamera类来表示三维渲染场景中的相机。vtkCamera负责把三维场景投影到二维平面,如屏幕、图像等。VTK中的相机的使用示意图如下:与相机投影相关的因素主要有:相机位置:即相机所在的位置,用方法vtkCamera::SetPosition()设置。相机焦点:用方法vtkCamera::SetFocusPoint()设置,默认的焦点位置在世界坐标系的原点。朝上方向:即哪个方向为相机朝上的方向。就好比我们直立看东西,方向为头朝上,看到的东西也是直立的,如果我们倒立原创 2021-05-18 19:56:07 · 6850 阅读 · 14 评论 -
VTK笔记-VTK相关资源整理
文章目录VTK官方资料VTK学习交流群VTK博客VTK入门书籍(中文)VTKVTK官方资料官方文档:https://vtk.org/doc/nightly/html/annotated.html官方Demo:https://kitware.github.io/vtk-examples/site/github地址:https://github.com/Kitware/VTKvtk.js地址:https://github.com/Kitware/vtk-jsParaView地址:https://gi原创 2021-09-10 09:57:06 · 927 阅读 · 4 评论 -
VTK笔记-相机vtkCamera-使用vtkRenderer方法空间坐标转换
VTK中坐标转换 View的范围是从[-1,1],中心点位于(0,0); 借用vtkRenderer的方法,来换算体素在相机拍摄图像中的位置,计算相机中像素(真实像素在相机前裁剪平面的投影坐标)所在的世界位置。double vp[4] = {0};ren->GetViewport(vp);double wp1[3] = { vp[0], vp[1], 0.0 };double wp2[3] = { vp[2], vp[3], 0.0 };ren->NormalizedDis原创 2021-07-31 21:35:36 · 2366 阅读 · 0 评论 -
VTK笔记-相机vtkCamera-投影方式与裁剪范围
double vp[4] = {0}; ren->GetViewport(vp); double wp1[3] = { vp[0], vp[1], 0.0 }; double wp2[3] = { vp[2], vp[3], 0.0 }; double new_point[3] = { 0,0,0 }; //ren->WorldToView(my_camera_position[0], my_camera_position[1], my_camera_position[...原创 2021-07-23 13:42:01 · 1880 阅读 · 2 评论