电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

光线追踪实验报告

光线追踪实验报告_第1页
1/7
光线追踪实验报告_第2页
2/7
光线追踪实验报告_第3页
3/7
Ray Tracer---光线跟踪 实验报告 711064XX XXX 一、 实验目的 在计算机图形学课程作业中,题目要求是做 Ray Tracing 或 碰撞检测, 其中对 Ray Tracing 的要求是: (1) 多种形状物体,Ball, box 等 (2) 包含多种材质物体:纯镜面反射、透明物体、纯漫反射、半透明物体等 (3) Moving in a 3D world (4) environment texture 二、 实验原理 在这次实验中,使用了真正的光线跟踪算法,而不是采用环境纹理来反映周围环境。 1、 光线跟踪简介 光线跟踪是一种真实地显示物体的方法,该方法由 Appel在 1968年提出为了生成在三维计算机图形环境中的可见图像,光线跟踪是一个比光线投射或者扫描线渲染更加逼真的实现方法。这种方法通过逆向跟踪与假象的照相机镜头相交的光路进行工作,由于大量的类似光线横穿场景,所以从照相机角度看到的场景可见信息以及软件特定的光照条件,就可以构建起来。当光线与场景中的物体或者媒介相交的时候计算光线的反射、折射以及吸收。由于一个光源发射出的光线的绝大部分不会在观察者看到的光线中占很大比例,这些光线大部分经过多次反射逐渐消失或者至无限小,所以对于构建可见信息来说,逆向跟踪光线要比真实地模拟光线相互作用的效率要高很多倍。计算机模拟程序从光源发出的光线开始查询与观察点相交的光线从执行与获得正确的图像来说是不现实的。 2、 经典光线跟踪算法 对图像中的每一个像素 { 创建从视点通过该像素的光线 初始化 最近 T 为 无限大,最近物体 为 空值 由以上经典的光线追踪算法可以发现,在此算法中,环境中的物体等模型,并不是一次性的画好的,而是对整个场景一个像素一个像素的画上去的,光线跟踪算法中的每一根光线要与场景中的每一个物体所含的每一个面求交。 三、 光线跟踪算法实现 1、 计算观察光线 首先需要确定光线的数学表达式。一条光线实际上只是一个起点和一个传播方向,假设起点为 O(x1,y1,z1),屏幕上一点为 D(x2,y2,z2),则光线的方向 dir(x3,y3,z3)为: dir=O – D; 即 在程序中,光线的起点定义为: 方向为: 由此可以确定一条光线 对场景中的每一个物体 { 如果光线与物体相交 { 如果交点处的 t 比 最近 T 小 { 设置 最近 T 为焦点的 t 值 设置 最近物体 为该物体 } } } 如果 最近物体 为 空值{ 用背景色填充该像素 } 否则 { 对每个光源射出一条光线来检测是否处在...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

光线追踪实验报告

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部