- 博客(34)
- 资源 (6)
- 收藏
- 关注
原创 VTK笔记——多边形网格与直线的相交(vtkOBBTree)
在多边形网格中,求某一直线与多边形的交点,或者是判断它们是否有相交是极为常见的问题。这篇笔记就是使用OBB Tree来完成这样的需求。
2020-11-06 08:31:41
4173
原创 VTK笔记——数据抽取(vtkQuadricClustering)
前两篇笔记《VTK笔记——数据抽取(vtkDecimatePro)》、《VTK笔记——数据抽取(vtkQuadricDecimation)》讲述了数据的抽取,主要是对三角网格,而且是不太大的数据进行处理。那这边笔记我们来看下大数据的数据抽取。
2020-10-17 19:03:10
1409
原创 VTK笔记——数据抽取(vtkQuadricDecimation)
这篇笔记和《VTK笔记——数据抽取(vtkDecimatePro)》一样,也是对三角形网格数据的抽取。
2020-10-15 09:09:56
1893
原创 VTK笔记——数据抽取(vtkDecimatePro)
多边形数据,特别是三角形网格是常被用到的数据格式。有时会面临网格数据大,难以处理这样的问题,比如在一些交互使用中难以快速响应。为了解决这类问题,就会用到数据抽取技术。抽取也被称作多边形削减,网格简化或者多分辨率建模,其在于保持近似的原始网格条件下对三角网格的三角形进行削减。
2020-10-13 08:29:20
2660
原创 VTK笔记——合并数据(vtkMergeFilter)
之前写过一篇与合并数据相关的笔记《VTK笔记——合并数据(vtkAppendPolyData)》,用vtkAppendPolyData合并多边形数据,有个基本的条件就是输入数据类型要一致。如果我们想要合并数据片段,那可能就要用到vtkMergeFilter.
2020-08-11 17:45:56
2043
原创 VTK笔记——绘制文本
VTK提供了两种方式用于文本绘制,分别用于二维和三维。二维显示是在三维图形窗口顶部绘制文本,通常会涉及的是在层叠平面上绘制。三维标注是创建三维的多边形数据文本,可以想三维图形对象一样进行变换和显示。
2020-06-30 08:45:08
4052
2
原创 VTK笔记——合并数据(vtkAppendPolyData)
数据的合并在3D应用中时常会用到,怎样合并数据,对于不同类型的数据,合并的方法却不相同。vtk中的数据集有很多类,主要包括结构化网络数据集、非结构化网络数据集、多边形数据集、结构化点集、线性网络数据集、非结构化点集等几类。
2020-05-27 08:28:38
5412
5
原创 VTK笔记——寻找最近点(vtkCellLocator)
当你看到找最近点时,可能会立刻想到在一堆点中,通过距离找出最近的点,没错,这是一种寻找最近点的需求。今天我们要说的是另一种寻找最近点的需求,就是在Mesh上找最近点,这个点不一定是Mesh的顶点。
2020-04-22 08:34:28
3838
原创 VTK笔记——曲面上寻找最短路径(DijkstraGraphGeodesicPath)
我们都知道,两点之间,直线段最短。可是,在曲面上,两点之间的路径,却是另一种解释:它是一个点到其它所有点的最短路径。最短路径问题其实是图论中的一个经典算法问题。常见的算法有:Dijkstra算法、Floyd算法、Bellman-Ford算法等。看过《算法图解》,相信对Dijkstra算法并不会陌生,它是典型的最短路径算法。
2020-02-27 08:34:48
3624
4
原创 VTK笔记——医学图像等值面提取(Marching Cubes)
等值面可视化的三种技术,体绘制,移动立方体(Marching Cubes)和部分立方体(Dividing Cubes).这篇笔记主要记录的是移动立方体(Marching Cubes).
2020-01-20 08:42:30
11099
原创 VTK笔记——医学图像配准(Landmark)
随着现代医学的迅速发展,医学影像学为临床诊断提供了多种模态的医学图像,如X射线,CT,MRI等,当然,他们各自有各自的诊断优势。不过,有时候,医生希望将不同图像信息进行适当的集成。然而不同模态的医学图像成像原理不同,风辨率,成像参数却不相同,因此在图像融合前必须进行图像匹配。
2020-01-13 09:52:56
5245
原创 VTK笔记——医学图像的切片提取(vtkImageReslice)
医学图像的浏览和内部分析是很常见也很重要的功能,我们不仅可以从矢状面、冠状面和轴状面这样的切面去看,还可以从任意切面去看。在VTK术语中,切面(切片)就是图像数据。
2019-12-13 08:48:20
9446
7
原创 VTK笔记——医学图像的可视化与交互(vtkImageViewer2)
在读取了医学图像数据后,下一步就需要将它显示出来和进行交互操作。将3D的医学图像以2D的方式呈现,同时切换切片来帮助医学分析。
2019-11-03 08:32:21
5708
7
原创 ITK笔记——读取单个DICOM切片
DICOM(Digital imaging and Communication in Medicine),医学数字成像与通信,它是一个国际标准(ISO 12052),由美国放射学院(ACR)和国家电气制造协会(NEMA)在1970年代共同制定,旨在统一格式,解决医学图像的处理、存储、打印以及传输。
2019-09-15 18:26:49
1921
原创 向量叉积(Cross product)的几何意义及应用
仅在三维空间,两个向量的叉积才有定义,记作 u ^ v定义为:u ^ v = ||u|| ||v|| sin(θ) n其中,θ表示u 和 v 的夹角, ||u|| 和 ||v|| 分别是向量 u和v 的模,n 则是u、v 所构成平面的法向(垂直于u、v平面的单位向量),方向由右手定则决定。
2019-09-15 11:58:09
53487
1
原创 VTK笔记——拾取器Picker
拾取是可视化应用程序中常见的一种功能。拾取主要是用于选择数据和actor或者获取底层的数据值,比如说,拾取点,拾取actor,拾取cell等。
2019-09-13 23:20:27
9426
2
原创 VTK笔记——多边形剪切(vtkSelectPolyData)
这篇笔记和之前的一篇笔记,VTK笔记——多边形剪切(vtkClipPolyData),都是关于多边形处理的,但不同的是后者是用点线来剪切。点线剪切可以在多边形上任意剪切掉一部分,显得比较灵活,就像下面示意这样。A)可以在多边形的中间剪出一个洞,B)也可在多边形边缘剪掉一块。
2019-07-26 15:08:46
4380
1
原创 VTK笔记——有向包围盒(OBB)
什么是有向包围盒《VTK笔记——轴对齐包围盒(AABB)》提到了有向包围盒(OBB/Oriented bounding box)。有向包围盒,是较为常用的包围盒类型。简单的说,它就是包围模型的最小盒子,它是根据模型的几何形状来决定包围盒的大小和方向,无需和坐标轴垂直,方向是任意的,这是它的特点,但也导致了它生成的复杂性。如何获取有向包围盒在VTK中,有一个算法类vtkOBBTree可以得到...
2019-06-05 17:25:09
9842
2
原创 VTK笔记——轴对齐包围盒(AABB)
包围盒是指能够包容物体的立方体或者二位长方形,是包围体的一种,常用于模型的碰撞检测。在较早的时候,包围盒按照坐标系的坐标轴进行排列,这被称为轴对齐的包围盒(AABB/Axis-aligned bounding box)。为了将AABB与通用的情况区分开来,将任意的包围盒称为有向包围盒(OBB/Oriented bounding box)。AABB检测模型的相交要比OBB更简单,但是他的缺点是当模型旋转的时候无法随之旋转,而必须重新计算。
2019-06-05 13:59:51
8555
原创 VTK笔记——Widgets简介
VTK的交互器样式(vtkInteractorStyle)通常只是控制相机以及提供一些简单的键盘和鼠标事件的交互技术。交互器样式在渲染场景中并没有一种表达形式,也就是说,在交互时我们看不见交互器样式到底是什么样子的,用户在使用这些交互器样式时,必须事先知道哪些键盘和鼠标事件是控制哪些操作的。然而,渲染场景中的大部分操作都需要直接、简单。比如,如果某条线段的端点可以由用户放置的话,那么沿着某条线段改变倾斜度,就变得非常容易。
2019-04-23 09:05:55
3901
4
原创 VTK笔记——提取边界(vtkFeatureEdges)
vtkFeatureEdges,VTK的一个类,主要用于边缘提取。提取的边缘包括:1)边界(boundary),只被一个多边形使用的边,或者直线单元;2)非流行(non-manifold),被三个以上的多边形共用的边;3)特征边(feature edges),被两个三角形使用且二面角大于特征角的边;4)流行边(manifold edges),只被两个多边形使用的边。
2019-04-04 15:50:03
7130
8
原创 VTK笔记——多边形剪切(vtkClipPolyData)
在三维图形中,往往会涉及到对多边形的处理,多边形剪切就是其中之一。什么是多边形剪切?打个比方,如果把多边形比作西瓜的话,那剪切就相当于用水果刀切西瓜,一刀下去,西瓜就被切成两块。当然,也可以切两下,三下,甚至更多。
2019-03-28 11:20:50
9837
3
原创 VTK笔记——点(point)和向量(vector)投影到平面(plane)
有时候,三维空间的点需要投影的某一特定的平面。比如说,一个点集,连接成一个平面,如果不进行投影,直接连接,可能会出现怪异的现象。为了简单,示例只用到了一个点的投影。多个点延伸就可以了
2019-02-12 11:20:01
7877
8
原创 VTK笔记——插值样条曲线采样
有时候我们想通过有限的点得到更多的点,比如用这些点来生成三角形,就需要用到曲线插值。最常见的是样条曲线插值。
2019-02-01 16:35:15
4329
1
原创 VTK笔记——插值样条曲线(Parametric Spline)
相信大家对曲线并不陌生,在生活工作学习中都会接触到。同样,在3D方面,曲线也大有用处。
2019-02-01 14:40:28
8453
原创 VTK笔记——纹理映射
有时候,我们为了使三维图形有更加逼真的效果,叫纹理映射,或叫纹理贴图。下面是一个对圆柱体进行纹理贴图的例子,把一张二维的图“贴”到圆柱体的表面。#include <vtkCylinderSource.h>#include <vtkLineSource.h>#include <vtkPolyData.h>#include <vtkSmartP...
2019-01-02 17:16:20
2588
2
转载 向量点乘(内积)和叉乘(外积、向量积)概念及几何意义
版权说明:本博客转载自 https://blog.csdn.net/dcrmg/article/details/52416832 ,归原作者所有。 向量是由n个实数组成的一个n行1列(n*1)或一个1行n列(1*n)的有序数组;向量的点乘,也叫向量的内积、数量积,对两个向量执行点乘运算,就是对这两个向量对应位一一相乘之后求和的操作,点...
2018-12-05 10:06:32
30035
3
原创 VTK笔记——空间几何变换(Transform),平移、旋转和缩放
先看一张图,下图是一个三维的Cow,试想在使用中,是否会遇到如下场景?1.将Cow移动到某个位置2.旋转Cow到背面3.想看清楚Cow面部的细节,改变它大小等等可能你会说,这还不简单,通过操作相机就好了。操作相机,使得相机的空间位置发生了变化,但对三维物体的空间位置并没有改变,要想改变模型的空间位置,就需要对模形本身做空间变换。空间变换的基础知识变换矩阵(Trans...
2018-12-04 10:17:07
31375
15
原创 VTK笔记——如何显示三维坐标系
对于三维空间中的模型,它是投射到二维平面显示,很多时候,我们需要知道它在坐标系的位置或者相对于另一个模型的位置,又或者是它的法向量等,这时候借助显示坐标系就很有必要,下面的方法可能会帮助到你。方法一借助vtkLineSource来画三条线,分别是X, Y, Z轴,再给三条轴设置不同的color加以区分。vtkSmartPointer<vtkLineSource> line...
2018-12-01 10:22:25
11678
4
原创 VTK笔记——vtkCamera的理解和用法
其实,互联网上有不少介绍VTK Camera的文章。在学习和实际项目中,相机扮演中很重要的角色,我们可以通过它来观察物体,包括放大缩小物体、移动相机等操作,所以它是我们需要了解的最基础和最重要的知识之一。本篇博客记录的是相机作用是什么,相机的参数,以及如何控制相机和实际中如何使用?vtkCamera的作用在三维渲染场景中,相机好比人的眼睛,人站立的位置影响事物的大小,视角的影响看到事物...
2018-11-20 21:04:44
14972
1
原创 VTK笔记——如何创建圆柱体
VTK是一个强大的可视化开发工具,因此也提供了很多Source供我们使用。下面我们介绍一下如何创建圆柱体。VTK创建圆柱体有两种方式:- 方式一:使用vtkCylinderSource来创建。vtkSmartPointer<vtkCylinderSource> cylinderSource = vtkSmartPointer<vtkCylinderSourc...
2018-11-06 21:26:06
6768
2
[原创][图文并茂]Day Day Up笔记之uCOS-II+LwIP在STM32F107详细移植过程
2012-08-31
基于激光扫描原理的路径检测方案
2010-03-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人