2020天津大学博士复试基础测试面试
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
光线穿过玻璃球,被认为是透射光线。 为了计算透射方向,需要在知道击中点的法 线,主射线方向和材料的折射率。
计算过程
光线跟踪(Ray-trace)是一种真实感地显示物体的方法。光线跟踪 方法沿着到达视点的光线的相反方向跟踪,经过屏幕上每一像素, 找 的出所与有视的线光所源交,的从物 而体算表出面P0点点上P0精,确并的继光续照跟强踪度,。找出影响P0点光强
if(RayHit(start,direction,&hitPoint,&hitObject)=Nothing) *color=BackGround;
else { Shade(hitObject,hitPoint,&localColor); CalculateReflection(hitObject,hitPoint,direction,&rDirection); CalculateTransmmission(hitObject,hitPoint,direction,&tDirection); TraceRay(hitPoint,rDirection,depth+1,&rColor); TraceRay(hitPoint,tDirection,depth+1,&tColor); CombineColor(localColor,rColor,hitObject.ks,tColor, hitObject.kt,color);
✓ 能够完成影子的显示。 ✓ 算法具有并行性质:每条光线的处理过程
相同,结果彼此独立,因此可以大并行处 理的硬件上快速实现光线跟踪算法。
光线跟踪算法的缺点是计算量非 常大,因此,显示速度极慢。
第 17 页
天津大学2020计算机科学与技术博士复试
请各位老师批评指正!
考生:罗冰 报考导师:徐庆
IG Ir
源自文库
N
1
I V
1
Pi
2
It
2
算法递归结束条件
与光线背离 逃离场景 光线贡献:光线的贡献衰减到足够小时 递归深度:在光线弹射一定次数后停止
V
B A
P
C D
E
算法描述
Void TraceRay(start,direction,depth,color) {
if (depth>MaxDepth) *color=Black; else {
✓ Ir沿着主光线在Pi点射回光强主要由Pi 点的镜面反射系数所控制,强度为 Wp× Ir。
✓ It在Pi处射出的光强主要由Pi点的投射 系数所控制,强度为Tp× It。
综合起来,PI处沿视线方向V射去的光强I为:
I = IG + Wp× Ir + Tp× It
其中,Wp为Pi处的镜面反射系数,Tp为Pi处的透射系数。
理论基础
光与物体的关系
没有光线,我们都看不到周围的物体。 周围环境中没有物体,我们看不到光。
反向光线追踪
光线照到一个物体时,我们可以通过将另一条光线(称为光线或阴影光线)从击中点投射到场景的 光线,得到它所接受到的光子数量。这个“光线”有的时候会被另一个物体阻挡,这意味着我们原 来的撞击点在阴影中,没有获得任何照明。
理论基础
物体的颜色和亮度
光由光子(电磁粒子)组成,光子由各种光源发射。当一组光子撞击一个物体时,可能发 生三种情况:被吸收,反射或透射。
白光由“红”、“蓝”、“绿”三种颜色光子组成。 物体的颜色和亮度主要是光线与物体材质相互作用的结果。 人能够看到物体,是因为物体反射的一些光子向我们传播,并击中了我们的眼睛。
光线跟踪算法原理
从交叉点向光线投射阴影射线,如果这条特定的光线在通往光源的路 上与另一个物体相交,则该物体在其上投下阴影。
光线跟踪算法原理
最后,对每个像素重复上述操作,就可以获得三维场景的二维表示。
加入反射和折射渲染效果
➢ 计算反射: 一旦获得了反射方向,就朝这个方向发
射新的光线。 ➢ 计算折射:
P0
P1
P2
P3
光线跟踪树
P2 P0
P3 P1
光线跟踪示意图
V Screen
计算过程
计算公式
✓ 对于树上任一结点Pi所受到的光照,包 括:漫射光源Ipd、直射光源Ips、透射 光源Ipb,左儿子结点传来的光强Ir(反 射跟踪线传来的光强),右儿子结点 传来的光强It(透视跟踪线传来的光强)
✓ 设前三种光源(Ipd、Ips、Ipb)使得Pi 沿着主光线射回的光强为IG。
} } }
应用领域
光线追踪应用在图形渲染中: 光线追踪应用在物理学中:计算光束在介质中
传播的情况 电影及游戏制作:构建精美的3D场景 建筑设计 照明设计
总结
光线跟踪算法优点
VS
光线跟踪算法缺点
✓ 算法不仅考虑到光源的光照,而且考虑到 场景中各物体之间彼此反射的影响,显示 效果十分逼真。
P0
P
视 点
Screen
P2 P1
计算过程
计算视线V与各平面的交点。以z值最小的交点为可见交点P0。视线V在P0处产生反射和透射, 所产生的反射线和透视线作为新的视线与各平面求交,新的交点P1、P2,并分别产生新的反射 线和透视线,……。这样不断递归,直至所产生的视线射出场景。结果是得到视线跟踪轨迹上 的一系列交点:P0、P1、P2、…、Pn。这个过程可以表示为一棵光线跟踪树。
光线跟踪算法
目录
CONTENTS
光线跟踪算法原理 理论基础
应用领域
总结
理论基础
三维场景中创建图像
第一步:透视投影:这是将三维物体的形状投影到图像表面上的几何过程,这一步只需要 连接从对象特征到眼睛之间的线,然后在画布上绘制这些投影线与图像平面相交的轮廓。
第二步:添加颜色:图像轮廓绘制好之后,给它的骨架添加颜色,这样就完成了三维场景 中的图像创建过程。
光线跟踪算法原理
通过追踪从眼睛到像素中心线获得的主光线投射到场景中, 检查场景中的每个对象,看它是否与其中的任何一个相交。 当发生主射线与多个对象相交的情况时,我们选择交点离眼 睛最近的物体。
从交叉点向光线投射阴影射线,如果这条特定的光线在通往 光源的路上不与某个物体相交,那么这个点就被照亮了。
计算过程
光线跟踪(Ray-trace)是一种真实感地显示物体的方法。光线跟踪 方法沿着到达视点的光线的相反方向跟踪,经过屏幕上每一像素, 找 的出所与有视的线光所源交,的从物 而体算表出面P0点点上P0精,确并的继光续照跟强踪度,。找出影响P0点光强
if(RayHit(start,direction,&hitPoint,&hitObject)=Nothing) *color=BackGround;
else { Shade(hitObject,hitPoint,&localColor); CalculateReflection(hitObject,hitPoint,direction,&rDirection); CalculateTransmmission(hitObject,hitPoint,direction,&tDirection); TraceRay(hitPoint,rDirection,depth+1,&rColor); TraceRay(hitPoint,tDirection,depth+1,&tColor); CombineColor(localColor,rColor,hitObject.ks,tColor, hitObject.kt,color);
✓ 能够完成影子的显示。 ✓ 算法具有并行性质:每条光线的处理过程
相同,结果彼此独立,因此可以大并行处 理的硬件上快速实现光线跟踪算法。
光线跟踪算法的缺点是计算量非 常大,因此,显示速度极慢。
第 17 页
天津大学2020计算机科学与技术博士复试
请各位老师批评指正!
考生:罗冰 报考导师:徐庆
IG Ir
源自文库
N
1
I V
1
Pi
2
It
2
算法递归结束条件
与光线背离 逃离场景 光线贡献:光线的贡献衰减到足够小时 递归深度:在光线弹射一定次数后停止
V
B A
P
C D
E
算法描述
Void TraceRay(start,direction,depth,color) {
if (depth>MaxDepth) *color=Black; else {
✓ Ir沿着主光线在Pi点射回光强主要由Pi 点的镜面反射系数所控制,强度为 Wp× Ir。
✓ It在Pi处射出的光强主要由Pi点的投射 系数所控制,强度为Tp× It。
综合起来,PI处沿视线方向V射去的光强I为:
I = IG + Wp× Ir + Tp× It
其中,Wp为Pi处的镜面反射系数,Tp为Pi处的透射系数。
理论基础
光与物体的关系
没有光线,我们都看不到周围的物体。 周围环境中没有物体,我们看不到光。
反向光线追踪
光线照到一个物体时,我们可以通过将另一条光线(称为光线或阴影光线)从击中点投射到场景的 光线,得到它所接受到的光子数量。这个“光线”有的时候会被另一个物体阻挡,这意味着我们原 来的撞击点在阴影中,没有获得任何照明。
理论基础
物体的颜色和亮度
光由光子(电磁粒子)组成,光子由各种光源发射。当一组光子撞击一个物体时,可能发 生三种情况:被吸收,反射或透射。
白光由“红”、“蓝”、“绿”三种颜色光子组成。 物体的颜色和亮度主要是光线与物体材质相互作用的结果。 人能够看到物体,是因为物体反射的一些光子向我们传播,并击中了我们的眼睛。
光线跟踪算法原理
从交叉点向光线投射阴影射线,如果这条特定的光线在通往光源的路 上与另一个物体相交,则该物体在其上投下阴影。
光线跟踪算法原理
最后,对每个像素重复上述操作,就可以获得三维场景的二维表示。
加入反射和折射渲染效果
➢ 计算反射: 一旦获得了反射方向,就朝这个方向发
射新的光线。 ➢ 计算折射:
P0
P1
P2
P3
光线跟踪树
P2 P0
P3 P1
光线跟踪示意图
V Screen
计算过程
计算公式
✓ 对于树上任一结点Pi所受到的光照,包 括:漫射光源Ipd、直射光源Ips、透射 光源Ipb,左儿子结点传来的光强Ir(反 射跟踪线传来的光强),右儿子结点 传来的光强It(透视跟踪线传来的光强)
✓ 设前三种光源(Ipd、Ips、Ipb)使得Pi 沿着主光线射回的光强为IG。
} } }
应用领域
光线追踪应用在图形渲染中: 光线追踪应用在物理学中:计算光束在介质中
传播的情况 电影及游戏制作:构建精美的3D场景 建筑设计 照明设计
总结
光线跟踪算法优点
VS
光线跟踪算法缺点
✓ 算法不仅考虑到光源的光照,而且考虑到 场景中各物体之间彼此反射的影响,显示 效果十分逼真。
P0
P
视 点
Screen
P2 P1
计算过程
计算视线V与各平面的交点。以z值最小的交点为可见交点P0。视线V在P0处产生反射和透射, 所产生的反射线和透视线作为新的视线与各平面求交,新的交点P1、P2,并分别产生新的反射 线和透视线,……。这样不断递归,直至所产生的视线射出场景。结果是得到视线跟踪轨迹上 的一系列交点:P0、P1、P2、…、Pn。这个过程可以表示为一棵光线跟踪树。
光线跟踪算法
目录
CONTENTS
光线跟踪算法原理 理论基础
应用领域
总结
理论基础
三维场景中创建图像
第一步:透视投影:这是将三维物体的形状投影到图像表面上的几何过程,这一步只需要 连接从对象特征到眼睛之间的线,然后在画布上绘制这些投影线与图像平面相交的轮廓。
第二步:添加颜色:图像轮廓绘制好之后,给它的骨架添加颜色,这样就完成了三维场景 中的图像创建过程。
光线跟踪算法原理
通过追踪从眼睛到像素中心线获得的主光线投射到场景中, 检查场景中的每个对象,看它是否与其中的任何一个相交。 当发生主射线与多个对象相交的情况时,我们选择交点离眼 睛最近的物体。
从交叉点向光线投射阴影射线,如果这条特定的光线在通往 光源的路上不与某个物体相交,那么这个点就被照亮了。