目录
3D picking概述
3D射线投射原理
VTK picking框架
vtkPicker(选Actor)
vtkPointPicker(选点)
vtkCellPicker(选单元)
vtkAreaPicker(框选)
3D picking概述
3D picking 是一种在三维场景中确定用户点击或指向的对象的技术。这在3D应用程序和游戏中非常常见,允许用户通过点击、拖拽或选择等操作与3D对象进行交互。3D picking 的过程涉及将2D屏幕坐标转换回3D场景空间,以找出该位置下的对象。
实现3D picking 的方法主要有以下几种:
- 射线投射(Ray Casting):最常见的技术,通过从相机位置发射一条经过鼠标点击位置的射线进入3D场景,并检测这条射线与场景中对象的交点。
- 颜色拾取(Color Picking):这种方法涉及到在一个离屏缓冲区中渲染场景,场景中的每个对象都使用唯一的颜色绘制。通过读取鼠标光标下像素的颜色值,应用程序可以确定被点击的对象。
- 选择缓冲区(Selection Buffer):一些图形API提供了一种选择模式,用于拾取。当场景在这种模式下渲染时,绘制在光标指定区域内的对象会被添加到选择缓冲区,应用程序