光线投影算法

简介: 体绘制(VolumeRendering)之光线投射算法(RayCasting) The four basic steps of volume ray casting: (1) Ray Casting (2) Sampling (3)Shading (4) Compositing.

体绘制(VolumeRendering)之光线投射算法(RayCasting)


The four basic steps of volume ray casting: (1) Ray Casting (2) Sampling (3)Shading (4) Compositing.

Inits basic form, the volume ray casting algorithm comprises four steps:

  1. Ray casting. For each pixel of the final image, a ray of sight is shot ("cast") through the volume. At this stage it is useful to consider the volume being touched and enclosed within a bounding primitive, a simple geometric object — usually a cuboid — that is used to intersect the ray of sight and the volume.
  2. Sampling. Along the part of the ray of sight that lies within the volume, equidistant sampling pointssamples are selected. As in general the volume is not aligned with the ray of sight, sampling points usually will be located in between voxels. Because of that, it is necessary to trilinearly interpolate the values of the samples from its surrounding voxels. or
  3. Shading. For each sampling point, the gradient is computed. These represent the orientation of local surfaces within the volume. The samples are then shaded, i. e. coloured and lighted, according to their surface orientation and the source of light in the scene.
  4. Compositing. After all sampling points have been shaded, they are composited along the ray of sight, resulting in the final colour value for the pixel that is currently being processed. The composition is derived directly from the rendering equation and is similar to blending acetate sheets on an overhead projector. It works back-to-front, i. e. computation starts with the sample farthest from the viewer and ends with the one nearest to him. This work flow direction ensures that masked parts of the volume do not affect the resulting pixel.

 

 

 

  1. 对最终图像的每个像素,都有一条光线穿过体素。在这一阶段,考虑体素被接触并且在一个原始边界内封闭是很有用的,一个简单的几何对象——通常是一个长方体——被表示光线和体的相交。
  2. 沿着光线的射线部分位于体的内部,等距离的点采样被选择。通常体和表示光线的射线对齐,样本点通常被放于体素中间。因为如此,有必要对从他周围的体素的样本点的值进行插值。
  3. 对每个样本点,梯度被计算出来。这些代表在体内部的本地表面的方向。这些样本然后根据他们的表面方向和实际的光源被加阴影,着色加光照。
  4. 在所有的样本点背加阴影后,他们被沿着光线复合,得到最终的每个被处理过的像素的颜色值。组成是直接派生于渲染方程并且是像在一个投影机上混合图层。这个过程被不断重复。计算开始于视图中最远的样本点,并且结束于最近的一个。这个工作流水线确认被遮挡的体部分不影响得到的像素。

 


光线投射方 法是基于图像序列的直接体绘制算法。从图像的每一个像素,沿固定方向(通常是视线方向)发射一条光线,光线穿越整个图像序列,并在这个过程中,对图像序列进行采样获取颜色信息,同时依据光线吸收模型将颜色值进行累加,直至光线穿越整个图像序列,最后得到的颜色值就是渲染图像的颜色。

尤其要注意:光线投射算法是从视点到 “ 图像序列最 表面的外层像素 ” 引射线穿越 体数据,而不少教程中都是糊里糊涂的写到 “ 从屏幕像素 出发 ” ,这种说法 太过简单,而且很容易让人误解技术的实现途径,可以说这是一种以讹传讹的说法!从屏幕像素出发引出射线,是光线跟踪算法,不是光线投射算法。

 

目录
相关文章
|
人工智能 算法 计算机视觉
基于Fringe-Projection环形投影技术的人脸三维形状提取算法matlab仿真
基于Fringe-Projection环形投影技术的人脸三维形状提取算法matlab仿真
|
机器学习/深度学习 传感器 算法
穿墙雷达中基于快速墙体时延估计的点目标后投影算法附matlab代码
穿墙雷达中基于快速墙体时延估计的点目标后投影算法附matlab代码
|
机器学习/深度学习 传感器 数据采集
基于后投影算法穿墙雷达成像附matlab代码
基于后投影算法穿墙雷达成像附matlab代码
|
机器学习/深度学习 监控 并行计算
m基于PMP投影匹配追踪算法的人体姿态提取matlab仿真
m基于PMP投影匹配追踪算法的人体姿态提取matlab仿真
232 0
|
算法
二维图像的原子匹配追踪投影算法的图像重建matlab仿真
二维图像的原子匹配追踪投影算法的图像重建matlab仿真
108 0
二维图像的原子匹配追踪投影算法的图像重建matlab仿真
|
1月前
|
算法 安全 数据安全/隐私保护
基于game-based算法的动态频谱访问matlab仿真
本算法展示了在认知无线电网络中,通过游戏理论优化动态频谱访问,提高频谱利用率和物理层安全性。程序运行效果包括负载因子、传输功率、信噪比对用户效用和保密率的影响分析。软件版本:Matlab 2022a。完整代码包含详细中文注释和操作视频。
|
9天前
|
算法 数据安全/隐私保护 索引
OFDM系统PAPR算法的MATLAB仿真,对比SLM,PTS以及CAF,对比不同傅里叶变换长度
本项目展示了在MATLAB 2022a环境下,通过选择映射(SLM)与相位截断星座图(PTS)技术有效降低OFDM系统中PAPR的算法实现。包括无水印的算法运行效果预览、核心程序及详尽的中文注释,附带操作步骤视频,适合研究与教学使用。
|
17天前
|
算法 数据挖掘 数据安全/隐私保护
基于FCM模糊聚类算法的图像分割matlab仿真
本项目展示了基于模糊C均值(FCM)算法的图像分割技术。算法运行效果良好,无水印。使用MATLAB 2022a开发,提供完整代码及中文注释,附带操作步骤视频。FCM算法通过隶属度矩阵和聚类中心矩阵实现图像分割,适用于灰度和彩色图像,广泛应用于医学影像、遥感图像等领域。
|
19天前
|
算法 调度
基于遗传模拟退火混合优化算法的车间作业最优调度matlab仿真,输出甘特图
车间作业调度问题(JSSP)通过遗传算法(GA)和模拟退火算法(SA)优化多个作业在并行工作中心上的加工顺序和时间,以最小化总完成时间和机器闲置时间。MATLAB2022a版本运行测试,展示了有效性和可行性。核心程序采用作业列表表示法,结合遗传操作和模拟退火过程,提高算法性能。
|
19天前
|
存储 算法 决策智能
基于免疫算法的TSP问题求解matlab仿真
旅行商问题(TSP)是一个经典的组合优化问题,目标是寻找经过每个城市恰好一次并返回起点的最短回路。本文介绍了一种基于免疫算法(IA)的解决方案,该算法模拟生物免疫系统的运作机制,通过克隆选择、变异和免疫记忆等步骤,有效解决了TSP问题。程序使用MATLAB 2022a版本运行,展示了良好的优化效果。
下一篇
无影云桌面