Ray Casting 光线跟踪算法程序 实现了SSD MIP DRR三种方式

上传者: wjh_seu | 上传时间: 2020-01-21 03:14:57 | 文件大小: 799KB | 文件类型: rar
这是我的一个课程作业,实现了体数据可视化显示中的Ray casting(光线跟踪)经典算法。本程序简单易懂,对于理解算法有很好的帮助。里面实现了如下三种方法,同时内附测试体数据。下载后点击release文件夹中exe文件即可看到效果。 一、基于表面光照的三维显示方法(SSD)。基本原理:三维物体表面的检测隐含在光线跟踪处理中,在给定的表面条件满足时,光线停止,同时在光线与物体相交处计算表面法线方向矢量,然后利用光照模型计算亮度值,赋给相应的绘制值,形成光照效果的三维表面显示; 二、最大值投影方法(MIP)。基本原理:将所有体素沿视线方向投影到相应像素中的体素的最大值作为最终像素的值,主要应用于MRA 和Ultrasound 中;三、数字重建透视成像(DRR)。基本原理:与MIP 相类似,在遍历光线的过程中将光线路径上的图像值进行累加,又称为数字重建透视成像。

文件下载

资源详情

[{"title":"( 52 个子文件 799KB ) Ray Casting 光线跟踪算法程序 实现了SSD MIP DRR三种方式","children":[{"title":"RayCasting_work2","children":[{"title":"RayCasting_work2.suo <span style='color:#111;'> 40.00KB </span>","children":null,"spread":false},{"title":"Release","children":[{"title":"RayCasting.exe <span style='color:#111;'> 361.00KB </span>","children":null,"spread":false},{"title":"glu32.dll <span style='color:#111;'> 114.00KB </span>","children":null,"spread":false},{"title":"glut32.dll <span style='color:#111;'> 472.13KB </span>","children":null,"spread":false},{"title":"glaux.dll <span style='color:#111;'> 1.32MB </span>","children":null,"spread":false},{"title":"vol3.dat <span style='color:#111;'> 4.00MB </span>","children":null,"spread":false},{"title":"opengl32.dll <span style='color:#111;'> 670.00KB </span>","children":null,"spread":false}],"spread":true},{"title":"RayCasting_work2.sln <span style='color:#111;'> 914B </span>","children":null,"spread":false},{"title":"RayCasting_work2","children":[{"title":"stdafx.cpp <span style='color:#111;'> 147B </span>","children":null,"spread":false},{"title":"OpenGL.h <span style='color:#111;'> 1.50KB </span>","children":null,"spread":false},{"title":"RayCasting_work2.h <span style='color:#111;'> 501B </span>","children":null,"spread":false},{"title":"res","children":[{"title":"RayCasting_work2.ico <span style='color:#111;'> 21.12KB </span>","children":null,"spread":false},{"title":"RayCasting_work2.rc2 <span style='color:#111;'> 372B </span>","children":null,"spread":false}],"spread":true},{"title":"raycast","children":[{"title":"raycaster.cpp <span style='color:#111;'> 3.43KB </span>","children":null,"spread":false},{"title":"slicer.h <span style='color:#111;'> 1.09KB </span>","children":null,"spread":false},{"title":"transfunc.h <span style='color:#111;'> 837B </span>","children":null,"spread":false},{"title":"shearwarp.h <span style='color:#111;'> 988B </span>","children":null,"spread":false},{"title":"shearwarp.cpp <span style='color:#111;'> 8.64KB </span>","children":null,"spread":false},{"title":"RayCastUtility.cpp <span style='color:#111;'> 2.96KB </span>","children":null,"spread":false},{"title":"tfvolume.cpp <span style='color:#111;'> 3.31KB </span>","children":null,"spread":false},{"title":"color.h <span style='color:#111;'> 1.33KB </span>","children":null,"spread":false},{"title":"color.cpp <span style='color:#111;'> 1.17KB </span>","children":null,"spread":false},{"title":"volume.h <span style='color:#111;'> 3.33KB </span>","children":null,"spread":false},{"title":"RayCastUtility.h <span style='color:#111;'> 883B </span>","children":null,"spread":false},{"title":"openglsupport.h <span style='color:#111;'> 913B </span>","children":null,"spread":false},{"title":"raycaster.h <span style='color:#111;'> 675B </span>","children":null,"spread":false},{"title":"ray.h <span style='color:#111;'> 2.33KB </span>","children":null,"spread":false},{"title":"slicer.cpp <span style='color:#111;'> 4.44KB </span>","children":null,"spread":false},{"title":"volume.cpp <span style='color:#111;'> 24.81KB </span>","children":null,"spread":false},{"title":"resource.h <span style='color:#111;'> 2.76KB </span>","children":null,"spread":false},{"title":"transfuncwin.cpp <span style='color:#111;'> 7.19KB </span>","children":null,"spread":false},{"title":"ray.cpp <span style='color:#111;'> 11.54KB </span>","children":null,"spread":false},{"title":"transfunc.cpp <span style='color:#111;'> 1.93KB </span>","children":null,"spread":false},{"title":"CreateVolDat.cpp <span style='color:#111;'> 1.83KB </span>","children":null,"spread":false},{"title":"CreateVolDat.h <span style='color:#111;'> 695B </span>","children":null,"spread":false},{"title":"vecmath.cpp <span style='color:#111;'> 5.97KB </span>","children":null,"spread":false},{"title":"tfvolume.h <span style='color:#111;'> 706B </span>","children":null,"spread":false},{"title":"vecmath.h <span style='color:#111;'> 1.72KB </span>","children":null,"spread":false},{"title":"transfuncwin.h <span style='color:#111;'> 1.42KB </span>","children":null,"spread":false}],"spread":false},{"title":"stdafx.h <span style='color:#111;'> 1.81KB </span>","children":null,"spread":false},{"title":"RayCasting_work2.rc <span style='color:#111;'> 4.77KB </span>","children":null,"spread":false},{"title":"RayCasting_work2Dlg.h <span style='color:#111;'> 843B </span>","children":null,"spread":false},{"title":"RayCasting_work2.vcproj.Wang-PC.Wang.user <span style='color:#111;'> 1.38KB </span>","children":null,"spread":false},{"title":"targetver.h <span style='color:#111;'> 1.01KB </span>","children":null,"spread":false},{"title":"OpenGL.cpp <span style='color:#111;'> 4.20KB </span>","children":null,"spread":false},{"title":"RayCasting_work2.cpp <span style='color:#111;'> 1.74KB </span>","children":null,"spread":false},{"title":"resource.h <span style='color:#111;'> 734B </span>","children":null,"spread":false},{"title":"RayCasting_work2.aps <span style='color:#111;'> 56.77KB </span>","children":null,"spread":false},{"title":"vol3.dat <span style='color:#111;'> 4.00MB </span>","children":null,"spread":false},{"title":"RayCasting_work2.vcproj <span style='color:#111;'> 7.50KB </span>","children":null,"spread":false},{"title":"RayCasting_work2Dlg.cpp <span style='color:#111;'> 3.50KB </span>","children":null,"spread":false},{"title":"ReadMe.txt <span style='color:#111;'> 2.86KB </span>","children":null,"spread":false}],"spread":false}],"spread":true}],"spread":true}]

评论信息

  • qq_34249293 :
    很好,能运行成功,但是代码还没有看懂,继续加油
    2016-11-27
  • wobuduoshuo :
    很好的代码,学习了!
    2016-03-13
  • yanluoluo :
    代码很不错,学习了
    2015-08-17
  • 点点麻 :
    程序很不错,对初学体绘制有帮助
    2015-08-11
  • autumn0207 :
    写的真的还不错!
    2015-05-01

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明