GAMES 图形学系列笔记(二十一)

GAMES101-现代计算机图形学入门-闫令琪 - P18:Lecture 18 Advanced Topics in Rendering - GAMES-Webinar - BV1X7411F744

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

亲爱的各位同学们,大家好,欢迎来到咱们这个这个现代计算机图形学入门的第18节课啊,很快就要结束了啊,然后这个剩下来几节课呢就是相对轻松愉快啊。

特别这节课这节课讲的东西虽然是所谓advanced topics对吧,然后这个对对这个其实挺容易,因为我们只会说一些大概的内容哈,那咱们就从呃这个呃老安排开始,我们先说一说这有几个事儿啊,简单提一下。

一个是作业期啊,作业期现在我们的助教同学正在这个辛苦的这个工作中,因为作业期以前不存在嘛,然后我们家的一个作业期用来做呃路径追踪的,然后路径追踪这一块呢嗯嗯涉及到这个实现起来,这个要实现整个框架。

然后要把这个呃让大家写的代码,然后去掉,然后这个在调试弄好事情挺多的,以及涉及到文档注释对吧,然后大家理解一下,现在稍微晚了一点,然后我们尽量今天能够发布,不行的话,咱们稍微晚一点好吧,呃那做演戏呃。

然后呢这个呃我们说一说大作业对吧,大作业呢我们现在安排了一个时间,什么时间呢,嗯也就是说下周二也是14号,14号会给大家放出这个大作业的一些参考的想法,就是大家不知道做什么就可以从里面参考。

没有问题好吧,嗯然后这个是这么安排的,然后大家之后会有几天时间去思考啊,我到底要做什么,确定下来有那么几天好吧,然后这这几天时间呢大家思考一下,就是说呃呃欢迎大家联系我或者是助教问一问。

比如说我有个其他什么想法,我觉得挺好的,然后能不能作为大作业呃,这个这个欢迎咨询啊,没问题,到19号咱们把事情定下来,然后大家提交一份这个呃所谓proposal啊,其实就是告诉助教们,你准备做什么。

大概是这个意思,然后到了5月5号,大家发现中间时间挺长的,然后得有两周半的时间,然后呃大家可以开始做这个作业,然后做完了之后到那个时候来提交好吧,然后这么个安排法啊,然后呢有一点注意事项啊。

就是说嗯首先如果大家要选题的话,如果从我们给定的这个这个呃一些想法中间选没问题,那如果大家要自己提,一定记得哈,他得是一个图形学的这个题目,它不能是这个比如说这个人机交互的,或者是这个呃呃这什么啊。

这计算机视觉的哈,这就不算是咱们的这个图形学的范畴了啊,然后啊大作业呢以个人为单位自己完成啊,我们不组队,然后这是因为这个现在组队也不方便,就大家自己来做好吧,呃ok大概就是个这么个安排法。

咱们的大作业啊之后可能会调整啊,但是基本就是这些啊,好然后呢咱们今天会讲些什么呢,今天会讲这个高级的光线传播和材质,其实说高级啊不一定多么高级,它不一定比这个所谓什么pass string啊要难。

只是说呢这块我们在这个呃基础图形学入门里面呢,咱们就不再多说这些这些话题,大家是有办法自己来掌握这些的好吧,所以我们管它叫做提高啊,其实并不是说他们有多难,另外一点呢嗯挺多。

然后呢我会这个就以最最主要的思想来说,把这个思想大概大概思路说清楚就差不多了,然后不会提到各种各样的技术细节,所以这次基本上不涉及到什么数学啊,什么东西的啊,然后很简单嗯,大家就听一听。

这节课就当10万个为什么啊,就是这个意思好啊,当然了,欢迎大家踊跃提问哈,我就在说的过程中应该会非常快,然后今天然后如果大家提问中间我要想办法停下来回头看啊,咱们这节课就这么安排。

那么咱们就先从高级的光线传播开始来说,那么高级光线传播,我们这次主要说什么呢,首先我们说一下这个这种无偏的光线传播方法,至于什么是有偏,什么是无偏,咱们待会儿再说啊,无偏的里面的代表这个双向路径追踪。

以及这个metropolis光线传播好吧,然后呃涉及到有片的方法,我们会提到光子映射ptmap啊,然后和呃呃所谓v cm这个vertex connection merging。

这个结合方法结合了光子映射和和双向路径追踪,我们简单提一下,然后我们会提一个这个另外的方法,这个方法叫实时辐射度算法,其实相当于是把这个呃把这个呃间接光可表示成很多很小的光源啊,反正再说。

那么我们以这个呃框架来进行,那咱们先说一个最重要的事情在这儿已经出现了对吧,什么是有偏的ambiased,呃,不不不,什么是无偏的ambiased,以及有偏的biased,这个是什么意思呢。

这就涉及到了我们做这个光线追踪,很多方法不管用什么都是在用这个蒙特卡罗的这个估计,蒙特卡罗的估计呢它是有嗯这个性质的,就是说啊蒙特卡罗的估计方法有一些我们管它叫无偏的,什么叫无偏的呢。

就是说我们的蒙特卡罗的这个呃估计出来的那个那个结果,如果永远他的期望永远都是对的,就不管你用多少个这个样本,他的期望永远都是我们要的那个真实值,那我们就管这个方法叫做无偏的,那那这个是怎么理解呢。

就是说我之前想啊路径追踪,大家还记得吧,比如说路径追踪,咱们之前提出蒙特卡罗方法怎么去解一个这个积分对吧,我解个积分,我可以用不同的数字,这个不同数量的这个样本,但我不管用多少个数量的样本。

他们的期望最后得出来对吧,得出来的这个估计值,它的期望永远都是这个真实的,这个我们叫做定积分的值对吧,这样想就是说我们会得到一个这个无偏的估计,嗯,那么相应的什么是有偏的,所有其他情况就都是有偏的了。

就是说啊我的这个如果我的估计出来的值,它的这个期望,他的期望和我最后要的值它不一样,这种就叫有偏的,然后这个先先跟大家说一说,待会儿大家就会看到它的一个应用啊,然后在有片的这一个系列里面呢。

嗯还有一个特殊情况,什么特殊情况呢,就是说啊虽然来说呃我这个取多少个样本嗯,这个他最后得到的结果都是有偏的,但是呢在一个极限的定义下,就如果我用的样本足够多,多到这个无穷多,而这种情况下。

我得到的这个期望值会收到正确值,如果是这种情况,那当然还是有偏的对吧,但是我们对于这种情况,我们管它叫这个一致的,就是consistent,是这么一个情况,所以这里呢先说几个概念,这里大家肯定不明白啊。

没有关系,但是马上这个咱们去找一个例子看就知道了好吧,那也就是说我们返回头来说这个事情是为了说什么呢,说我们对一个这个比如一个积分的近似啊,它有可能是这个有偏的,有可能是无偏的啊,就是这么个意思。

然后反映在我们的渲染里面到底是怎么回事对吧,我们回头回头会看这一眼,然后我们说到光子映射的时候提这个事情好,那咱们从第一个这个方法来看啊,嗯这个呃双向路径追踪啊,那咱们说这个双向路径追踪是什么意思。

那这个顾名思义对吧,从字面上来看,那我们之前说路径追踪是从哪儿打的这个路径啊,从哪开始的路径啊,还记得吧,咱们利用这个光路可逆性,我们是从这个相机开始了呃,路径追踪产生一条这个路径,最后连接相机和光源。

对不对,然后呃这是我们之前产生的一条路径,诶,现在来说就是说嗯对于双向路径追踪来说,就把这个概念给拓展一下,怎么拓展呢,它会生成两个不同的所谓半路径或者子路径啊,然后这个怎么说呢,就是说大家看这幅图。

从光源呢我打出一些所谓light sub pass,就是就是这个从光源出发的这个半路径,然后呢我从这个呃这个摄像机出发,我可以生成另外一系列的半路径,然后这个双向路径追踪做一个什么事情呢。

把这个这个半路径的端点给连起来啊,这个就形成了一条整个路径了,没问题吧,这个思想是非常简单的,对不对,但是实现起来是非常非常困难的,不过呢这个双向路径追踪啊,它在有些条件下效果非常好。

比如说大家看这两个对比哈,左边呢是用的路径追踪,右边用的是双向的路径直走,大家就会发现,而右边双向路径追踪和这个左边的单向的路径追踪,都用这个每个像素32个样本。

但是我会发现哦这个双向路径追踪效果这么好,然后这个单向路径追踪效果这么差,为什么呢,这是因为啊我们这个光线追踪呃这一块儿,如果我想找到一条这个带有大量能量的这个这个路径哈,这个对于这个场景来说不太容易。

为什么,如果我们做这个呃,做一点点分析,我就知道大家看啊,这个场景有一个很明显的和这个其他场景能够区分开的一个性质哈,就是它有一个光源,光源往哪打,就往上面这一个角落打。

那么整个一个场景其实都是被间接光所照亮的,没错吧,就是光源啊,从这出发打到这个天花板,然后弹到哪儿,再谈到大家眼睛里,对不对,这样想哎,也就是说对于这种情况,如果我们做路径追踪的话,咱们从摄像机出版诶。

摄像机,然后打到什么地方呢,比如打到这个地方,打到这个地方,我们知道这里是一个这个漫反射的表面对吧,那所以说这下一次弹射它有可能被弹到哪儿去呢,谈到这儿去,谈到这儿去呢,他就接收不到这么强的光。

那只有说在这一点的时候,他谈到了这里这一个小的区域,它才会形成一个这个一个找到一个pass,这条pass带的能量会比较多,就是这种情况就是很多情况下。

因为你的这个这个pass tracing里面的第一个bce是def,导致你不好控制它能够达到之后之后能量集中的区域去,然后就会出现这个问题,那也就是说当光线传播在这个光源这半边,这个比较容易算的时候。

那这个b d p t就是双向路径追踪,就效果会很好对吧,像这种情况,那如果双向,那我从光源出发,我先打一个这个嗯,第一条光线对吧,那他肯定都会集中在这,然后我这边呢如果我在用这个呃。

这个从相机触发再打出来一堆光线,再把它们光线的端点连起来诶那我就会发现基本找到的都是很合理的,这些路径对吧,那也就是说这种情况下很适合bdp t,咱们把这个呃它适合的情况说明白就好了好吧。

然后呢b d p d大家千万不要小看,实现它的难度非常不容易啊,然后就是说这个想做对挺难的,然后如果如果你能把这个做对,基本上来说自己开发渲染器应该是没有任何问题啊,就是这个意思。

然后嗯b d p t呢另外一点是它相对来说比较慢啊,虽然来说大家看到这个都是32个这个样本,每个像素32个样本啊,但是这两个月的运行速度肯定是不一样的,就是b d p t肯定运行的要稍微慢一些。

而且甚至其实会慢很多,这是他的问题,好吧,咱们把这个好处坏处咱们都说清楚,ok啊b d p t说完了,咱们再说另外一个无偏的估计叫做这个metropolis,光线传播,我见过一个很扯的翻译哈。

大家把这个这个有人把这个metropolis直接这个字面意思翻译成大都市,然后把它管它叫大都市光影传播啊,和这个毫无关系,还是按人名命名的哈,这个metropolis like transport啊。

这个意思好,那么chocolate他的思想是什么呢,他的思想是这个用用一个这个统计学上一个采样的工具,就是这种工具能够帮你采样啊,然后这个工具名字叫什么,叫马尔可夫链,马尔可夫链mark chain啊。

然后这个马尔可夫链其实说白了非常简单的,它的这个意思啊,就相当于我当前有一个样本对吧,马尔可夫链可以告诉我哦,我根据当前这个样本,我可以生成一个跟他靠近的下一个样本啊,就这个意思,那咱们想象一下。

这种蒙特卡罗就不一样了,还记得之前积分吗,在a和b之间对吧,一均等概率选一个,那么我每次选的我跟上一个选的毫无关系,对不对,这里呢这个马尔可夫链的方法就是说我当前有一个样本。

然后我在它周围我可以生成一个新样本,然后我在这个这个去估计,用这些样本来估计我的这个函数的值,它有一个什么好处,这个我说明白就是说啊那他可以做到就给定足够的时间。

这个马尔可夫链蒙特卡罗方法可以生成一一系列,以任意的函数为这个形状的呃,这个这个样本呃,这样说不对哈,以任意的函数的形状为pdf生成的样本,那咱们之前说过说我这个呃蒙特卡罗方法诶。

我可以用任意的pdf来采样一个函数,但是我们并没有说用什么样的形状,用什么样的pdf采用了一个函数是最合适的,那我现在可以告诉大家,当你采样的pdf和这个和这个你要采样的这个函数和和和。

和你要积分的那个函数,就是fx和px他俩形状一致的时候,这时候是这个呃所谓得到的variance是最小的,那么这个马尔可夫链的办法能够让你任何的你未知的函数啊。

你都可以通过这个马尔可夫链的方法生成一系列的这些样本,使得这些样本的分布它就是和这个和这个这个被积函数它的形状一致,诶,这就非常好了对吧,那不管怎么样,这是统计学上的一个概念,咱们先跳出来啊。

就是说这个metropolis的光线传播方法用的是这个知识,那咱们想啊,既然是有一个样本,它可以变出更多的样本来,那反映在咱们的这个这个这个呃采样,或者说我们产生路径这么一个事情上。

那就是说啊在这个一个给你已经有一个路径的情况下,你可以产生它周围更多的跟它相似的路径,也就是说它是一个局部的方法,给你任何一条路径,它可以生成和这个路径相似的路径,那么咱们看一看这个是什么意思呢。

比如说啊大家看到有一条这个呃蓝色的这条光,这条光光度啊,pass已经找到了,那么他现在呢对这个公路呢做一些微小的扰动,就是改变一下他这些这个点上的这些各个的这个这个焦点啊,上面的这些位置稍微动一动。

它就可以形成一条新的这个路径,对不对,诶,这这就跟之前这个马尔可夫链做法完全一样啊,就是给你一个样本,在这周围怎么样找出一个新样本来诶,他就可以不断的通过这个这个在他周围产生新的样本的方法。

我们通过这种方法在周围在一个pass周围产生更多的pass,这样这可不可不就最后我就把整个的所有pass都给找到了,是这个意思对吧,那这样想这就是这个metropolis的方法好吧。

那么那trouble is的方法呢,这个这个当然在很多情况下,然后他其实效果是不错的,比如说咱们看这个对比,咱们刚刚说过双向的路径追踪,然后再对比一下这个rol,我们会发现哦,在这两种情况下。

我是布鲁斯效果非常好,为什么呢,这个metropolis方法特别适合做呃,什么呢,特别适合做这个复杂的或者困难的这种光路的传播,为什么呢,因为它这个你只要能找到其中一条作为种子,对不对。

然后在它周围这个这个就可以不断找到更多,那像这种情况,为什么我们说这两个场景稍微难一点啊,大家看到这个场景了,它半开着的门对吧,那光源或或者是光线啊,完全都从这个门这个挡住的这一小块区域进来。

也就是说这一小块才是直接被照亮的,其他所有东西都是间接被照亮,是不是很像之前我们说那个那个呃双向盘呃,双向这个这个光线追踪呃,路径追踪的那个一个场景对吧,这种情况就是相对比较难啊,越南的场景mt呃。

就是什么chocolate方法做的越好,然后像这种情况呢,这个这个更神奇啊,这种大家如果夏天去游泳池是一定可以看到这个效果什么呢,就看到游泳池底下会有一些这种波纹的这种形状啊,这是怎么回事呢。

这种东西啊叫做costics costx,也就是说这个是光线经过聚焦打在这个游泳池底,然后被你看见这么一个事情,那大家想象一下光线怎么样聚焦和光线要穿过这个水的表面,凹凸不平的对吧,它有浪对吧。

然后穿过这个表面有一些光就会被就类似于这个棱镜这种感觉啊,就会被聚焦到一系列的地方,然后这个水面呢正好他有办法把这个光聚焦在一系列的线上,所以你就看出来是游泳池地都是先是这种情况下非常困难非常困难。

这种这种渲染起来非常困难,为什么呢,因为你不管怎么样,你的游泳池底假设是def,然后呢,那这样的话你这个光线是不是得先经过一个specular的这个水面,对水面肯定是specular的对吧。

它是这个折射的specular,那么我这个这个使用之底的这个东西被我看见,是不是他也得经过一个这个呃这个水的表面,那也就相当于是我从那个嗯呃眼睛出发,或者说这个从上摄像机出发啊。

我要先经过一个specular,这个是水面啊,然后defuse这水底,然后specular又是水面,然后再到这个公园,这种路径我们简写管它叫sbs,也就是specular defuse。

specular path,这种非常非常困难对吧,大家这个这个嗯完全可以这个画一画,比如说大家画一条这个路径啊,就做路径追踪,为什么路径追踪解这个这种呃pass非常非常困难呢。

是因为当你的路径打到这个水底的时候,它才产生了一个defuse defuse,你可根本不知道王勃他会往哪去啊,但它只有达到很少的一部分的地方的话,才可以和这个在水面上和光源连线形成一条有效的这个光路。

那也就是说这种s b s pass是非常难的,但是只要你能找到一些这些这些ml t呢,它就有办法在周围能够找到更多,那效果就会很好好吧,那是它的好处,那咱们再多说一下它的坏处呢对吧。

任何一个方法不可能只有好处,那他的方法方法坏处就是这样,就是我们roblox方法很难在理论上分析他的这个呃,就是就是它最后会收敛的这样一个速度,这个我不知道,就是说我我比如说我给你一幅图。

我渲染多长时间之后,他大概会收敛呢,如果我用pass string,我大概是有一个这个估计的对,因为我知道这个他会以一个什么样的这个速度去收敛,虽然咱们没没提这个事情啊,就是说这个莫纳卡罗方法。

简单的莫纳卡罗方法是可以分析他的这个呃这个variance,然后就是说如果我要这个提高一倍的这个sample的数量,是不是能够降低一倍的,这个various是有这么一系列的关系啊。

然后就是说嗯metropolis里面呢很难很难估计这么一个关系,所以你不知道他什么时候这个受理,那或者说什么时候变成没有噪声的,那这种情况下呢,我放在那一天,一天够不够,不知道对吧,就会出现这种情况。

那那同样道理,它还有一个问题,那就是说它所有操作都是局部的,所有操作都是局部的,就意味着说我每个像素我自己做自己的,然后一点关系也没有对吧,然后这样的话有一些像素他收敛的快,有一些像素收敛的慢。

然后得到的结果就是图像正常看上去都比较脏,就像是下面这幅图,大家看到的这个情况啊,大家会看到这上面有很多这种这种一道儿一道儿这么讲,像像这个金属的这块对吧,这块有很多各种各样的点。

以及这个墙缝里面各个墙缝基本其实都不太能看啊,基本来说就是会出现这种情况,就是它得出来的结果会很脏,所以说所以说考虑到这些呢,还得出另外一个结论,那就是你根本不知道这一张图什么时候收敛。

那更不可能作为这个一个渲染动画的方法了,那如果大家用它的渲染渲染动画的话,就会出现很严重的问题,就是说上一帧跟这一帧他们两个各自有一些地方收敛了,有些地方没收敛,那看上去就是图像就抖得非常厉害,明白吧。

就这么一个概念,那所以它当然有它的问题,好吧,好处坏处咱们都说清楚,这就是metropolis光线传播啊,好啊,那咱们下面再提另外一个这个方法,叫做这个光子映射,光子映射呢我们刚才说这是一个有偏的估计。

那么它能干什么是吧,它能干什么,大家可以看到这个它特别特别适合用来渲染所谓的cost,好吧,这个costics大家可以看是什么,无非就是相当于是这一系列的光经过聚焦之后,大家猜啊。

这个左上角应该有一个光源打到这么一个复杂的物体上,然后经过折射出来之后,很多光会聚焦在某些地方对吧,然后至于有颜色没颜色是涉及到色彩,这个问题不大哈,比如说像这里这个类似戒指的东西啊。

如果有光从右上方打到这个内壁上,那么它的内壁大家看这个示意图就知道了,会把光给反射到这个地板上,所以就会形成一个新型的形状啊,这个是是非常非常常见的,大家平常在餐馆吃饭啊,平常都是可以直接看不着啊。

然后这种东西就叫costics,所谓costics,那咱们已经解释了,就是由于光线的聚焦,产生了一系列非常强的这种这个图案,这种就叫costics,所以说再次提一下啊,我我始终对这个国内的翻译耿耿于怀。

这个costcs国内翻译成焦散是绝对不合适的一个一个翻译,这个这个是只有聚焦,并没有任何这个发散这么一个概念在里面啊,嗯所以说这个我们就只管它念costx了啊,那么刚才我们说这个costx呢。

它适合那么photo mapping或者说光子映射还适合做什么呢,还适合咱们刚才说的很困难的这个这个呃这种反射呃,这种这种路径啊,叫做s d s就是光线会穿过一个spark再达到dps。

再达到sper上,这种是非常非常困难的,那么光子映射是怎么做的呢,光子映射就是说这个呃做的事是什么呢,这个是一个两步的做法啊,两步完全分开的两步啊,那么咱们可以看一看。

那这里呢给大家提一种光子映射的实现方法,光子映射的实验方法太多了,就是说这是其中一种啊,然后就是说嗯这个怎么怎么说呢,就是说啊呃光子呃,它光子映射的第一步是从光源出发的,那大家知道哈。

这个光源它是这个无时无刻不在往外辐射光子对吧,咱们可以认为是光线,也可以认为是光子,这个问题不大啊,就是跟正常的光线传播的一个道理,然后呢它会辐射出很多的光子,然后光子呢往各个方向打没问题。

如果碰到什么物体,它该反射,反正是该折射,折射没问题,直到什么时候呢,直到光子达到一个diffuse的物体上好,那就它就停下来啊,当然我们说了,这是其中一种做法啊,简单做法啊。

当光子打到defuse的物体上,光子就停在那里,ok那所以当这一个这一步做完了之后,那我就把所有光子都给整理起来对吧,我就知道这所有光子都在哪里,没问题吧,这是第一步,那么第二步是什么呢。

诶好第二步是我真正从这个眼睛或者是从这个呃摄像机开始,然后我们往各个不同的方向去去,这个呃还是一样打啊,各种各样的这个路径,也就是说打出来一些这个所谓的这个呃subpath,咱们咱们之前说了。

就是从这个camera出发的sub pass对吧,然后呢它这个同样道理,这些sub pass怎么走呢,这个也是该反射反射折射折射指导他们达到这个慢,它射到物体上,就是达到debu物体上。

那大家知道第一步我把所有光子都已经给记录在def物体上了对吧,那第二步我这个我从这个这个视角出发,然后我弹射很多次光线,也把它停在这个debu的视角上,诶那现在我就可以把这两步给合起来,可以做一个计算。

什么计算,我们要计算一个局部的这个这个这个叫什么来着,嗯,这个密度估计听着很难受好吧,不管怎么样,那咱们就管它叫局部的密度估计了好吧。

然后其实这个平常就我们平常说也就说成单词the estimation好吧,然后就是什么叫局部的密度估计呢,那它是建立在一个观察上,什么观察,那当然是你一开始不是说打了一堆光子,光子分布在物体表面了对吧。

然后呢他现在你这又找了一堆这个从这个camera触发了一堆光线,也打在物体表面上,那我现在问,那我看到了这个物体表面哪地方应该亮,哪地方不应当亮呢,那我当然是这个光子这个分布越集中的地方,它就越亮。

那如果光子分布的越不集中,它就越不亮对吧,那所以说我这个当我这个第二趟,我打到了这个各种这个不同的deduce物体表面的时候,我就要做一个所谓局部的这个密度估计,这个密度估计怎么做的呢,它是这么做的。

就是对于任何的一个着色点啊,嗯然后呢我们取它周围的最近的n个光子,那我们知道就是说嗯我知道所有的光子都分布在物体各个表面怎么样,他们位置什么我都知道,哎我现在给你一个点,我要找他周围最近的n个光子。

这是一个什么问题,这是一个nearest neighbor问题对吧,就是相当于这这是经典的算法,这个非常好解,怎么解呢,很简单,然后这样的话呢我可以迅速定位到我这个呃一个着色点周围,它有多少光子。

我们找他最近的一些,这是可以做的,没问题,我可以快速的得到任何一个点周围的n个光子,找到了之后怎么办啊,找到了之后怎么办呢,我就这个找他这个n个光子啊,所占的一个这个这个呃面的面积。

就是比如说像这里画的这个事情啊,大家找到周围的,比如说这是多少,12345个光子啊,找五个光子,这五个光子呢会这个占据这个你所在的这个着色点,它周围的一个面积,这个这个面积有多大啊,这个可以算出来好吧。

那算出来了之后呢,我们要算什么呢,我们要算光子的密度对吧,那所以密度是什么呢,那就是光子的数量n我知道,然后就除以这个他们占的这个面积,那我就知道光子的密度了,诶这个很简单对吧好,那么这样一来呢。

我们就可以这个用这个某一个n啊,我来这个考虑到底我应该能看到什么,但是这里可想而知啊,就是说我要做一个局部的这个光子的密度,那我肯定涉及到我这个n取多少的问题,大家会看到,当然也是可以想象得到。

如果大家用很少的这个光子的数量,就会得到一个很很有噪声的一个图,没问题对吧,就是说我我周围我就取两个光子对吧,我找周围的两个光子,然后这样的话这个噪声不会很大嘛,那我如果说任何一个这个着色点。

我这回找200个光子,那得到的结果是不是就好一些,但是会得到一个什么问题,得到的结果会糊啊,会比较模糊,为什么会这样,这也就是说我们来分析为什么光子映射是一个有偏的方法,为什么呢。

因为我们在做这个密度估计的时候啊,我们想算的这个密度,其实这个密度怎么算,应该是就是怎么算当前这一个点它的密度是多少,也就是说这个当前一个点周围取一个微小的面积da,然后还有里面有多少个这个光子对吧。

然后但我们不是这么算的,我们是给他这个一定光子数算它实际的这个这个面积,在正常情况下,这两个挺接近的对吧,但是这两个绝对不是一回事,就是说它毕竟是一个有限的光子的数量,有限的这个周围的它们覆盖的面积。

那这样的话我就是说啊对这个呃所谓密度的估计,其实是一个不对的估计哈,就是就是这一块就只有当这个dna无限小才是正确的估计对吧,呃然后那这里就不对,但是转念一想就有另外一个问题,那我刚才既然已经提到说。

当这个这个实际的这个覆盖面积足够小的情况下,我们认为它就越来越接近,对对吧,那么什么时候会逐渐会这个这个delta很小,那我们这样想,如果我这个打出1亿个光子,然后我现在改成我打出1000亿个光子。

那有更多的光子被辐射出去,那么如果我在任何一个着色点周围找这个同样数量的,也是找n个光子哈,原本我找100个,我现在还找100个,只不过这时候我找周围临近的100个,他们一定是集就是集中的非常厉害。

所以这100个就一定会覆盖一个更小的区域对吧,因为你总共的这个光子数量多了吧,然后那你我同样在一个点周围找100个,那肯定这这回找的这100个覆盖的这个区域就更小,那这个区域更小。

那这个区域就会更接近他的真实的这个da,那么这里大家看到什么呢,大家就会看到一个这个极限上的概念,当我有足够多的光子的情况下,我这么做就最后能够得到一个这个这个正确的结果。

那么这里就是我们说为什么他是这个consistent,它是一个一致的方法,也就是说当你这个光子这个打出去的足够多的情况下,然后你就会得到正确的结果,但是你只要光子打打出来的不是无限多。

那他得到的结果就一定不是正确的,它多少都会有一点糊,所以说这种这个方法就叫就叫做这个有偏的方法,但是是一致的方法好吧,那这样一说就明白了,那咱们这个再回头来看啊。

这个我们刚才说回头肯定会看这个所谓有片还是五片啊,在渲染里面很好理解什么是有片还是五片,你得到的结果只要他有任何一点的模糊,他得到的结果就是有偏的好吧。

然后然后就是说呃模糊是相比于这个正确的结果相比的哈,就是说这个它有一点模糊得出来的结果就是有偏的,那么什么是一致的,一致的,就是说它虽然是有模糊的,但是我只要这个样本足够多。

我就会最后让他收敛到这个呃这个这个不模糊的结果它就叫一致的啊,这是这么一个意思,那么这个时候肯定之前有同学在问这个问题对吧,我们怎么做的,局部的这个密度估计呢。

哎我们取一个着色点周围n个我固定的这个n找n个,看它覆盖了多大诶,那我能不能取这一个着色点周围,我就取一个面积,比如说这个面积是这个一个平方厘米,我数里面有多少个这个光子,那从理论上来说。

你这样做也可以,但是你这样得到的结果永远都是有偏的,而且是不一致的,为什么呢,因为你不管用多少亿个光子啊,你只要周围确定了一个大小的这个这个范围,这个范围里面你会找到越来越多的光子,对不对。

你这样计算出来得到的结果,你的delta永远不会跟dna相相同,因为你的这个delta不会自己变小,你自己规定的范围这样想,所以这样一来呢,你如果这么做的话。

那它就不再是一个consistent的方法了,好吧,这就是为什么photo mapping会选择说我取临近的多少个光子啊,这么一个意思好,那么photo ming就是这个意思。

那咱们这个顺理成章提到另外一个概念叫做vcm,就是vertex connection and merging,这个vcm呢其实他这个推导理论什么都很复杂,但是他的想法非常简单,就是说它是一个结合体。

它是把这个双向的路径追踪和这个光子映射结合起来啊,那么结合起来他的想法是什么呢,那行啊,就是说如果我们这个呃做这个b d p t啊,那相当于是我这个生成一个这个所谓sup这边一个sub pass。

把端点连起来,不是这么做的吗,就是说如果有的这些pass啊,满足这么一个性质,比如说我们看左边这个pass诶,这个pass和和这个右边这个这个绿色的pass,他们两个最后端点非常接近在同一面上。

那在同一面上,我不可能说我在同一个这个这个点,就比如说我这个x2 啊,我这个不可能这个再弹一次光,这个谈到这个x2 这个星号这个上面去,他们两个在一个在一个局部的这个面里面啊。

然后这种情况下这种呃路径不是我们不要浪费对吧,就是说他这个这个vcm的思想就是这样,这种情况下他就认为哈其中一半过来的就是就类似于光子,这个和光子映射就非常相似了对吧,比如说诶诶诶ok嗯。

就是说认为其中一半过来的这个就不在这个光路了,认为是个光子,然后这种情况下我就用光子映射把这部分的这个呃光路,他们两个sub pass的贡献也给结合在一块。

也相当于是它结合了这个双向的路径追踪和这个光子映射对吧,那两个结合起来呢,那自然就可以这个得到更好的结果,这里不再多说啊,v cm还是应用的挺挺广泛的,其实在这个电影这个这个行业里面。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

有很多这个电影其实是适用这种方法来做的,好吧啊,ok啊,那咱们的这个题另外一种和之前的方法都完全不一样的方法,叫做实时辐射度算法叫i r啊,instant radiosity,然后他这个什么意思呢。

这个有时候啊人们管这种方法叫做many light,这个方法就是很多光源的方法,听上去很土对吧,但是它确实就是这么回事啊,然后什么意思呢,很简单啊,我就是说啊我们之前这个分析这个光线传播的时候。

我们不是提到说,我们其实并不太区分说光线到底反射来的还是自己发出来的对吧,然后就是像这种情况,不管怎么样都是光线对吧,都是radiance,那这样一来的话,这个实时辐辐热度其实也是一直利用这种思想。

怎么说呢,就已经被照亮了的这些念对吧,这些这些地方我都可以认为他们是光源,然后用它们来再照亮别人,哎,这种就是这个这个实时伏热度的这个呃想法,那他怎么做的呢,很简单。

他一开始呢先从这个光源打出很多所谓的light sub pass,大家会发现这种双向的思想到处都是哈,从这个光源打出很多light path,它不会停在某些地方的,好,停在某些地方之后。

我就认为它停住的那些地方就变成了新的光源,看这里这里形成了很多这个这个绿色的这些点,他们是新的公园诶,他们是新的光源,那当我看到比如说这一个点的时候。

我就用所有这些新的光源去照亮这一个我看到的这个着色点诶,这样的话实际上来说不就等于是我考虑了光线弹射,比如两次嘛对吧,比如说这里你会看到这是直接光照,这些是我们新生成这些虚拟的点光源。

也就是vpl对这个点的直接光照而生成这个光源本身,这个之前真正的光源已经经过了若干子弹射,那所以就相当于我用直接光照的方法,我就可以生成这个呃,可以得到这个这个间接光照的结果,唉就非常好对吧。

那所以说总结起来就是相当于是它首先先去生成这一系列的所谓vpl,然后在你这个再去看下这个场景的时候,用这些vpl当光源去照亮你的这个桌子里。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

简单吧,这个思想很简单,然后呢他就有他这个实际应应用起来非常快,然后呢啊就就就就单说这个many light rendering吧,就就不说这个嗯怎么说,就是就是就是一定得是这个vpl好吧。

就是说对于很多光源这种这个研究也是很这个呃,一个很很活跃的一个一个领域,比如说大家看这里,这是一个这个呃也是在一个盒子里面对吧,左边是一堆光源的,看到好多小的光源,右边也是一堆光源。

用这些来照亮这这一系列的物体,还是非常有意思啊,就是说它正常情况下,这是一个这个研研究的比较这个多的一个话题,但它也有问题,什么问题呢,就是说啊这里这个嗯这里这个比如说大家看右边这个渲染。

这个渲染呢就是在用这个vpl来渲染这个场景,这个场景就会出现一个问题,就是说这个有一些地方你会发现莫名其妙的会发光对吧,就是在一些这种这种这个这个窄的这种缝隙啊,这些接接缝啊,这些地方会出问题对吧。

至于这些地方为什么会出问题,我们就不再给大家多说,这里给大家简单提一句,这里和之前咱们推出来的那个距离平方向有关系,还记得咱们在推这个呃light sampling的时候,我们把这个对面积的采样呃。

就是把这个对这个立体角的采样改成了对面积的采样,所以产生了一个这个呃这个面积乘以cosn除以两点之间距离,大家会发现如果两点之间距离会极尽,那会出现什么情况,那就会出现我除以了一个极接近零的数。

得到一个结果就非常大,就会出现这种这种情况好吧,跟这个有关系,我们不多说,那么另外一点vpl不能做这个呃,glossy的物体就是稍微有一点这个经验的这种做不了好吧,那么这里差不多啊。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

这个就是说光线传播方法呃,这个简单给大家这个梳理一遍,大概就是现在这个常用的一些啊,然后我看有同学问问题,说有没有无偏的例子,有啊之间pass string就是b d p t也是啊,ml t也是啊对吧。

然后呃就是这么回事,嗯,好有同学问哦,面积怎么定义,我猜应该是指那个吧,我猜应该是指photo mapping里面的对吧,说你这个找到了一堆光子之后,那这些光子到底覆盖了你这个着色点周围多大的面积对吧。

这块其实是挺那个的,挺这个所谓hack的一个做法啊,他所在的面求一个这个交集,就可以求出来一个橡胶的面,这个面的面积你就可以认为是这样,就是说这块的这个估计有很多各种各样不同的方法。

但是各种各样的近似啊,这样说,然后呢有同学反映说这个i photo mapping,这个是不是相当于是把variance和bias中间做了一个所谓的这个这个,那这个妥协对吧。

要么是更多的variance,就是就是噪声,要么就是更多的8月s就是模糊,对没错,就是这么回事,就是说有时候大家对某一样的这个接触接接受程度稍微高一些,有时候接受程度稍微低一些啊,大概就这么个意思好吧。

诶非常好,那行,那咱们这个哎没有有没有完美的方法,真的没有,目前来说完全没有啊,就是这么回事,目前真的没有什么好的办法可以把所有问题都给解决,那么多说一句,工业界现在在用什么办法啊,让我说清楚。

现在很多做这个这个呃动画呀,电影呀,这些非常厉害的公司到现在还在用pass tracing,因为它是一个这个虽然听上去没有其他东西这么高端,但是他是最可靠的一个啊,那么啊ok那咱们进入第二个话题啊。

我们要说一说这个呃更复杂的这个呃这个外观建模哈,叫appearance modeling,appearance modeling是什么意思呢,咱们之前说过对吧,外观就是材质,材质就是b2 df呃。

如果对于表面模型来说,它就是b2 df,那么咱们这里呢就是简单给大家提一些,这个就是我们课上这个这个比比我们课上说的要更深刻一些的内容哈,就是呃会提一些什么呢,我们会提到一些这个呃非表面的模型。

比如说涉及到这个散射介质,什么叫散射介质对吧,咱们待会儿看,然后我们会提到头发这个动物毛发对吧,这些东西,然后还有一些一粒一粒的沙子这种东西,这种材质这种都和表面无关,然后呢这个还会提到。

当然表面模型也有一些稍微复杂一点的,比如像这种半透明,然后像这个呃像这个布料,然后以及像这个复杂的这种模型,然后呃这个这种这个有有有细节多的模型,然后最后还会给大家提到一些这个所谓呃程序化生成的模型。

好吧,那这些都是什么意思,咱们简单给大家说一说啊,好那么呃ok那咱们先从这个非表面模型开始啊,我觉得已经说的慢了哈,我觉得这个这个够呛,尽量快尽量快,这样这是什么叫这个散射介质或者叫参与戒指啊。

叫participating media,我自己更愿意把它翻译成散射戒指,然后这个呃很好理解,就是像这些雾啊,这些云啊,这些这些材质啊,这些显然他们不是在一个表面上对吧,他们会定义在空间中。

它是这么一个概念,那么咱们怎么理解这种这个散射介质,或者说参与介质呢,很简单,当你一个光在行进的过程中,如果他穿进了一个这个散射戒指啊,想想象你有一根光线穿进了云啊,那么会有若干事情发生。

第一如果这个云中间有光源,它本身会发光,这个咱先不考虑啊,就是说在你这个光线行进的过程中啊,这个云里面有各种各样的晶体,小的这个冰晶对不对,它会把你的光线给随机的给打到其他的方向上去。

就是就是这里画的什么意思啊,从左到右过来诶,打到了一个小冰晶,它会被分散到各个方向去诶,这是非常有可能的,那么同样道理,在你传播的过程中,你也可能接受到从其他的方向散射过来的光对吧。

这个时候这是一对应的,你你可以往外散,你也可以接受到别人往外散,这个这个对这个点的影响对吧,然后呢在这个传播的过程中,当然有一些能量就是在传播的过程中逐渐逐渐逐渐就没了,想一想乌云对吧。

就是这个这个光线传播传不过去,穿不过去,就是相当于各种东西都被吸收了嘛,就是这个意思,那所以说最重要的就是光线在传播过程中会发生两样事情,第一被吸收,第二被散射,就是这个意思。

那么就有同学问怎么产生对吧,是不是说我这个光源往一个方向去,这个这个传播过程中,诶咱们类比一下这个物体的表面,说这个物体这个defuse的话,如果物体表面不是def话,那就不是,那同样道理。

对于参参与介质或者散射介质也是一样,那在任何一个点它都会发生散射,往各个不同的方向散,怎么散,由一个函数来定义,叫做fafunction这个相位函数啊,相位函数,还是说呢我这有一束光从这里打到这个点。

它主要的往背后闪,还是有还是说有一些情况,就是说它主要都向前散,这些就是说我来规定不同的这个散射的方法,这就很像b2 df对吧,它决定了光线如何反射,这就是决定光线如何散射。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

道理就在这儿好,那么这个参与介质很好渲染的,然后怎么渲染呢,很简单,你这个你现在假如说你已经在参与介质中间某个地方了啊,然后你往某一个方向这个去去去走对吧,你把某个方向去走,然后你走走多远走多远。

这个决定说你这个这个戒指它的吸收能力有多强对吧,这是肯定的,就是如果他是个很黑的一些这个乌乌云这种东西对吧,或者有一些像这种薄雾这种东西对吧,那这种情况下就相当于它能穿上的更远,走多远由这个决定。

然后呢这个嗯就是说呃我走多远,停了下来,停了下来之后呢,我就就考虑说我这个时候应该把这个光线往哪儿放下,再重新倒,这就是散射对吧,这散射它就会往另外一个方向去唉道理就在这儿,同样道理呢。

你这你这样不是等于是你可以生成一系列的这些,就好像是这个光在这个呃物体表面做各种各样的弹射,一个道理对吧,只不过这中间这些点任何一个地方都有可能会发生这个方向的改变,但不管怎么样,你找到一个pass。

找到up怎么办呀,和光源各个这个弹射的地方相连,然后来计算它的这个这个整个一个路径的贡献,好吧,说白了就是这个意思,中间有很多的这个呃数学的计算。

然后这个我们这里能考虑的就不再是这个rendering equation了,因为渲染方程告诉我们的,只是说这个光线如何与这个物体表面这些东西作用嗯,不告诉我们和这个体积这些东西怎么作用。

这自然有别的方程来做好吧,但思想是一样的,我产生不同的这个pass就是了,对吧好。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

那么他怎么骗人,当然他得到了一个非常非常这个广泛的应用,这里呢这个超能特工队对吧,然后这里我之前给大家说过对吧,这是一个这个中西的中西哦,这是东西结合的这个城市呃,叫做san franciao嗯。

这是旧金山和东京的结合体,然后各种各样的物哈,整个有很多场景发生在这个夜里,然后各种各样的雾的渲染啊,这是一第二呢,大家看到这里呢是一个这是一个游戏哈,各种各样的烟啊雾啊,就是那个时候产生。

所以说在这个实时渲染里面也有很多很多这种研究,说怎么这个很快的把这个这个这个呃散人戒指的这个效果给渲染出来,对吧这个就很难,然后呃总之人们很聪明和各种各样的这个研究。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

它对吧,这里大家看到另外一种散射介质啊,哎大家说这怎么能是散射介质呢,这不是云或者烟或者雾对吧,才看到一个这个融化了裤子,这个是涉及到这个模拟啊,流体啊这一系列的东西,但是有一点我想跟大家说的事情。

就是说很多材质基本上来说你觉得可能是一个表面的东西,但实际上不是啊,就是说光线是有可能进到这个物体里的,只是进的多还是少,比如说像云什么东西呢,这个光线可以进去的很多,然后有一些东西呢它比较厚。

那那这个呃这个比较厚的话呢就会出问题哦,哦有同学反映说我这个说的不对啊。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

那个那个这个哦好吧,这是自己大家大家自己考证那个游戏叫什么吧,忘了我也忘了啊,行那么这个这也是一种散射介质,然后我想说的事情是什么呢,比如说给大家看一个实验啊,很简单,看哎呦喂闪瞎了啊。

大家看这是不是能看到这个,我用手挡住了这个这个这个这个这个摄像头,但是大家却还能看到光线穿了过去,没错吧,然后大家自己也可以这个用手去挡住这个这个闪光灯哈,然后就会发现就是这个光线啊。

其实它的穿透力很强的,它完全可以穿透人的皮肤,再从其他地方出来,这咱们待会儿就说好吧,所以这个对于这种巧克力这种材质来说,它肯定还是一种散射介质,只不过光线进去不久,进到这个材质里面不久就会消失掉啊。

这个意思好,那么我们现在来提另外一个这个话题啊,就是说这个另外一种材质呃,也是不是定义在物体表面上呃,这是什么材质呢,头发大家知道这个头发这个叫什么来着,他是一根一根的都对吧。

那如果他说他梳理的比较平整好,我们说他在一个表面上还行,那这是正常情况下不能这么假设,有很多头发都是飘出来的对吧,一根一根的,那所以说我们描述一个头发的这个它的光学属性。

我们要考虑光线和一一个这种这种这种曲线如何去作用,它就不再是和一个面如何作用了对吧,是这么这么一个意思,那咱咱们看到这个人的头发很神奇,它会有高光,高光,这个看起来很碎的对吧。

但高光呢大家看到其实有两种不同类型的高光,哪两种呢,大家从这可以看得出来啊,一种这个无色的高光,这种这种这种稍微发白一点的,大家看到没,这是一种无色的高光,另外一种有色的高光。

就是哦这边有一个这个这个图啊,就说唉哟不好意思,就是说啊这个啊有色的高光是怎么回事呢。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

就是这两种高光是怎么形成的呢,对吧,那这样一来啊,我们分析一下这个问题啊,从一开始就是说嗯嗯有人研究头发开始,人们就广泛地采用某一个简单的模型,这个简单的模型是怎么做的呢,就是说我这个有英文光线。

然后打到一个圆柱上,我们刚才说这个头发的模型嘛,我们说成是圆柱,然后光线打到圆柱上呢,它会往四面八方散射,然后对于头发来说,我们把它给这个考虑成什么呢,考虑成会散射出一个圆锥来,就相当于是这样啊。

有一根光纤过来之后,如果它是一个表面,它会往这个方向去对吧,但是它现在不是表面,它是一个这个圆柱,它就会产生一个这种跟这个这个这个漏斗型的这种形状哈,就是往这个这些方向上都会散射。

然后同时这有一些光线它又会被散射到四面八方去,这就好像是diffuse和specular两个加起来对吧,和之前的这个表面很像。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

那么把这个做出来之后呢,大家会看到这种模型啊,叫做kaji k model对吧,那么这个卡西k这个模型呢,它是看上去就不怎么好对吧,因为它显然不是真的,他看上去就好像之前我们做的不灵风模型,没错吧。

那所以说会出现这种情况,那那它不对。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

那自然就会有人来研究说,那真实的头发到底和光线如何作用,那这里呢就是一个广泛应用的模型,叫做marshine model,然后呢这个模型考虑了什么事儿哈,考虑的时光线我打到一根圆柱的时候。

肯定有一部分会被直接反射掉,没问题,也有一部分会穿进去,穿到这个这个头发里面去,这个发生折射对吧,穿到我头发里面去再穿出去,那这种情况下我们考虑这个反射,把它记作r啊,然后把这个穿进去穿出去。

这种这种穿透的就记作t那么我一根光线要想穿透一根头发,那得穿两次,所以说会产生一个tt这种光线的传播方式,还有一种呢就是光线进到这个这个头发里面了,在头发的内壁上发生一次反射。

也就是说发生了第一次穿透之后,发生了一次内部的反射,然后再发生第二次穿透,这个叫做t2 t对吧,然后这个这个就是通过这种方式啊,我们可以定义各种各样不同的光线传播对吧。

然后就是说我我们怎么样描述一个材质对吧,我们之前说的清楚,就是要描述它和光线怎么样作用,那这就是这个所谓marginal model的这个做法,他怎么做呢,他把这个头发当成一个玻璃的这个这个圆柱啊。

他当然可以扭曲哈,局部我们认为是一个直的,然后它有两个结构,外层叫做cuticle,叫表皮啊,然后里面叫cortex cortex,我忘了叫了什么啊,然后就是说呢他认为这个头发呃。

这个这个它本身内部有色素对吧,这也不是认为它实际上就是这么回事,头发内部当然有色素,如果有光线穿进头发,在传播的过程中会被部分吸收,然后他再传出去,那如果说我们说人的头发是黑的,那就是头发的色素多。

那如果我说头发是基因发或者什么这种这种就是它里面吸收少对,就是就直接就传出去了诶所以可以可以解释很多问题啊,那也就是说把这个头发理解成这么一个这个玻璃柱,然后然后经过玻璃珠的时候呢。

会有这个光线的这个这个能量损失,这产生颜色得非常合理对吧,那么这里呢就是marsher模型考虑了三种这个光线和这个圆柱的作用,第二光线穿进去就穿六穿出来tt啊,第三光线穿进去。

然后在内壁一反射再出去叫t2 t那么把这些综合考虑在一块,它就可以得到一个非常好的所谓marsha的模型,对吧啊,ok好,那么这个大家可以看啊,这个margin的模这个模型以及这个它之后的这些模型。

那能够得到一个非常非常好的渲染结果,没错吧,那当然这里呢我这个多给大家提一句,肯定有的同学已经想到这么一个问题了,我定义的是什么呀,我定义的光线如何和一根圆柱进行作用对吧,光线和一根圆柱进行作用。

那我只能算光线和一根头发怎么作用对吧,那如果这个光线和多根头发怎么样作用,可想而知,光线会打到一个头发里面出来,再打到第二根头发再出来,再打到第三根,第四根意识到100根,最后出来被你看见。

真的是有这么一个过程的,没问题啊,这个就是所谓我们说的多次散射,如果我们认为光线和一次这个一个头一个头发的作用叫单次散射,那么这个就叫多次散射,那多次可以多了,多的没边儿对吧,可以多到100次。

没有任何问题,那这就是为什么对于这个头发来说,这么渲染这么困难,因为它要求的计算量实在是太大,这个光线这个真的得模拟它在头发内部一根一根头发之间弹射,然后最后出来是什么好吧,但是不管怎么样。

只要和一根我知道怎么做,然后我根据光线传播,然后我自然而然我就可以把最后结果算出来,没问题啊,对这有同学反映这计算量对吧,这计算量确实是真的大,这就是为什么头发渲染非常难啊,好但是不管怎么样。

头套的模型挺好的对吧,然后呢大家会看到这个头发的这个模型在各种游戏中的应用啊,这个是最终幻想15,这个大家会看到他的各种各样不同的这个这个人物的头发啊,这灰白的以及这个黑色的。

这个这个也是染的可守各样不同的这种这种头发啊,就是最终幻想系列一直都是这么一个风格的,头发是特别认真的来做啊,ok啊好,那没问题啊,这里不给大家多播放这个的,然后另外一个例子呢。

当然在这些这个这个动画电影中间,大家也会见到,像这里大家看到的是这个疯狂动物城对吧,在这个这个会看到有这么多根的毛发,每一根都是一根一根的做出来的,对没有问题好吧。

然后这个这里是一个卡通的一些这个呃应用,然后呢我们就提到另外一个事情,我们说到人的头发对吧,那人的头发能不能用来描述动物的毛发呢,那之前就有人试过啊。

就是说这个这个如果我们用人的头发模型应用在动物上会发现不对,怎么渲染出来,看着一点也不像,我们想要的是右边这个效果,但是我不想要左边这个效果,但是这个我用人的头发模型得到的就是左边这个效果。

那就说明这个啊人的头发的模型不足以,这个描述光线如何与这个动物毛发进行作用,那这到底怎么回事呢,那我们可以看一看这个生物上的结构哈,就是说啊如果我们研究人和动物的毛发,我们会发现一些共同点。

什么共同点呢,就是说这个毛发如果我们切开啊,一根我又发现唉,它有三个结构,第一外面这个表皮叫cuticle,然后第二里面这个东西叫cortex,还记得吧,人的头发之前就有就有这个这个部分。

然后它能够这个吸收这个这个光对吧,然后这个第三层这个最内层这个东西很很神奇,但有个东西叫做水质啊,叫mada,然后这个水质是干什么呢,它能够这个它这个内部的结构非常之复杂。

那光线进去了之后会好像进入了散射介质一样,然后直接被打到四面八方去诶,那就是会有这么三三层结构,那人和动物都有,比如说咱们看右边没人,人的这个表皮这个call tex以及中间水质啊。

在这儿看见没诶但是我又发现了一个区别,什么呢,对于动物来说,它中间的这个水质大的可怕,对不对,它和人相比来说完全不一样,这个水质特别大,也就是说光线进去了之后更容易发生散射,诶这就是一个问题诶。

我发现了一个这个这个之前的模型没能描述的一个一个东西,然后我们来验证一下它到底是不是这么回事呢,就是这个水质的作用到底有没有那么大呢,那这么一看诶,一目了然,当然这是一个这个所谓鸡和蛋的问题啊。

这是因为这个已经这个模型做出来了,大家可以看到这个结果对吧,就是说嗯看来模拟这个水质是是有必要的,就是之前的这个玻璃柱模型忽略水质是不对的,那所以我们要引入这么一个东西,那同样道理放在人的头发上。

人的头发水质这么小,就百分之十十五左右,它的直径啊相当于是一根头发直径的15%这么小诶,但是它的作用就很大,那没有和这个一个小的这个这个这个水质诶,它就有这么大的区别。

就是这里大家看到明显这里亮了很多对吧,这里暗很多对吧,那会有这么一个情况,所以呢就有人提出了这么一个模型,然后这个模型叫做什么呢,叫做这个双层的这个这个圆柱模型啊。

然后这个双层的这个圆柱模型它做了个什么事儿,其实就是把这个水质给这个精准的描述出来,就真的用两个圆柱中间的这个是髓质,来模拟这个光光光线和这个呃这个双层的这个呃圆柱它的一个作用呃,怎么说呢。

这个作用就是这样的,当然这个光线打到这个表面上之后,还是可以被弹走对吧,然后这个光线有可能这个穿过这个呃结构的过程中,他没达到水质是吧,或者打到了之后嗯,这个没有发生散射对吧,这是有概率的。

然后也就是说还是有可能跟之前一样,有这个rtt和t2 t,然后同样道理这个也会有这个有一部分光啊,在穿过这个双层模型的过程中,在中间的这个穿过水质的时候被发散到各个方向去啊,这里叫tt。

然后呢这里这个这个这个这个这个t2 t也是一样的,就是这个在穿过这个水质的过程中,两次都有可能会被散射,会形成一个t2 t s诶,那也就是说这个我们就可以用五个这个不同的这个分量,还记得吧。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

咱们之前说这个不林风模型有三个对吧,那咱们这里呢这个头发模型有有三个,那咱们在这个头发模型上呢加两个加两个这个散射的结果,大家看到这散射的结果确实对这个总共的贡献啊是有不少的,所以咱们不能忽略。

所以之前看着m就是因为这个当然有同学好像发现了这么一个事情,对不对,这个我说有人发明了这个模型,这就是我发明的这个这个这个动物毛发的模型啊,这个没问题啊,这个ok所以大家来看一看例子啊。

大家看到的这个是所谓仓鼠对吧,hamster应该是仓鼠,然后呢他这个是由六多少60万根这个毛发组成的,然后所以大家看到的根本不是什么表面啊,真的是一根一根的这个这个曲线描述出来的哈,就是60万根。

然后我们这个渲染了多久呢,每一帧渲染了将近40分钟,然后这把各个针联系起来,然后还看到一个转动的这个仓鼠模型诶,非常好,对不对,然后这个诶可以可以,然后会看到这个动物毛发的表现力非常不错,当然了。

这个这个双层的这个嗯这个援助模型啊。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

他得到了这个广泛的应用,比如这里看到了这个星球崛起啊,这部电影它是所有的这个呃这个人员啊,都是用这个这个双层的圆柱模型来做了它的毛发啊,所以做的非常好。

所以才被这个2018年这个奥斯卡拿去这个当这个最佳视觉效果奖。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

提名啊,这个意思,然后呢同样道理到了这个2019年又有一部电影应用了这个技术,然后这个电影就是狮子王hd,然后这个同样也拿了这个2019年的奥斯卡的,这个最佳视效的提名啊,大家会发现有一个问题对吧。

为什么大家用了我的模型之后,都只能拿提名,拿不到最终的奖对吧,我也很纳闷这个事情,当然了,话又说回来,这个奥斯卡的视觉效果又不是光说是这个制作的难度或者干什么,视觉效果有很多东西呢,特效那些东西对吧。

都要考虑的,所以从这个角度上来说,我自然很希望自己能拿一次奥斯卡,当然拿的也不算,我的算是这个电影公司的啊,ok好那么这是这是闲话,就是说一说这个模型的不断发展。

那大家不需要知道这个双层的这个圆柱模型到底是怎么推的,都是中间怎么做的对吧,但是这个是一套科学的研究方案,就是说之前的一个这个头发模型不行,那他肯定这个结构决定性质嘛对吧。

他肯定有一些地方这个能够被改进,所以说这个需要看一些这个生物方面的这些文献调研,然后再把它总结成这个这个图形学的模型,所以这些大家就会更加体会到这个图形学好像是什么都涉及对吧。

咱们之前一直在说什么数学呀,呃物理啊,统计啊这些东西,现在又来个生物对吧,各种东西都有,是的没有问题,所以说这个啊没什么问题啊,这个好,那么这里呢再给大家多说一下。

这个这个这个另外的其他各种各样不同不同的模型啊,这种模型叫做granular的这个这个材质,所谓granular这里我这词穷啊,我实在是这个没办法翻译啊,这个这就是granular。

所以granular呢就是一粒一粒的这种模型,大家可以看到这个香料啊,什么盐啊,糖啊,一个一个的晶体对吧,每个都很像,你会发现整个这个这它是一堆这么些小东西形成的,这个整个的这个这个表面模型对吧。

诶不是不是表面啊,就是形成的这么一种模型,所以他会很很麻烦对吧,然后他确实是很麻烦,然后这个人们这个发现这个计算量非常非常的大,然后但是这个人们可以做一些简化,比如说认为啊这个就比如一个沙子堆成的城堡。

然后它的每一个这个单元上啊,有好多不同的这种这种不同的石子来构成,各自成分都是百分之多少,然后大家就可以拿过去渲染。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

大家可以看到这是一个沙丘的模型,然后诶离得非常近的情况下,就可以看到一粒一粒的对吧,然后离得很远的情况下,看到的就是一个沙丘诶,对吧啊,当然了,这生成这么一张这个这个图花的时间是非常非常厉害的。

所以到现在来说,granular材质并没有得到一个非常好的解决,目前来说是这么回事,诶好感谢有同学帮我翻译哈,颗粒材质非常好,非常好啊,我觉得挺合适的,你就翻译成颗粒嘛啊。

ok然后这里呢大家看到的是一个这个pika的一个短片。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

pika呢不止推这个长篇动画啊,还有有些短片,这个短片呢就叫做叫做玉啊,就那个鹬蚌相争的那个玉就是piper,然后这个pepper呢这当然看这个短片涉及东西很多,但是其中有一些啊,大家可以看到这个沙子。

这可不就是granular material嘛对吧,所以说这个是这个皮克斯也是在不断的这个通过这些短片来炫技,也非常非常厉害啊,然后呢,那我们刚才说了啊,非表面的模型好,那咱们这个再提表面的模型对吧。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

我刚那个沙子那肯定不是在表面,而是在一个体积里对吧,那么表面模型呢,这里再重新咱们提回刚才的这个这个现象,就是说这个散射介质的现象,那我们提一个东西叫做玉石,玉石呢是一类这个物体。

一类材质的一个典型代表,这个代表是什么呢,叫做半透明这个材质,这里同样是另外一个,我对这个翻译非常不满意的一个一个一个这个词汇啊,translucent,translucent绝对不应该翻译成半透明。

应该semi transparent才是叫半透明,就是说translucent和和和这个半透明它其实有区别,就是说它不是说光线在穿过这个透明介质中,它中间会涉及到吸收,它本身还涉及到散射。

它说明什么问题呢,说明光线可以从某个地方进入这个表面,再从另一个地方出这个表面是这么一个意思,那刚才大家看到我用一个手指去按住这个这个这个呃手机的光源对吧,然后大家会看到我手指发红对吧。

那光源就从这个面这个钻进这个手指对吧,然后从另外一面钻出去的光线,当然可以这样,那这个东西就和这个这个半透明,其实怎么说呢,就是说这个中文的词汇就不太合理啊。

那么我们管它叫还是叫半透明吧啊translucent啊,大家知道这么回事就行,就不是说他这个沿着一个方向传播,并没被吸收,它可以被导到其他方向上去啊,那么玉石就是其中一种。

大家可以看到这个光可以从一个地方进来,从另外一任何一个地方钻出去对吧,然后那同样这个海里面,大家看到水母也是这么一个道理,就是光线进入它里面这个头,然后他在这个头的内部会发生一些散射。

然后再从另外一些地方钻出去对吧,所以这个单透明这些物体大家平常都很喜欢啊,看起来比较好看,那么反映在这个这个呃物理上呢,它说明什么问题,就是我刚才说的啊,光线从一个点进入了某个表面。

在底下发生了大量的散射,从另外一个点钻出去,道理就在这没错吧,那对于一些常见的物体,像牛奶对吧对吧,像这些物体大家就可以看到很明显的这些这种现象,人的耳朵,像这里比如说人的耳朵背后有光进来。

然后它这个会穿过人的耳朵出来,对没有问题,所以说呢这个这一块儿,这个这个嗯为了描述光线的这么一种呃散射方式,我们管它定义成叫做次表面散射,所谓sub surface scattery。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

好吧,次表面嘛就在表面下面发生了散射,好理解啊,那么次表面散射呢可以理解成是对b rdf概念的一个延伸,为什么呢,因为我们平常说b2 df是光线打到了这个点,并且又从这个点出来对吧。

像这个比如说debu物体光线进来之后诶,往各个方向不同不同方向去,那就是所有的这个作用都发生在一个点上,那另外一点就是说在这个b s s r d f上,我们就可以理解成他把概念延伸到好,我从一个点进来。

然后我当然是以任意方向进来,我可以往任意方向出去,但是我可以从任意一个其他的地方出去,所以大家看这个d s s r d f就是就是说这个呃和b r d f概念一样。

中间加了一个subsurface scattering啊,然后就是次表面反射对应的这个所谓b s s r d f,它其实就是规定了时光线从哪个点进来,从哪个方向进来,哪一点出去,从哪个方向出去好吧。

相当于是对b2 df概念的一个延伸,那么延伸了之后,相应的这个渲染方程也要也要这个改一改啊,就是说我原本是对这个各个方向进行积分对吧,然后现在就不是了,现在就是说我考虑这一点。

那如果这个表面有次表面散射性质,那我如果有另外一种光达到了这个点,然而这个点它也是有可能贡献到这个点,并且研究方向去的,哎对吧,也就是说我不能只考虑从各个方向进来的光。

我还得考虑从各个方向进到其他点的光,所以说我要对方向进行积分,也要对面积进行积分,这就是说这个b s s r d f相当于是对b2 df概念下的一个延伸,然后呢这个这个当然算起来很复杂了对吧。

那么人们就发现啊,其实怎么说呢,比如说大家自己可以试一试啊,把这个手机摁在手上,手心上啊,然后打开这个这个闪光灯,大家会发现这个闪光灯周围就好像说产生了一片,这个往外走的这个光源一样。

就好像是你的手心底下有一个光源在发光一样,诶这里就是这个这个这个这个基本思想,人们会发现啊,这半透明介质就好像这么一个原理一样,我有一根光a一光线打到了一个什么物体上,就好像这个物体底下出现了一个光源。

然后呢这个会从底下照亮我周围的这个打打的这个着色点,周围的一片诶,这种情况就就就非常好,当然为了物理上的真实哈,物理上的真实,就大家推出来说,这一个光源不够,还得是对应上方也得有一个光源。

所以相当于是有两个光源,然后用这两个光源去照亮周围着色脸,这一块就很像次表面散射得出来的结果,好吧,这样想,那么这个这样理解的话呢,呃就差不多了,好吧,就是用这个大ipo方法。

就是这两个这个光源嘛叫大ipo,然后呃用这种方法来近似这个次表面反射散射的这个效果。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

那当然得出来的结果不错,为什么说不错呢,咱们看这个呃,这是一个雕塑对吧,呃然后这个呃假设它的渲染都是b2 df对吧,都是b2 df,没有次表面散射,那看上去就是大理石啊,不是大理石啊。

就相当于是这个这个石膏一样这种这种效果啊,那如果有这个四表面散射呢,大家会发现诶效果就完全不一样,就完全看上去像是这个这个大理石这种效果了,就是光线在哪看的比较明显的,在这个鼻子这啊,我现在切回去啊。

b2 df,那当然这个鼻子背后有光的,这个正面照不到光的,就完全是这个阴影了,那如果有b s s r d f,大家看的非常明显的光线,就可以钻出去对吧,这样就可以得到一种就是看起来所谓珠圆玉润。

就是这么一个效果对吧,那两面反射非常有用的东西,然后这里呢渲染正是用这个呃。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

就是打ile这么一个估计来近似的好吧,那么这是一个同样的另外一个例子,咱们看如果说用这个b2 df来渲染人脸,得到结果看起来很干对吧。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

那如果说我去用b s s r d f加入次表面散射渲染同一个人脸,那我就发现哎结果呢好的太多了,对不对,这就已经很像真实的人脸了,那同样的道理,为什么说它真实了些呢,那就是因为他这个在实际的情况下。

光线它就是能进入人的皮肤,在这个一个局部这个散射出去对吧,那所以说他这个人的皮肤真的就应该有这个次表面反射散射的静止,所以说这个加入的时候自然效果会好啊,没问题。

那么四条边弹射在这个科研上也有各种各样的应用,比如说这里是我这个当年我的老师的作品啊。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

呃徐坤老师的作品,然后他做过这个这个嗯这个次表面散射材质的编辑啊。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

就是你可以动态的改,比如改的更像石头啊,然后或者是改得更像玉石,然后颜色也可以变,然后这个或者更像蜡烛对吧,然后像这些东西都是可以调的,然后所以这个这个挺有意思的事情啊。

就是说对于b s s r d f给大家这个这个说一下,就是说大家现在研究的还是这个非常非常不错的啊。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

有很多人喜欢这个,我自己也很喜欢啊,然后bs d f有多么厉害,但是厉害到了一定境界哈,大家看这三幅图,这三幅图有一个什么共同点能告诉我们,我直接告诉大家吧,好吧,这个三幅图都是假的。

这三幅图的渲染都都是渲染来的,没有一副是这个真实的照片啊,然后就是说这个大家看看这三幅图觉得好,现在这个是真的厉害对吧,就是真的皮肤这块,然后这个大家如果用了这个次表面散射之后。

会得到非常非常真实的皮肤对吧,然后这个效果就非常非常好,然后呢这里还给大家推荐一个网站啊,这个叫什么呃,这个这个地址大家没事看一看,说是十个这个这个这个就是渲染的最真实的嗯人物模型。

然后你可以可以看看这个大家这个艺术家是有多么厉害,以及现在这个四表面散射到底有多么强大,当然了,即便如此,有同学可能会说这个确实看上去还差那么一点点对吧,至少左边这个这个看起来还稍微差一点点啊。

ok啊好没问题。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

那么呃这就是留个后话吧,好吧,那这里再继续给大家说,那么我们说完次表面散射呢,我们再来说另外一个这个也是跟表面相关的材质,这个材质是什么呢,布料啊,就是cloth,那么为了理解这个布料啊。

我们得先理解他的这个制作原理,那布料是怎么来的啊,布料是一系列缠绕的这个呃纤维构成的,这样说没问题,但是它的缠绕啊,它有几个不同的层级,这个我给大家说一说啊,然后就是说这个这里涉及到很多概念什么呢。

我们就说这个纤维是最原始的概念,一根一根那个就是最原始的时候,你用羊毛那一根羊毛,那就就是这个就是就是它的最基础的这个纤维啊,化纤也是一个道理,那么这个这个不同的这个这个这个fiber啊。

就是纤维经过第一次缠绕,可以缠绕成不同的鼓,什么叫鼓,就是这个ly poly就叫鼓啊,然后这个这个不同的股再经过不同这个这个缠绕会形成线,那线就是一二,大家会看到这每一根啊,这个颜色它都是一个这个一股。

它本身就是有很多的纤维绕成的,而这第一层缠绕,第二层缠绕很多骨绕一块会形成线,线本身也是涉及到这个这个各种各样不同的这个这个呃缠绕,好吧啊,这个fibre缠绕形成play play缠绕形成第二。

然后第二之后就有了线之后要么被支撑,要么被这个呃得这这两个词中文反正都是知啊,我说的一个是这种,比如说这个机器这个一根压一根,这种算是这种这种这个桌布啊之类这种东西的做法啊,还有一种是你手工织的。

跟打毛衣一个道理啊,就是这种,但是道理是一样的,没什么问题好吧,就是说我们把这个不理解清楚,不是由各种各样不同的这个所谓纤维缠绕而成的。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

这样就对了好吧,那么对于这种布来说,它既然是缠绕而成的,那如果要算它的这个表面模型,他就会非常非常头疼,这个这个因为什么呢,他肯定和你的这个针织啊,或者说这个纺织啊这种方向的有关,就跟你织出来的这种。

比如说你隔多少根及另外一根去压着一根,这这这种织法有关,就是和你织出来的这种形状有关系,诶那这个就是说根据这种形状,我就可以来定义这个你得出来的这个最后的结果他会怎么样。

如果我认为这个布料它就是一个物体表面的话啊,然后我可以通过这个各种各样不同的这个这个所谓编织的这个图案,我就可以来窜出来,它到底应该是得出来是什么样子好吧,那这自然而然我们就得到了一个b2 df的模型。

那当然了,有同学会说这个这个这个b2 dm模型肯定有问题吧对吧,那如果说我这个布它本身真的是在一个平面上,我认为他是在表面上行,没问题,咱们之前见过他对吧,然后然后这个我之前提到说有个材质叫天鹅绒。

天鹅绒这种东西,它所有的纤维它往外这个都是往外一根一根一根这个这个分布的对吧,根本它就不是一个平面,那我怎么能拿b2 df来表示它呢。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

其实并不合理,对不对,那所以说一个更准确的做法,那就是说这个我们把这个织物啊给认为是在空间中分布的体积。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

然后光纤中分布体积,我就可以把它划分成超级细小的格子,比如说大家看到左边那个围巾,然后呢右边这个沙发的这个这个这个布,它就相当于是把这个空间分成了非常非常小的这种格子,每一个格子里面诶。

我大概知道他的这些这个纤维它的已经大概朝向分布呀,然后它的复杂程度呀是这些东西,那么我就可以把这些性质给转换成这个光线的这个吸收和散射,这样的话我就好像是在渲染云一样,我把这个性质啊。

把它的性质给转换成这个这个嗯,就是对这个呃语音烟雾这种散射介质的渲染诶,我不再把这个布料当成是这个什么物,把把当成一个面了啊,我把它当成是一个体积,然后体积中间的任何一个微小的块我都知道它的性质。

这么做,那当然大家可想而知,这个计算量是很夸张的,对不对,这是确实是这么回事啊,这生成一幅涂掉要花好多好多个小时啊,然后就是说呃当然能够得到相对准确的结果,肯定比你认为它在一个平面上这样对对吧。

那所以说这个又是一次大家体会这个事情啊,就是渲染中间有很多这种所谓trade off,就是你要想要更好的结果行没问题,多花点计算量,多花点时间对吧,那么我们说这是一个办法。

能能够把这个这个布料啊当成散射介质来做,还有怎么做呢,那因为这个布料本身它可它就是纤维对吧,那我知道它是纤维怎么样缠绕的,那我自然而然,那我就说一个最暴力的做法,我把每一根这个纤维我都给渲染出来。

不就完了吗对吧,那比如说像左边这一幅,大家可以看到哦,每一股对吧,这里不是鼓了,这每一个省,每一个这个县啊,样儿上面它都有很多的这个这个不同的这个play,上面有很多不同的这个这个版本。

那么每一根fiber我都渲染出来,就把它当成人的头发对吧,把当人头发渲染一模一样,那么得到的结果自然而然得到了非常真实的结果,没有问题,但是同样这个计算量也是非常非常惊人的。

那么直到今天这个这三种方法啊,就是三种渲染这个布料的方法都有人用,好吧,就是说把它当成这个散射介质,当成实际的这个纤维以及当成是物体表面都有人用,而且这个考虑到各种各样不同的这个应用场合。

如果你要更准确的结果,那就去多花点时间啊,大概这个布料我们就说到这儿好吧,不料呢给大家看一个某个看一个这个例子,ok啊大家可以看到这个布料呢,显然就是不是在这个不是当物体表面算的啊。

就是它本身会非常复杂,ok然后这里呢是一个电影,这个电影本身呢并不是多知名迪士尼的,然后叫做这个big friendly giant,然后说一些巨人的故事啊,然后他们身上穿的这种亚麻的衣服。

然后做的非常真实,然后嗯就是说这个布料嘛当然会被应用在各个方面哦,这里多说一句,这个布料用的就是这个b r d f的模型啊,然后最简单的这个模型啊,但是其实效果也不错,对吧好。

那么这里呢这个再给大家说下面一种材质,这种材质呢就是一种这个复杂的材质哦,说起来是这么回事啊,就今天这个课我就随意说了,然后就是说有同学想随时撤就随时撤吧,没什么问题啊。

就是说本来这个就给大家这个随便说一说,作为这个这个这个这个呃扩展一下视野啊,那我这个继续往后说啊,那么这个复杂的这个嗯有细节的材质到底是怎么回事呢,对吧,那我们先看这个例子啊。

就是说我们看这个现现金的这些渲染器渲染出来的一些结果,那其实看上去非常不错,这是一第二是其实还显得并不是多么真实啊,这个为什么不真实呢,对吧,是因为很多情况下得出的结果过于完美。

你比如说像这个车子哪有现实生活中哪有这么完美的这么一块,这样这样这样的这个这个车子,任何的再次自行车对吧,上面都有各种各样的不同的划痕,不同的这些这些东西,这个鼠标现在看上去完完全全是整板一块对吧。

然后得到的结果非常完美,反而这样就不对了。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

为什么真实情况下确实不会有这种情况,大家现在看到是真实的世界啊,就是说这个真实的世界里面呢,大家会看到这个车子上面会有这个高光,高光周围有类似这种蜘蛛网结构的这种东西,这种东西就是这个划痕。

划痕发生在哪儿,发生在这个空气中,各种各样不同的这些灰尘颗粒和你的这个车外层的那层清漆之间,还没到那个车的这个油漆部分啊,然后就会有这种现象出现,所以在强光照射下一定可以看到这个效果。

也可以看到这个是有一个高光不错,这种形成的高光诶,这个总共这个构成本对吧,所以说呢这些并不是什么这个特别这个这个呃光滑的一些东西,所以说真实世界反倒是不完美的。

但是我们的这个这个描述方法呢确实能够得到一些很完美的结果。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

这是什么,这是那个呃微表面模型啊,microphysmodel,我们之前说过他非常强大,比如说结果非常完美,但是之前看那个摩托车也是这么回事对吧,但是呢这不真实,什么是真实的呢,这个是稍微真实一点。

这个是这个是说这个呃我们加入了各种各样不同的这种,这种呃实际可能产生了一些不完美的地方,比如说像这个这个划痕这些东西,大家看到这个有划痕的情况下,旋转起来是可以看到高光还是高光对吧。

但是你还可以看到各个不同的这种划痕,这一第二呢你甚至也可以去模拟这个这个是什么呢,就是物体表面了,然后这个一这个我刷过的这个这个呃所谓各项异性的材质还记得吧,我沿着一个方向去刷这个物体这个金属的表面嘛。

然后大家可以看到这一条一条刷出来的这个划痕都在,所以你能够看到这个很明显的这个高光,它随着你的视角你可以看到不同的这种划痕,对吧,那像这种情况,那就是这个这个细节的模型能够给大家带来的真实感。

那这个就是说我们为什么要研究它啊,诶大家有同学就发现了啊,是这是我的作品啊。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

算是代表作啊,应该是说是这博士中间的这几年我的这个呃几个贡献之一吧,就是这个这个这个细节的这个渲染是一个萌发的模型,是一个呃real time retracing,是一个嗯差不多就这么几个哈。

然后这个啊那我们就接着说啊,就是说这个微表面模型咱们之前提过对吧,微表面模型说最重要的是什么呢,是它这些微表面的这个反向分布对吧,但是我们之前提到的是不是就就就说到这儿啊,但是我们说这个分布上啊。

实际上来说大家应该是这个嗯,怎么说呢,就是说大家描述这个分布,他用的是一些非常简单的一些一些模型,比如说我们用一个什么正态分布啊,高斯啊之类的东西去去描述它。

那我用一个这个这个这种分布去描述这个法线的分布,那么得到的自然而然是一个这个看上去并没有什么细节的结果对吧,因为它反向分布本身我就没有体现出各种各样不同的变化,各种各样的细节。

但是其实我们要的是它这个这个法线的分布啊,它基本符合这个这个统计规律。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

但它又有自己带的这个细节,那如果我们能把这些考虑进去,那自然而然就可以得到这个这个呃好一点的结果,比如说像这里大家看到这个蜗牛啊,在这蜗牛的壳上,我们贴了一个非常大的这个这个呃这个呃所谓法线贴图啊。

之前咱们说这个纹理映射的时候,我们说过这个事情可以定义每一个点上它不同的法线,那么用了多大的反思法线贴图呢,200k乘200k大家自己算一算一算,这是什么概念啊,这个这个是超级大的一个行业。

贴图贴上去之后,那每一个面它可以产生一个高光,所有的高光形成在一块就会变成这么一个大的高光啊,那么如果这个大家从远到近可以看到这个a,可以看到每一个高光都是什么样的对吧。

那就是说确实一个大的高光是有很多高光形成的。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

那么同样我们可以换另外一种模型对吧,不同的这种法线,比如说像这里就在模拟这个车子,大家知道这个车子大家有很多人愿意在这个车子里面加呃,不是车子车子的这个喷漆里面加亮片,这个亮片非常非常小。

但是它就会形成一个一个的这种不同的这个方向,不同的方向它就有就有不同的这种反光,得出来的效果就应该是这样的啊,然后所以说会得到这个非常真实的结果啊,ok好。

那么这里呢这个虽然我们可以定义各种各样不同的细节,但是渲染出来他们非常困难,比如说大家看到我真的用pass tracing来做哈,要多久要多久,比如说花了两个小时之后还得不到这个结果。

这个结果咱们认为是这个药的结果哈,然后两个小时之内和开得不到这个结果,那多久可以得到呢,我算了一下这个时间啊,需要大概将近一个月,然后就是渲染渲染在那一个月能够得到这么一个结果好吧。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

所以大家可以想象这是一个多么困难的渲染问题,那么它到底困难在哪儿,那么这个根本原因在于我们认为这个微表面啊,每一个小的微表面是一个镜面,那既然是镜面,那咱们如果想象是一个这个呃这个这个呃针孔摄像机。

然后和一个点光源的话,那么我从摄像机打一根光线过去,我打到了什么样的表面,然后我就知道它的法线,我就知道它镜面反射方向是什么,那我就很难很难很难通过反射的方式,让这根光线反射的光线打到这个光源上去啊。

这就是为什么它难,然后这个光源打过来也是一样,它这个达到了一个微表面呃,知道怎么反射,但它就是反射不到这个这个呃这个摄像机上去,那所以怎么做呢,所以这里考虑就是说这个考虑一个像素啊。

它会覆盖很多的这个微表面唉,如果我们能够把这个微表面的分布给拿出来,就是把这个在一个小的范围内,它的微表面的法线分布算出来诶,那这样的话我就可以替代原本的这个光滑的这个分布。

然后并且用在这个微表面模型里。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

像这里大家应该听懂都没有问题,然后呢这里这个嗯我如果考虑说一个像素它覆盖了多大的这个范围,那会得到各种各样神奇的这个这个反向分布啊,ndf,然后就是说如果大家想想这个一个像素覆盖了非常多的微表面。

那这些微表面自然而然就会显示出来一些统计学的规律对吧,这看上去就挺圆的,就很像是这个这个高斯分布对吧,那如果说这个覆盖的范围小,它就会显示出来一些很独特的一些性质。

就是说它这个反向分布看上去就很很这个有特点,而且呢不同这个类型的这种反应分布啊,不同类型的这个这个呃这个法线呃贴图啊,然后会引起不同的法线分布,比如说像这种刷过的。

那很显然会得到一系列这个叫做呃各项异性的这个这个分布,比如说像这种离散的这些亮片,每一个这个这个这个亮片都是一些离散的这个发现,那所以我就会得到很多离散的点哎,这就非常有意思对吧。

那所以说我们只要能把它算出来就行了。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

当然这里就不给大家说怎么算出来,给大家多少看一看这个得出的结果就好,这是一个这个这个嗯这种模型啊,这个叫什么来着,就是blender,就是一个一个杯子吧,水杯还有一个金属的这个表面。

它一看到这里是一个磨过的对吧,这里是向这个方向磨的,跟橘子皮一样,然后这些都算进去之后,得到的结果就就能够把这些细节都给反反映出来。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

并且呢大家可以看到同样道理哈,任何的这些这些呃宏观的东西都一定是由这些微观的东西构成的,没问题吧,然后这样我们就可以看出来这是一系列的这个这个这个怎么说呢,一系列的点形成了这种现状的高光啊。

ok那么其实来说啊,之前我给大家说过这个事情对吧,就是说我们看一个卫星图是不是拍摄一个地球,那这个远和近微观和宏观是相对的,那如果我们从远处看一个海面,那我可以认为海面的这个这个波纹对吧。

它这个是一个很细节的这些东西,那我也可以通过这种方式把它描述出来,描述出来之后呢,我每一帧用一个不同的细节,那就可以得出这个这个这个海面上的这些所谓波光粼粼这种效果啊,对吧,就是这个意思对吧。

那这样一来就可以得到这么一个效果,然后呢同样道理,这个方法呢也在游戏中稍微得到了一些应用,就是像这里大家看到这个古墓丽影这个三部曲之二吧,我记得是,然后大家看这个雪地啊,雪地大家会看到这个这个位置。

待会我会看的更明显一些,然后会有一些这个嗯嗯这些发光点对吧,当然这里是在实时渲染中的一些应用好吧,然后这里一个ok那么这个这里在这个把这这怎么说呢,就是说这些细节就算是这么解决了吗,答案是不对。

为什么呢,是因为当你引入这些细节的时候啊,其实如果大家还在用这个几何光学来解释就不对,大家这个之前学过物理,这个物理上说什么呢,这个物理上说啊,这个这个这个啊就是说当这个物体啊非常小的时候。

小到什么程度呢,小到和这个光光线的这个波长相当的时候,你就不能再假设光线的传播是沿沿着一个直线传播了,你就得必须假设这个光是一个波对吧,因为会试着叠到各种各样的现象,发生什么衍射干涉这种现象发生。

那这种现象在这种这种微型的这种细节上就会发生,那么有很多人研究过这个问题,然后这个大家看到这些各种各样不同的效果。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

然后当然了,我也研究过这个问题,然后这个这个问题是反映在什么上呢,比如说你在一个小黑屋里面,真得小黑屋啊,其他光源都得关掉,就只能用一个这个点光源,比如说你手机的光去照亮一个就是金属片。

你会发现金属片上金属原本是一个原则,但是你却在这个上面会看到各种各样不同的颜色。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

同样道理,你比如说拍这个,我有一个macbook,我拍他的背后哎,我拍出来之后通常是白的对吧,但事实上如果我就用一个光源,然后我放大你能拍出来一张图,然后放大我又看到其实根本不是白的。

是各种各样不同的这个颜色的点对吧,诶那这样的话呢,这个这这这就反映什么问题啊,既然我用白光来照射一个物体,它就反射出来就应该是白的,如果不是白的,一定有波动。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

光学发生了对吧,那所以说我们就把这个波动光学给解出来了,我就就说到这儿,波动光学的公式我完全不想提,我的天,我觉得这个完全是劝退的东西,这个太复杂了,这是在在这个叫什么这个复数域上做各种各样的基本啊。

这个非常麻烦啊,不多说啊,大家就看什么呢,看到说波动光学得出的b r d f啊,跟几何光学得出的b r d f挺像的哈,但是又有自己的特点,什么特点不连续的这些特点为什么会不连续呢,大家学过物理。

知道这个光会发生干涉对吧,光干涉会引起有一些地方加强,有些地方减弱诶,它就会形成这么一条一条这种这种不连续的效果诶。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

然后我们拿这个东西过去渲染啊,说渲染大家看到这幅图,这个真的是渲染出来的,然后这个这个并不是这个照片啊,然后我把它拿去渲染,并且用这个所谓的波动光学。

然后大家可以看到在我这个放大的过程中放大放大再再再放大,放大到这儿,大家就会发现真的是这样,这个没有什么表面是白的啊,基本来说都是这种这个各种各样不同的这种颜色的这种形状怎么样,是不是非常神奇对吧。

然后这个所以就给大家介绍一下啊,然后这里呢如果大家去餐馆吃饭。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

有各种各样不同的这种这种高光,使用过程中产生这种划痕,这种划痕关键是肉眼可见的,可以看到中间是有这个这个呃这个彩色的啊,这个我是说真实生活中是一定可以看得到的好吧,ok那么最后最后最后一个话题啊。

叫做这个呃程序化生成的这个表面或者说材质或者说外观啊,那么这个程序化生成是什么意思啊,就是说我用一定的方式来指导它的生成,而我不需要真正的去生成它,我可以这个动态的去查询它,什么意思呢,比如说这里啊。

我这个我可以定义各种各样不同的这种花纹,比如这个这个这个花瓶啊,这个花瓶,然后比如说我这个这个花瓶打在地上摔碎了,然后我还可以看到这个花瓶内部它的花纹到底是什么样的对吧,我可以定义一个所谓三维的纹理。

但是大家知道这个存储量啊,在三维的情况下瞬间就上去了,我存一张图还行,我存一个三维的体积,在各个地方我都存这么细节的东西,那是不可能的,那怎么办呢,我不存,我什么时候需要用,我什么时候去查。

就好像我有一个空间中的函数f x y z啊,然后我给任何x y z,我立刻可以得到它的f值就可以了,那如果有这么一个函数,那就非常好,而答案是事实上就是有的有那么一些函数。

这种函数呢就叫做noise函数,叫噪声函数,这些函数允许你这个得到一些很神奇的一些noise,比如说看起来像木头纹理的这个noise啊,然后是在空间中的这个我说清楚啊,这个定义在空间中。

然后也就是说如果刚才那个木头的纹额纹理里边砍成两半,你可以看到它的切面上长什么样,那就不行对吧,那么这个用一些这个三维空间中的噪声函数,就可以得到一些这些这些结果,那这个是为什么叫procedual呢。

那就是随用随取的意思啊,就是这么个意思,所以其实翻译成程序化生成也不太合理啊,就是说procedure更多的意思就是说我不生成,我需要用的时候,我去找就好了好吧,然后这就是这个事情。

那么比如说像这个这个游戏里面很多应用的车子上面的这个叫什么,这个秀啊,这些东西就我就可以生成一系列的这种诶,我生成这些噪声之后呢,我可以这个我可以对这个噪声做一些操作,比如说这些秀肯定是有些地方有。

有些地方没有对吧,噪声如果我认为是00~1对吧,那我就认为比如说这个噪声函数值大于0。8的,那我就认为是e,然后小于0。8,认为就是零,我把它二值化对吧,对于这个噪声函数我可以做任意的操作。

这种后期的处理,只要我处理得当,我就可以得到任意的不同的这种效果。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

那么这个噪声函数呢,这个普遍大家会应用几种啊。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

就目前来说,这个应用最广泛的叫做pin noise,然后之后还会有各种各样神奇的什么,good bye noise啊,各种各样不同的这种噪声函数,但它们的共同点就是这样,你不用管它是怎么样得到的。

就是说它允许你给任何空间中xyz,它会返回给你一个值,就这么回事好吧,那么噪声函数非常非常有用,比如生成地形这么复杂的地形,然后这个山上各种各样不同细节都有诶,这个造成函数就可以做,没有问题。

水面也是一样,然后这个就是不同的这个位置啊,然后就是有不同的这个高度,像这种水面到底应该是用一种什么样的噪声来说,这个都有人研究好吧,然后呢还有这个比如说这个工作台,大家知道这个木头。

因为木头各种各样纹理,它肯定是三维的对吧,它肯定生长这个产生的嘛,那么这个autodesk他们做了一个这个工作啊,然后就是呃可以这个呃生成三维的木头,并且你不用生成。

你可以直接去查询这个三维的木头中间的任何一个部分,然后就是说这个木头你可以任意切割,它都可以得到内部的这个任何的东西对吧,同样道理它就是控制这个函数,它应该长什么样来模拟这个数的年轮啊。

然后书里面各种各样这些传输的这些传导的这个东西叫什么纤维,什么树,我忘了,反正就是说这个他能够把这些真实的这些物理的这些东西啊,和它的这个程序化生成结合在一块儿,可以得到非常非常真实的结果,好吧。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

那么这里是它的这个一个例子啊,就是说对于这个吉他来说,在这个这上面的这些纹理完全都没有,之前经过定义,就是直接去查询这个它产生的这个木头对应的这么一个三维的函数,就可以得到,好吧,也非常厉害啊。

那没问题,那这样的话咱们今天这可是说的不少啊,那咱们就说到这儿,然后我现在呢我先看看大家有没有什么其他问题啊,好呃呃对有问题也欢迎也欢迎在这个机问啊,嗯我想一想啊,能量集中哦,这应该不是什么问题。

好ok说有什么高阶的内容之后再讲是吧,那涉及到这个之后的更复杂的这些课,这会有的会有的,然后咱们之前不是说过这个合成安排嘛对吧,咱们之后这个课之后很快会有一个模拟的这个这个课啊。

关于模拟仿真的课结束之后回来有可能是暑假,我来给大家说,要么说实时渲染,要么说高级的这个呃也就相当于是要么说高级的今天讲的这些内容,把今天这些这一节课给拓展到这个呃,每一块都讲清楚啊,嗯这是一个。

然后有同学问说这个程序化材质是不是老方法,并不是一直都有人研究,到现在还是一个很火的一个话题啊,然后这个好吧好吧,我来看看啊,嗯procedure有什么最新的东西哦,最新的东西其实这样说也挺难。

这个这个木头这可能算是它是一个挺是怎么说呢,集大成的一个东西了,然后有一个软件是专门做程序化材质的呀,叫hudi啊,然后这个在工业界得到了很大的应用,只不过它的程序化材质是真的是先程序化生成。

然后你再拿去用啊,是这个意思,它和我们这个理解并不太一样啊,就是我们这个是不用生成,直接去查询啊,ok然后这个ok有同学反映这个没有ri老师的贡献,是的,这这次并没有啊,哈哈哈呃没问题啊,好啊。

然后另外是这么回事,其实我说这个这个也有其他老师的贡献,特别是对于今天的这个这个嗯这这课件来说啊,绝大部分是我在伯克利的时候,作为助教,我做的那节课也是我讲的,是这么回事啊,就是说这个这个今天拿过来。

然后再加了一些新的东西啊,是这么个意思好吧,然后呃波动光学的渲染能讲吗,不能不能真不能啊,这个波动光学讲完要死人的,这个是你们要是感兴趣的话啊,感兴趣的话访问一下我的个人主页。

你随便点点一个这个点一个这个我的波动光学的这个文章,你看一眼就行了,你觉得能看下去,我就给你讲怎么样,唉这个这个简直了,prostring是肯定是这个我们不是说了嘛对吧。

然后复杂的光线传播我可以讲没问题啊,好啊,那ok那没问题,那这样的话这个这个呃咱们今天就说到这儿啊,然后咱们之后这个这就算是这个呃复杂一点话题。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

但是就是就是随便听一听啊啊,那咱们之后把这个时间交还给技术这秘书同学,然后好感谢各位同学大力支持。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

咱们下节课再见啊。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

GAMES101-现代计算机图形学入门-闫令琪 - P19:Lecture 19 Cameras, Lenses and Light Fields - GAMES-Webinar - BV1X7411F744

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

今天呢我们讲了一个全新的话题,我们之前这个嗯怎么说呢,我们之前一直在说这个嗯这几大块儿,大家看着下面这几个图吧,我们说这光栅化成像对吧,然后我们就说这个几何。

我们就说到呃这个which is diretracing,以及后面的pass tracing对吧,后面我们还会提这个模拟与仿真,那么今天我们在说什么呢,今天我们再说一个相对独立的话题哈。

我们今天说一说这个相机,然后棱镜,然后以及呃广场这些事情,为什么要说这些呢,因为这些都是这个图形学的重要组成部分,有时候呢我们在这个涉及到各个方面的时候,我们就默认大家知道这个事情。

可是这些知识从哪学呢对吧,基本上来说就还是得从这个同心学课上来,好吧啊行,没问题啊,今天这个我来的相对较晚啊,然后这个没跟大家这个之前课之前聊一聊这个事情啊,没问题,大家发现我今天带了个耳机哈。

呃ok啊,那咱们还是从嗯嗯嗯课前的一些这个这个事项来说起啊,就是说我刚才提到这周不只是这节课,我们都会说一些这个独立的话题,今天呢我们提到这个相机啊,棱镜呃,广场下一节课我们会提到呃,我想想啊。

下一节课我们会说颜色对吧,就是说颜色与感知我们到底怎么会看到各种各样不同颜色呢,光谱是什么东西呢对吧,然后这个这个我们所看到的到底是什么呢,就这些东西对吧好,那这样一来呢。

我们这个呃差不多就把这些杂七杂八事情弄完,下一周我们就可以呃进入呃说模拟与仿真这块的内容好吧,那么呃同样道理啊,这这个星期没有相对应的作业,所以这个大家听一听啊,算是了解一下这个同学之后,呃。

这个算是背后的一些这个简单知识啊,没什么问题,那么呃大家在关心的一个事情啊,大作业我们什么时候会呃给大家放出来对吧,然后这个很快就是现在大家这个这个正在制作中,然后很快很快就可以放出来。

然后记得我们之前安排的时间啊,到4月19号,然后大家去提交啊,提交一份这个这个大家准备做什么什么事情啊,然后如果说你要是做我们这个给定的一些题目,就是这个就不需要交了。

然后如果说你要做一些这个呃呃其他的题目啊,然后而且其实如果你自己想自己选题,做一些更有意义的东西,然后这个欢迎呃这么做啊,我们非常鼓励这么做,然后呃到时候你就只需要写一写这个你想要做什么。

然后反馈给这个助教同学就可以了,到时候呢这一份这个所谓的proposal呢会作为一次作业提交,然后呃如果你这个呃呃还还是一样哈,就是说如果你的选题是从我们给定的系列里面选题呃,里面随便挑一个。

然后这个就不需要写啊,只是你说如果要自己做一个新的呃这个项目,然后你就写一份这个proposal,非常简单,写清楚要干什么就可以了啊,没有任何篇幅上的要求好那么就是这个事情好。

那么咱们这今天继续今天的话题,那咱们从什么说起呢,咱们从成像说起对吧,我们一开始说啊,计算机图形学有两种成像方法,一种呢就叫这个呃光栅化成像对吧,是上面这幅图对大家可以看到这个软阴影对吧。

然后嗯一种呢是光线追踪成像,然后我们说到光线追踪还有高级的话题对吧,但这两种成像啊其实都是相当于是一种合成的方法,就相当于这些这些东西啊,在自然界中或者在这个世界中,其实并没有存在,对不对。

那我们成像起来,这可不只是说嗯做一些这个不存在的这些东西,也就是说通过合成方法来成像,我们也可以通过捕捉方法来成像,什么叫捕捉方法来成像呢,就这个capture啊,什么叫capture呢。

意思就是说啊我这真实世界中存在的一些东西,我把它变成照片,这就是什么像,没问题哈,就是说这是非常朴素的理解,但很对,然后就是说嗯当然有各种各样复杂的这种成像方法,嗯。

那么最简单的一个这种这种所谓capture,所谓主捕捉的这个城墙方法用什么呢,因为相机对吧,拿个相机随便往一个地方拍张照,那就是成像没有任何问题,所以丞相作为这个图形学中的一个重要组成部分啊。

我们肯定是要说的对吧,那这就是呃我们这个呃一些这个背景,那么呃肯定有同学关心说,那个现在肯定是不是有人还在研究各种各样别的什么成像技术对吧,然后怎么样去更好地捕捉各种各样的光,呃这个是有的。

而且现在大家也非常积极在做这方面的研究,比如说呢我就知道有地方在做什么研究呢,做这个光线的传播啊,这个光传播其实有时间的对吧,大家知道不是光是以光速传播,那么我能不能限制说我在某一个极其微小的时间内。

然后这个呃这一段呃我能看到的这个光是什么样一个情况,诶这里发生了什么嗯,没诶我们又回来行,没问题哈,就是说嗯这个有一些研究可以研究光在一个极短的时间内,然后它的传播,然后我会看到什么。

你就可以看到这个光线真正在这个空间中进行传播的这么一个过程啊,这个过程叫transient imagine,如果大家有兴趣的可以看一看,就整个的这个image的这个范畴呢。

更多是在这个计算摄影学叫computational photography这块里面做这个研究,那么这怎么区分各个不同的这个方向,我们之前在第一节课上也跟大家提过对吧,简单说过这个事情。

那么咱们回到图形学上的这个这个话题上来,既然我们说捕捉,那咱们今天就从相机开始,这个相机是最简单的这个这个呃所谓成像的工具对吧,我们直接这个拍张照就行了,那么相机的背后到底是什么。

那这就是咱们今天要讲的话题。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

好吧嗯好嘞,那咱们这个开始先说camera对吧,那所谓这个相机呢它是什么呢,大家可以看到这是一个相机,这是一个相机的截面图啊,然后这这很少大家可以看到这么一个形状对吧。

可以看到它的内部到底是一个什么样的构造,大家可以看得清楚啊,它有这些这个镜头对吧,很多不同的这个棱镜组组在一块,然后呢它又有一个机身,它最后又有感光元件。

然后它这个这个有各种各样的这个各种不同的步骤对吧,咱们今天把这些各种各样的原理可以都讲清楚。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

而今天的内容挺多的,我讲快一点,然后这样咱们把这个时间争取能不往后拖啊,那么是这么回事啊,就是说我们提到相机,我们很容易想到的是这个相机带一个大的这个镜头的这种对吧,然后这样的相机。

但是在这个很古老的时候啊,最早的情况下,大家这个研究相机是从一个最简单的现象叫做小孔成像开始,那么小孔成像是什么意思呢,就是说啊比如说咱们看这个人对吧。

然后这里有一个这个这个物体的一个一个就就就是某一个表面吧好吧,一个纸板好吧,中间钻了一个孔,这中间钻了一个孔,我们知道光线直线传播的呀对吧,如果这个这个这个人可以被我们看到的。

这个人肯定在往四面八方反射光线对吧,那么它肯定任何一个部分都在往任何一个其他地方反射光线,那么那如果比如说这个从这帽子上啊,如果往这个水平方向反射,它会被挡住,那它往哪儿反射不会被挡住呢。

它就只会这个往这个洞这个方向,如果他正好钻过这个洞,那这这条光线就不会被挡住,那么大家看,如果我认为这个点是一个理想的点,那么所有的这个不同的这些呃有反射光的这么一些点啊,都可以有反射光往这个洞里面去。

那么他自然就会形成一个在另外一侧,形成一个和之前这个左边这个人呃倒立的一个一个这个像,然后如果右边我们放一个所谓传感器,我们把记录在某个胶片上诶,我们就可以得到一张一张这个相片没有问题对吧。

哎这个道理这个很简单,那么这个这个相机呢小孔成像的原理是有真正对应的相机的,这种相机就叫做针孔相机,叫拼后camera好吧,然后呢它当然我们平常见的最常见的还是这种带棱镜的相机。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

那咱们今天都会说好吧好,那么呃我们这里呢就是就是说这个呃,把这个相机的各个部件先给大家说一下,比如说这里看到的这个这个部件是什么东西啊,这个是在这是去掉了镜头的相机对吧。

然后大家可以看到嗯这个嗯去掉了镜头呢,这块是什么呢,显然是控制光是不是能够进到这个机身里面去的一个部件。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

那这个部件就叫做快门啊,叫shatter,然后shatter呢能够控制这个光在多少多少分之一秒内,然后进入这个相机啊,这是一个不讲,然后呃那咱们看这个当这个光进入了相机之后怎么办呀。

那肯定是要被捕捉到对吧,什么东西可以捕捉光,并且可以把东西记下来呢,那这个东西就叫就叫做传感器,就叫做sensor对吧,呃这是一个这个这个嗯部件。

然后这里这里其实从标题上大家可以看到这个部件到底记录了什么,对吧,大家肯定是学了这个光线传播,特别学了辐射度量学之后,大家可以解释很多问题,比如说啊我们就说这个传感器上面任何一个点。

或者说咱们把它理解成像素吧好吧,然后这任何一个点记录的到底是什么,然后这里已经告诉大家记录的是irradiance啊,然后这是怎么回事,咱们马上就说好吧,呃ok那咱们现在看这个例子。

那我们这就这就知道说这个如果有一个相机啊,它没有棱镜,或者说他没有那个针孔嗯,这个是不是我还能拍上一张照,哎这个是不可能的,为什么呢,因为你如果直接把一个这个感光元件啊,就是这个右边假设是一个传感器。

然后感光元件放在一个人的面前,那么呢它任何一个点上,它都有可能收集到来自于这个不同方向的这个光对吧,我们知道人的反射光吗,任何方向,比如说看这个蓝色的线都有可能感受到这个点,而这个点本身作为传感器。

它又不区分来自各个方向的这个光线,那这样的话他就把所有的这些呃,这个来自各个方向的能量都给综合在一起,反映在这,个点上了,那我们就可以理解成他收集的就是以radiance。

他收集不了radiance信息,那所以既然这样的话,那我们肯定不能直接用一个这个传感器放在人面前,那就所有东西都是糊的啊,就是这么个意思好吧,所以很多东西呢我们都可以通过这个这个学习。

这个这个呃这个相关的知识来解释啊,那咱们这里先确认一个事情,对于传感器上的任何一个部件,一个点啊,它记录的是irradiance好,那这就是这么回事,但是有一点要说啊,就是目前来说有人在研究这个事情。

研究出来一些传感器,它可以这个通过方,向性的这些光就是不同的方向,它可以这个分开记录,然后这个呃分开这个船感分开记录啊,这个非常厉害啊,就是有人在研究这些东西,所以说现在科技还是在发展的。

然后这个目前来说,咱们现在还是这么认为,说传感器现在记录不了radiance,只能记录以radiance好吧,那就到这,那么咱们现在先从最简单的这个相机开始说啊,我们说这个针孔相机。

那针孔相机的成像过程是怎么做的呢,那我们现在来分析一下,那么早在这个公元前哈,大家就会发现有人就已经发现了这个小孔成像的原理,然后,比如说这里大家可以看到这个右边这个高塔,然后他们分的反射光。

然后经过了这么一个小的这个这个针孔,然后投影到这个幕布上对吧,然后也就是说这个针孔相机呢。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

这个大家都对这个很早这人们就已经发现了好,那么事实上来说,针孔相机是直到今天,我们甚至还可以用它来拍照,没有任何问题,就是现在大家用的都是这个各种各样的带棱镜的相机,没问题,但如果我们真正能做一个针孔。

比如这里啊,大家看到一个硬纸板,然后这个中间有一个能透光的地方。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

大概是6mm的直,径是这个安排,然后呢我就可以这个用这么一个这个小的这个针孔,然后这还是同样和那个刚才大家看到这幅图一样,然后我可以对着某个场景拍,然后我把这个拍到的结果给记录下来。

在这个呃记录在某个胶片上,然后我就可以拍出这么一个场景诶,大家会发现这个还还真是可以拍出来,这个效果还是不错的对吧,那么嗯大家在学了这个课后面的部分就会就会发现啊。

这个针孔相机他拍出来的东西是没有深度可言的,就是它的任何地方都不会是虚的,都是一定是清楚的,所以说,你这个无论是前面还是后面还是中间各个地方,都一定是这个这个光滑啊,不是叫光滑了,就锐利的啊。

然后就是说看不到这些会虚化的一些地方,那么虚化到底怎么回事啊,这个咱们之后就会说这是因为棱镜的存在啊,然后嗯这里针孔摄像摄像机,这里我们说清楚,这里针孔摄像机呢我们做嗯关于追踪的时候。

用的就是这种针孔摄像机的这个模型,所以正如我们这么做,也得不出这种这个会有这种不同的地方,会有不同的模糊,所谓的景深的效果好吧,然后嗯这里呢这个我们就先说,到这儿那同样道理反过来对吧。

如果大家可以去模拟这个啊光线如何与棱镜作用,那我也可以做出这个这个带有景深的渲染,那咱们这个课之后会说好吧,那么这里就是说小孔成像的这个针孔摄像机完全可以拍一张照片。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

没有任何问题,好吧好,那这么一来呃,这个呃我们开始在逐个的介绍各种各样不同的概念好吧,那咱们从最简单的开始,咱们从这个所谓feel the view,也就是市场开始好吧。

那么市场说的意思就是说我能看到多大的范围啊,那我能看到多大的范围呢,这个这个我们好理,解对吧,如果我们拍张照对吧,所谓是个什么广角这个这个镜头对吧,然后这样就意味着我能拍这个更广的角度。

也就是说我能看到这个所谓市场更大对吧,f o v更大,那如果说我对于普通的这些,比如说这个iphone上的这个这个相机嗯,它对应的这个field of view,它就相对比较窄,对是这个意思好吧。

然后我们更关心的是什么呢,是说什么因素能够举决定这个市场对吧,那这个是按说这个相机设设定的时候,他就应该能够设计这个东西,答案是可以的,没问题,那咱们就从这个小孔成像的针孔,摄像机来理解。

那这就是说我们先不说这个这个啊棱镜这种相机的好处哈,就是说我们小孔成像其实很容易理解这个市场是多少,因为它有一个简单的相似三角形关系啊,我们看到这个出去的这个这个三角形哈,就是这个带这个呃。

就是就是比如说从某一个小孔,然后往这个世界去看对吧,它是形成某一个角度,然后如果我反向延长这么这种角度啊,然后它会达到这个呃传感器上面,那我这在设计的时候,我希望这个把这整个传感器的所有地方我都用。

我都利用清楚对吧,然后我的,定义呃这么一个事情,就是我认为呃这个传感器会感受到这个所有的这些光线啊,就是说我这个呃比如说我传感器的边缘,我连一条聊条线,然后连小孔,然后它就打到这边。

这个右边呢连连一条线,连到小孔,可以打到左边,那么这中间的区域我觉得都能看见对吧,我们这这样认为肯定没问题好,那我这个这个传感器它的宽度我认为是h呃,正常情况人们认为是高度哈,就是说我们定义这个所谓。

但是这个fd view的时候,正常会定义水平和垂直两个不太一样,咱们以垂直为例,正常咱们不,说就说这个数值方向上它的这个可视角度是多大,好吧,呃跟之前咱们定义这个这个投影是一回事。

那么我说这个呃传感器的高度是h,那么再再定义一个量,我定义传感器和这个和这个小孔之间的距离哈,然后这里咱们先忽略这个棱镜的事情,和小孔之间距离,我们认为这个东西叫做焦距好吧。

然后当然对于小孔来说不存在焦距这个概念,没关系,咱们这么定义好吧,那这样定义的话,那我这个角度啊,这个呃feel the view角度啊,那太好算了,怎么算呢,你看咱们把它p一半对吧,p一半之后。

我这个我就知道它对应的角度就应该是这个下面这个三角形,它是一半角度,这一半角度是什么呢,我知道这一半角度的tangent,那就是二分之h除以f,那自然而然我就可以通过这种方式把它给算出来。

那么如果我把这个这个呃这个传感器啊,呃拿进拿到这个跟小孔更近的地方呃,那这样的话我就知道哦,原来这个时候我的呃焦距它就变小了,焦距变小了的话,那对应的这个呃这个市场就变大了对吧。

那所以说我们就可以通过这个它的内部设计啊,然后来这个推断出它对应的市场有,多大啊,是这么算,很简单啊,好那不同的这个这个市场,那肯定会决定不同的拍照的结果,对不对,然后这肯定是需要一个这个严格的定义的。

那么怎么定义呢,我从我们刚才的推导来看啊,这个市场和什么有关系,和这个传感器大小有关系,和焦距也有关系,诶那这怎么办呢,那这个这样的话,我这样定义市场是不是不太好定义呢,对吧。

那所以说人们通常在定义市场的时候,人们认为是以这个35mm格式的胶片为这个为为这个这个基准,就是我认为传感器如果都是这么大,然后我来,定义它的这个它的这个这个呃通过定义它的焦距的方式。

我来定义它的这个呃呃field of view就是这个意思,那这就造成了说我为什么在市场上买这个各种单反的,这种这种这个镜头的时候啊,然后大家就会发现它有一个焦距的这个这个呃概念对吧,17mm。

17mm呢它对应的就是广角镜头,十几毫米是f短的,就焦距短嘛,焦距短,然后我对应又是相同的这个呃传感器的大小,那我得出来的这个视野肯定就大嘛对吧,所以呃道理就在这儿,所以我们平常会这么说好吧。

然后这里有一,点正常情况,如果大家看手机,手机上会告诉你它的焦距是28mm,是这么这么一个一个概念啊,然后或者说更大或者说更小,但是你大家可能会问这么一个问题啊,会问这么一个问题。

就是说我手机总共才多厚啊,我手机总共厚度不到1cm,那怎么可能它的焦距是28mm的,这怎么可能是这么成像呢,对这就是说我们之前的这个定义哈,我们说它的焦距是指对应到如果是35mm大小的。

这个这个这个这个呃胶片呃,我们认为它焦距是多少,那对于手机来说,它的它的这,个胶片肯定更小对吧,然后呢它的这个这个呃那它对应的焦距也就其实小很多,他这个只是说等效的这个所谓嗯呃焦距是多少。

是这么个意思好吧,这就是我们平常的定义方法,咱们知道就好,这以后再看到手机的参数,咱们能明白对吧啊这个是非常好理解啊,那么咱们看一看那不同的这个角度的镜头呢。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

自然可以拍出各种各样不同的这个效果对吧,比如说大家可以看到这四幅图,这四幅图是站着同一个地方拍的,但是用了不同大小的这个呃这个这个而是市场好吧,就是feel the view,各,不相同。

咱们从这个示意图上可以看到不是不是多大哈,但是可以看得到,就是说这个当你的市场越窄,你可以看到东西其实越远对吧,就是这个意思啊,好那没有问题,呃,这一块儿就是挺简单的一些一些这个基础知识。

那么呃如果我们看这个另外一个因素,我们刚才一直在说这个焦焦距的事情对吧,我们说焦距这个在不同的焦距的情况下,那我可以改变它的市场,那我认为我的这个这个所谓这个感觉这个传感器,然后它的大小是不变的。

那如果说我真的能改它的传感器的大小对吧,我用了一个大一点的这个传感器和用一个小一点的传感器,那自然而然这个小一点的传感器就对应小一点的这个呃,这个是市场对吧,就这个这个可视的角度。

那从这个这个图上来看啊,再明显不过了,呃如果我减小呃传感器的大小,那当然对应的这个角度要减少好,那就没问题,那也就是说有两个因素决定,平常我们定义会用一个会固定这个传感器的大小。

然后去用所谓的焦距来衡量它好,咱们把这个弄明白就行,那么另外一点要给大家说的呢,是这么回事,这里呢其实我在这个这,个怎么说呢,混淆是使用两个概念啊,一个叫传感器,一个叫胶片,这两个事情它不一定一样哈。

就是说这个呃平常我们大家认为这是一回事,因为传感器上我就认为各个不同的呃不同的这些点吧,嗯然后他这个对应他最后会写到这个对应的位置上面去,所以它有一个一对应关系,就是说呃我认为传感器接收到的图像。

那就是我最后呈现出来的图像,但正常情况下,其实呃我们不区分这个概念没什么关系,就是所谓sensor和film,我们可以认为是一样的,但对于渲染来说,对于如果大家用渲染,器这里多多给大家说一句。

这两个概念区分,这个传感器呢就负责来记录所谓最后的这个收到的dients到底多大,每个像素最后的film,然后由大家来决定到底要把它存成什么样的图片格式哈,是这个意思,所以说呃这两个概念可以不一样。

但是对于我们目前来说,我们把它给混混淆时使用。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

好吧好,那这就是传感器和呃这个胶片的事情,那么传感器当然有不同的大小,那咱们刚才已经说了,对于一个正常的大的这种相机对吧,它有大的这个传感器,那当然它就可以有更大的分辨率对吧,也就。

是说所有不同的相机它价格各不相同,然后好多相机都是大的相机对吧,这很好辨辨认哈,就是在买相机的时候,相机机身越大越好,然后这个镜头越大越长越好,就是这么回事。

然后当然这价钱也是这个按照这个上升的没什么问题,所以大家会发现学图形学可不只是要学会啊,数学啊,物理啊,可是这生物啊各种各样不同的这个这个这个这个学科啊,这个还得有点家底才能研究明白这个相机什么事对吧。

好吧啊,这就简单说一句哈,然后大家看这个手机,手机对应的传感器呢就相对较,小对吧,然后这就是为什么手机可以用一个非常短的这个焦距,然后从而还能够达到一定的这个嗯可视的角度对吧,好啊,没问题啊。

那么行没问题啊,那咱们这个呃现在再进入下面一个这个这个事情的一个很小的事情啊,就是说如果说你有一个这个小的这个手机,那怎么办呢,你要又要又要让它这个保证有相同的这个这个field view。

咱们刚才就已经说了对吧,然后人们是怎么做的,咱们刚刚才其实已经提了,对于这个手机来说,那他如果说小的传感器,那我就把这个这个焦距也给变小,那,么其实可以达到相同的这个build of vie。

这是没问题的好吧,那嗯基本上就是简单就是就是这么做,就是相当于feel the view,然后和呃焦距和传感器大小这个关系非常这个简单明了好吧,那么呃咱们进入下一个话题啊,咱们再说另外一个事情。

咱们刚才已经提了几个概念了,你接着说下面一个呢我们要说曝光这个所谓曝光度啊,或者曝光是一回事啊,exposure,exposure到底是什么呢,咱们可以这个从这个公式开始看。

exposure定义成h h等于t乘一,哎t成e是什么东西呢,下面其实解释了就是exposure啊,是相当于是,irradiance成time是这个意思,那这个怎么理解呢,很简单。

如果你对着一个明亮的场景,然后你拍一张照,你得出来的结果是不是看起来就亮一些对吧,那如果说你对着这个一个比较暗的场景,但是你这快门按下时间很长,然后你觉得曝光时间很长。

那你也可以得到这个这个一个一个一个比较亮的照片,那所以说通通通过这两个道理对吧,一个是进了多少光,一个是我让他进来多长时间,然后把它累积起来就可以得到这个曝光度。

那么大家在这个概念上就可以联系到之前咱们说辐射度量学上,我们辐射度量学生一直在说单位时间对吧,单位时间呢这个有光达到这个呃某一个表面又单位时间又辐射出去,那我们就考虑单位单位时间就好了。

那么这里照相可不是考虑单位时间,这个照相是考虑整体的事件对吧,那我这个自然而然我把这个快门留着,这个这个这个时间很长,那更多的光就可以进来,就可以被传感器这个捕捉到,那么自然而然得到的结果就会更亮。

所以它跟时间有关,他记录的最后就是能量,就是这么个意思对吧,所以它记录的不是power对吧,它记录的是那个嗯,就是就是就是就是不是单位时间的,而是总共的这个能量啊,ok啊那没问题啊。

咱们说到这个这个这个这个exposure这个事情嗯,这就是说这两个事情呢在相机里面就是决定给这个曝光的两个因素,一个是时间呃,一个是这个呃所谓这个过了过了多少光,就是这个radiance自己对吧。

这两个事情在相机里面其实都是有体现的,特别是时间时间呢在相机里面它的体现非常明显,那就是快门,这个我可以控制他这个有多长时间光可以进来对吧,这是一个那么这块呢相信大家拍个照都会明白这个事,情好吧。

那么我再说一下这个事情是怎么回事呢,就是说啊就是说我记录sensor上面的任何一个点,我说他设置他感感知到的这个所谓irradiance,对不对,然后由相机的哪些部件可以决定诶,这个就比较有意思了对吧。

然后呢它是由很多因素决定的,然后其中有一点我们要说的是这个所谓这个光圈的大小呃,这个aperture的事情咱们之后会单独说好吧,这个光圈的大小会影响到你这个到底这个镜头接收到多少光。

比光圈其实就是挡光用的吧,就相当于是如果你把光圈这个放的比较开,那这样的话就,更多的光直接会进来,那单位时间内得到接收到的erro本来就会多对吧,咱咱们考虑相同的曝光时间,那所以有很多事情啊。

在这个相机上我们都是可以单独来控制这个不同的这些这些呃部分,然后来决定最后的这个曝光度是多少,那咱们可以做一个总结,那在相机里面这个到底有哪些因素在影响最后的这个这个照片拍出来,它到底亮还是不亮呢。

那首先我们刚才提到的这个事情,所谓光圈的大小,这个光圈的大小呢其实对于这个相机来说,相机是一个精密仪器,它是可以控制这个,光圈它的大小的,那么这个光圈的大小呢,你这个就是说它最大。

那肯定就只能开到跟镜头那么一般大对吧,然后就是说那这个可以可以继续变小对吧,然后这个由什么来控制呢,由一个东西有一个数字啊,叫f stop或者叫f数,这个马上就会给大家说。

这个东西呢可以控制这个呃这个这个所谓光圈的大小,那么光圈其实是一个仿生学的设计哈,就是说对于这个光圈来说,它是在仿照人的瞳孔,大家知道人瞳孔是可以动态调节大小的,那如果在一个相对暗的环境下。

瞳孔会自动放大,这样,的话你就可以这个这个单位时间接收到更多光吧,你可以看清楚更多东西,那如果在一个非常亮的情况下,你瞳孔会缩小,这样不让这个更多的光进来灼伤你的视网膜对吧。

那所以光圈其实就是这么个意思,就是一个挡光的东西啊,那当然他可以决定这个这个曝光度没问题啊,那么第二个是什么呢,我们刚才已经提到了对吧,这个这个呃快门。

这个快门呢更多情况下大家会这个更专业的来说就是short speed,就是说这个快门它本身有一个速度,或者说你可以理解成是这个快门开放的时间,那这是有一个关系的,就是说shelter speed越快。

就意味着我们这个快门它开放的时间越短,就意味着更少的这个光会进来啊,是有这么一个关系,咱们把这个搞明白呃,那这个刚才咱们已经说了,那还有一个咱们刚才没说的叫什么呢,叫做iso增益,那这个是什么意思呢。

这个这个呃有时候也被说成是感光度哈,这是什么意思,最简单的理解是什么呢,就是理解成这个i s o啊,它是一个后期处理,当你的这个这个最后这个感光感光元件已经感觉感到了,感知到了某个层级的光。

比如说嗯这个呃得,出来的答案是0。1好吧,然后你觉得答案你要把这个0。1这个它的所有的这些值啊,都给乘个十,你把它给乘到这个这个一上去,是这么个意思,就相当于它算是一个后期处理,它接收到多少光。

他该接收到多少,多少到多少,就是就算是多少,然后呢你只不过后期给它乘上某一个数,是这么个意思,可以这么理解啊,然后但是这个城它可以发生在各个不同的地方,它可以是发生在硬件上。

比如说这个这个这个呃传感器本身你就可以通过调节它的灵敏度对吧,然后来这个嗯增加它的,iso,然后呢或者你最后生成了这个这个相机的这个最后照片之后。

然后你也可以这个在这个呃照片的所谓数字信号上面去调这个东西,就是说这个iso的具体实现咱们不给大家说,就是说关于关于这块来说,大家就可以简单的认为是最后接收到多少能量,我乘上一个数而已。

那么这里呢呃我们就可以看到这几个因素,肯定都会影响到最后的这个图像的亮度嘛对吧,这样想,那么呃这样一来就是说呃这些因素各自都有什么样的影响啊,这就是我们希希望这个研究的问题对吧,那么我,们可以看一看啊。

这幅图其实非常生动,这幅图就说明了这个各种各样的这个呃这个现象啊,就是说我用这个各种不同的这些配置,比如说呃光圈的大小对吧,大家可以看到这个我们刚才说用一个什么东西来表示光圈的大小呀。

用一个叫做f数的东西,大家会发现这个写的其实挺明白的哈,就是外面算是遮挡物,黑色的遮挡物,那中间这块就是实际的光圈的大小,那么我会发现f后面跟着一个数,这叫f数,这数越大,其实光圈越小对吧。

就是这个事情把这个搞明白就好,那么这个这个,数到到后面越来越小的情况下啊,另外这个这种写法是欧洲写法,就是把点号写成逗号,这个是5。6的意思,这是1。4的意思啊。

然后就是说嗯这个呃哎我们刚才说对这个数字f数越小,其实对应光圈越大,咱们把这个搞明白好吧,那么shutter speed,咱们刚才说了shutter speed啊。

通常咱们用一个分数来表示这个分数其实非常好理解,就是我的快门开放多长时间,那我这个1000/1什么意思呢,我开放1/1000秒也是1ms,然后我可以得到这么个图,然后如果我开放这个2ms,我可以得到。

一个什么样的这个这个这样的图对吧,然后同样道理这个iso也可以调,那么那么在调iso的时候呢,也可以看到有各种各样不同的这种这种效果对吧,然后然后不同的i s o。

你就可以认为是一个直接简单的这种线性的往上乘啊,然后就比如说这里iso 100和iso 20相比,那i s o200 就是在iso 110100这张图上成了一个二唉,就这么回事啊,这样理解。

那么这是第一大家可以看到,第二大家可以看到另外一个什么样的现象呢,大家可以看到啊,我在改变不同的这些属性的时候,比如说,我改变这个光圈大小的时候,诶,我对应这些图为什么感觉这个好像不太一样对吧。

什么不一样呢,大家会发现我光圈用的大诶,我会发现这个这个照片就很虚啊,在一定的区域内就会很虚,如果光圈用的小,它这个这个整个图看上去都很锐利,是这么回事对吧,这是为什么呢对吧。

那如果说我对于快门时间来算,我这快门开的时间短,我可以看到一个比较这个正常的这个人在跑步对吧,那如果我这个呃快门开的时间非常长,我怎么会看到这么一个模糊的东西呢对吧,也就是说这些这些。

都可以都可以通过我们今天学这些东西来解释,那么咱们今天这个呃我们先把这个iso给说明白哈,就是说我们先从这个最简单的iso开始,毕竟嘛就是一个这个图最后往上乘了一个数对吧,这样想,那咱们现在这样想哈。

就是说i s o作为后期处理,就是往一个这个比较暗的图上面乘了一个数,那咱们现在对应到这个信号啊,或者别的什么这个这个领域上面去哈,任何一个信号它本身肯定得有这个呃噪声对吧,它有这些噪声的话。

如果你对整个一个信号去乘以一个很大的数,你会放,大信号不错,是的,但是你同样也会放大噪声的程度,这就是为什么说你如果在一个很暗的房间里面,然后你用一个很小的光圈里,还是用很小的快门时间。

你拍出来一张很暗的图,但是你用了一个相当大的iso把它给拉大呃,呃就是就是变得更亮,然后你就会发现它是变得更亮了,但是它同样得出来另外一个问题,那就是得出了这个呃,这结果就看上去非常非常的noisy。

也就是大家看到这右边这么一个效果对吧,这正是因为它是直接往上冲,他什么也不管哈,会有这么一个情况,那么也就是,说对于这个iso来说,正常情况下大家不愿意通过调节它来这个得到一个更那个的图,更更亮的图。

在一定的小范围内调没有问题,调到非常大的情况下,一定会出现噪声问题,这正是因为简单放大信号会同时放大噪声的原因好吧,那么为什么有噪声,肯定有同学要问这么个问题哈,那这个问题其实很深。

那咱们现在最简单的理解就是把光盛为是光子,咱们之前也想过这个photo mapping对吧,我们讲过这个这个呃算法,那么实际光线传播呢,我也是我也认为光线就是光子,那么如果说快门时间不,够。

那进到你的这个呃这个感光元件部分的这个光子数就少,光子数少造成什么结果了,看上去结果就是no easy,没有任何问题好吧,那这么理解是对的哈,然后只不过说真的想把这个事情给解释清楚不容易。

那咱们现在就先这么认为好吧,那咱们就先沿着这个i s o来说,我们先把这三块分别都说清楚啊,i s o是最简单的,我们刚才说了i s o呢又叫增益,然后呢它是简单的在你最后的结果上面去乘一下啊。

而且它是线性的iso 20就一定是这个iso 100的两倍,然后这个呃就是这么,一个就是这么个意思哈。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

好那没问题好,ok那么iso调iso会会不会得到这个噪声,是不是我瞎说的,并不是啊,大家可以看到这种就是说我控制其他的变量啊,我保证说这个得出来的结果,这个一张比张爱。

然后呢我再通过i s o把它给调回来,调成一样的这个亮度啊,这是大家看到的,那么大家就会看到aiso 100的时候,这个拍出来这个结果挺好的,iso等于18000的时候,唉不不12800的时候诶。

大家会看到这个结果的噪声就非常非常明显了,好吧,那这个没有问题,也就是说i s o确实,能够提升这个曝光度,但是同样会造成噪声的放大问题,好那iso是最简单的,那咱们回到前面的这个话题上来。

我们一个一个说,我们现在呢把光圈给说明白,那么光圈呢用来描述光圈的大小是有一个数的,咱们刚才说叫f数,叫f number,也叫f stop好吧,然后这两个其实是一回事啊。

当然这个更专业的这个相机领域有人区分这个东西,我们不区分,认为是一回事,平常的f数的有两种写法,两种写法,一种是f后面跟一个数,刚才大家看到的什么f32 对吧,然后还有一种写法是f后面打一,个杠。

然后这个数然后呢我们关心的就是这个数自己啊,咱们就把这个事情说清楚,就不管他怎么写,我们要的是这个n啊,这个n就是这个f数,大家要去拍这个用用这个单反拍各种照相,这个各种各种照片啊。

这这个事情肯定是要这个学习的对吧,然后就是说啊这个简单理解这f数是什么对吧,我们现在呢先给大家一个非正式的理解,咱们这个课最后会会这个给出正式的这个解答哈,就是说非正式理解怎么理解啊。

就是这个f数就是这个这个光圈,如果我认为光圈是圆的哈,就是,这个光圈的直径的这个这个呃逆也说,说白了就是一除以这个直径啊,一除以直径就是直径分之一这么个意思,那也就是说这个n越大,这一问直径越小对吧。

咱们刚才已经看到了f32 对应的是最小的光圈好,那没问题,那对应光圈来说,我调光圈,那显然我可以得到这个这个不同时候,这个呃呃不就是在某一个呃固定的时间段内,进入到这个相机内的这个能量对吧。

那所以当然我调光圈可以直接调出这个各种各样不同的曝光度,那大家看到这三幅图就是这么个意思对吧,那么,呃这个实际上来说呢,这个光圈来说应该还有更多的东西,咱们晚上再说,然后我现在先回到这个快门这块。

再给大家说这个快门的事情,那么这个快门这块是怎么控制的呢,对吧,然后这块儿我们以这么一个这个视频为例哈,这这这里我给他放出来,其实它是有声音的,但是他声音这个挺小的,然后我给大家解释一下怎么回事啊。

就首先我们可以先停在这吧,对困难好吧,呃这样哈就是这么说,就是说这个快门的工作原理是这样的,好诶大家可以看到这个动画已经看完了,对吧好,那咱们,回到回到开始,那这个光圈是唉呀唉好,这个光圈是怎么回事呢。

就一开始不是光圈啊,这快门啊一开始是关闭的,有一个镜子一样的东西,后来呢它会升上去,升上去之后,然后有一个这个哎这个快门突然一下打开,然后大家可以看到有这么一个过程,对不对,然后他就又可以把它关上对吧。

它可以可以突然一下打开,然后把它给关上,然后所以这呃会有这么一个情况对吧,然后这就是我们平常这个真正的相机里面控制这个所谓快门,就给多长时间,让光能过去这么一个过程,这是它实际,过程。

但我们关心的是哪一段哈,我给大家指出是是中间这么一段,大家可以看到这个快门突然一下诶,看从这里从这里完全关闭状态到突然打开,其实我说它是突然,它其实是有一个过程的,没问题吧,就是说我们实际上来说。

对于任何一个相机,我肯定不可能说我这个不可能说我这个这个快门在这个任何时刻,不不再是一个瞬间就突然就打开了对吧,那肯定得有一个过程,哪个地方打开了地方没打开,它再快也得有这么一个过程,而这个有同学会问。

那这个过程会造成什么样的影响。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

呢那会没问题啊,咱马上给大家说,那么这里呢我就先给大家说一说这个关于这个快门啊,它这个这个它的曝光时间,然后到底对这个最后的这个这个结果有什么影响,那么我们就说啊,当然它可以起到调节曝光度的作用没错。

但我们更关心它除了这个作用还会产生什么,咱们刚才看到有一个运动的小人,对不对,那如果我说我这个快门时间这个长,就相当于是我让光传进来更长的时间,那为什么这个小人就模糊了呢,哎这种现象就叫做运动模糊。

这个运动模糊就是正常情况下有东,西在运动别人握手,或者这种就是说这个这个呃高速运动的这些物体的情况下啊,这种情况就会容易出现这个运动模糊,运动模糊是怎么回事呢,其实这样好理解,为什么呢。

因为它和这个快门打开的时间有关,在快门打开的这一段时间内,然后这个物体呢已经发生了一些运动了,那咱们知道认为光线是以光速传播的,那么这个物体发生了一段移动呢,就意味着在快门打开的这个诶,刚开始他在这儿。

那快门就准备关闭的时候,他在这儿,那这样的话,你这肯定中间这个过程的肯定都会,被记录下来,那把这些过程都记录下来,你的传感器就起到一个平均的作用,看到的是什么呢,那就是模糊对吧。

那这个就是所谓运动模糊就是这么回事,好那么这里呢就是就是这么一个情况,那么这里就是呃给大家多说一点啊,我们说的是这种快门都是这种机械式的快门啊,就是说呃就是实际上它这个是这么个运作方法,就是有一些快门。

就是说呃这个这个呃其他方式控制的,咱们就不多说了好吧,就是说它是呃这个呃呃咱们马上马上马上就提这个话题啊,好那么这里就是说如果,我把这个快门的时间啊,就是它中间让光进来的时间给提高一些。

提高一些呢进来的这个这个光就更多,然后我在这个如果我物体以相同的这个呃速度运动,那它运动的范围就更更长,那我得到了这个所谓的这个运动模糊就更严重对吧,那这个反映了这这这么一个问题啊。

就是说我为什么用这个更长的曝光时间会呃造成更严重的运动模糊,那反过来想,如果我用这个等长的这个快门的时间啊,我快门时间不动,那物体当然运动越快越容易出现运动模糊,没有问题吧,对道理就是呃,这样的好。

那所以这个从这个例子呢,大家可以看到这些这些运动模糊,手抖的情况下就会出现各种各样的这种运动模糊的现象啊,就是就是说我们拍照为什么要保证这个要一个稳定的,这个这个这个手臂给给架住,或者用三脚三脚架啊。

就是为了减小这个在短时间的这个曝光时间内,然后产生的这种运动模糊好吧,这是一个事,那么另外一个事情啊,当然这是另外一个例子哈,就是说这个呃如果我用这个呃更短的这个呃曝光时间对吧。

我用这所谓更快的shutter speed,那这种得到的结果就,是运动模糊会减轻,没错吧,那当然大家会问,那这种情况下会不会曝光光度也也降低了啊,不对没问题,肯定曝光度也降低了。

为了达到这个相同的亮度哈,你肯定要么调s,要么还得调这个光圈,对吧啊,这个咱不说,那咱们返回头来说另外一个问题,就是说啊这个运动模糊它一定是坏事吗,不一定对不对,因为比如说大家要打过这些什么。

这个这个这个这个这个赛车类的这些游戏啊,就是说为了体现这个赛车的速度,然后就是说如果没有运动模糊,你会觉得这个车特别慢,就是这么回事,就是说人们在平常这个长久以来啊。

利用人的人的眼睛来感知这个世界的过程中,就自然而然造成了这么一个感觉,有运动模糊的,那一定是快的,就是这么一种感觉,比如说大家看下面这两幅图,大家会感到左边有明显的动态,然后看起来是很快的一个运动。

对不对,然后右边甚至是摆拍对吧,有可能是这个意思,那么这是一方面,另外一方面是说这个运动模糊到底怎么来的,然后对吧,然后就是说如果我不让他有运动模糊,那意味着什么,那咱们可以这么想,那么我在不同的帧。

比如说我,要拍一个这个视频啊,不同的帧,然后我用非常短的这个快门,那么就任何一个时刻我都记录这个物体运动的这个任何一个位置,但是实际上物体来说它的运动是连续的,那相当于是我在不同的帧。

也就是不同的时间对物体的所在的位置做了一个采样,那这个事情就和我们之前所说的这个这个叫什么呃,反走样就非常像,对不对,那我们平常来说,如果我用这个像素呃来采样,这个像素的中心是不是在三角形内。

我采用的是三角形这么一个信号对吧,那么采用这个像素,如果我这个分,布的比较开对吧,有一个这个间隔,这个像素跟像素之间有一定距离啊,这样采样出来结果它是有怎样的现象,那我们要做这个所谓的这个反走样。

那我就会引入一定的模糊,那么道理在这里是一样的,只不过我这里采样是在时间上采样,在时间上采样,这个就是说如果我这个呃有这个运动模糊的话,其实反倒是有反走样这么一个效果,是这么个意思好吧。

那就是说从两个方面,一个是人的感知,一个是通过这个这个时间上的,这个嗯采样这两个事情来分析这么一个呃杀了speed的这么一,个事情好吧好,那没问题,那刚才这个就有同学问了这个事情对吧。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

就是说对于有一些这个这个快门,然后如果他是这种电子控制的,我可以真的认为它在任何时刻就是同步打开对吧,任何一个位置同步打开,但是我们刚才看到了,这对于机械的快门来说,它确实来说它有一个过程。

它再快有一个过程,那如果说物体的运动比这个东西要快,或者跟他差不多,那这种情况下就一定会出问题,那什么问题,大家看到的这个问题就叫做rolling shutter。

问题就是这个shutter它是以一种某种方式渐渐打开的,是,rolling啊,rolling shutter问题就会造成对于超级高速运动的东西,比如螺旋桨就会造成扭曲,哎为什么会扭曲呢,很简单。

这就造成了一个结果啊,就是说你的这个呃不同位置的这个这个这个图像啊,就是图像上就是不同的这些这些位置,它有可能记录的是不同的时间的这个这个所谓进来的光对吧,是这个意思,那如果出现这种情况下。

那如果有一些高速运动的物体,那不同的位置记录的就是不同时候,那可不是要出现这种扭曲的现象,就是这种这种现象啊,就是这个通过这个呃就是这种快门,它本,身打开了时间这个事情这导致的好吧好,那没问题啊。

行那咱们把这个呃呃快门这块那就说到差不多,这那咱们和呃光圈两个事情在一块考虑,其实咱们刚才已经说了对吧,快门的时间我打开了短,打开的短呢就会就就会按爱了,怎么办,那我就就可以提高这个呃所谓的光圈大小。

怎么提高光圈大小对吧,然后就是说用更这个这个我想一想啊,提高光圈的大小应该用更小的f数对吧,然后所以说呃这些事情都是有相互对应的,特别是什么呢,比如说大家看到这这些,就是说这这个表格。

啊上下这么一些对应基本可以达到呃相同的曝光度,也相同的亮度呃,是怎么理解呢,大家可以看到这个f stop,比如说从4~8啊,f stop从4~8,那实际上是来说它是直径相当于是在减小对吧,然后直径减小。

然后那那对应的光圈的面积减小了多少,就是这样想,就是直径原本是四变成了八,那么它的面积应该变成了原本的1/4啊,没问题吧,直径变成了这个原来的1/2,那面积比例成原来的1/4,然后这种情况下呢。

你就应该用四倍的曝光时间诶,然后去补偿这个现象哎,所以说这个实质性都是可以放在一块儿去解释的,那带上i s o之后也不会有问题,好吧,呃唯一有一点就刚才我说的啊,这个f stop说的是直径分之一。

是这个意思啊,就是说我们要考虑多少光进来,那肯定是按面积算好,但是这么回事,然后呢这种这是不是说是不是说我们用这个f数用四,这个快门时间用1/60,他就严格拍出来的照片就相当于一。

就是和这个f是f stop是八,然后呢这个这个曝光时间是1/15秒,他得出来的两张结果就一模一样的,并不是,并不是因为咱们,刚才已经说了哈,就是说这个大光圈会引起这个前景深的问题呢。

咱咱们待会儿再给大家分析啊,然后这个这个曝光度又会引起这个呃不是曝光度啊,就是这个快门的时间呃,又会影响这个运动模糊这么一个事情对吧,那所以说呃这两个事情正常情况下都是这个需要权衡的呃。

所以说正常情况大家要拍照的话,如果你想要景深,你就不能考虑这个运动模糊,如果你要这个呃运动模糊就不能要谨慎,那当然这两个事情咱们之后再多给大家分析啊,啊这是这个事情好,那么就是把所有,东西都放在一块。

至少这可以保证说我们可以搞出一套,这个有相同的这个曝光度的一套照片,这是没有问题的,好吧,那就是这里了,那么呃有一个简单的应用,那就是说对于这个呃快门来说啊,对于这个快门的时间来说呃。

这个大家如果用这个东西用到一定境界。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

大家就可以拍出非常非常这个呃有意思的照片哈,然后这些都是什么,大家可以看到下面这两个游戏,明显一个子弹穿过一个苹果和这个应该也是子弹啊,穿过这个三个气球,应该是这么个照片对吧,那这里呢就是所谓的这。

个high speed就是高速摄影,那所谓高速摄影呢它其实是这么回事,咱们咱们想啊,所谓高速摄影就每秒钟我要拍更多的这个帧数,对不对,然后我再按照正常的帧数来放,那我每一秒要拍更多的照片。

就意味着我这个我我每每一张照片啊,留给他的这个快门时间就非常少,对不对,那就也就是说非常快的这个呃shelter speed,也就是非常短的快门时间,那我又要保证每一张我都能看得见。

我都要让他有正常的这个曝光度,怎么办,咱们刚刚才说对吧,那我就用更大的光圈或者更高的iso iso呢,大家不喜欢,就不希望这个结果最后会让他这个这个变得有噪声对吧,那这大爷就用更大的光圈。

那就可以拍得出没有没有问题对吧。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

那这就是大家去拍这个所谓这个高速摄影是怎么样做的对吧,高速摄影这个另外一个例子,这个大家可以看到运动员这个呃,抛网球以及机网球这么一系列的这个动作对吧好。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

那么另外对应一点呢,那对于高速来说,这个反过来了,那就是超低速,超低速大家怎么理解呢,大家就可以理解成是说哦我可以给一些照片特别特别长的曝光时间,那特别长的曝光时间呢。

那我就让它这个用非常小的光圈慢慢慢慢让他拍对吧,这是可以的,没有问题,然后呢这样所谓这个拍出来的东西呢就是延迟摄影,就是这是一个大家很喜欢的东西,在摄影界俗称拉丝啊,这看上去就像是有丝一样啊。

就是这个意思啊,然后这个大家可以看到这是一个延时自摄影的作品,这大概像是一个飞机的着陆对吧,或者是起飞,我这看不清楚啊,就反正这是这是一个例子啊,这是这是另外一个例子,虽然我没搞明白他是什么啊。

就是说它是在海面上运动的某样东西诶,然后他这个,这个通过很长的曝光时间,那么大家看到的其实是所谓斯啊,它就是呃就是运动模糊啊,没有任何问题,就是因为你在打开快门的这个时间段内,物体发生了剧烈的运动。

然后你都把它记了下来,就就变成这么一个情况对吧,那么还有一个这个这个作品,我猜测是这样哈,他在拍一个啊这个电线杆,这个电线杆子下面有各种各样的飞虫,飞虫。

它们运动轨迹形成了某一种某一个的这个这种延时摄影,不知道谁这么想的哈,当然看起来非常有趣的啊,没问题啊,那这样一来呢,这个我们就把这,个关于快门这么一个应用就给说了好吧,那咱们现在进入下面一个话题啊。

下面一个话题就相对这个困难一点啊,那嗯那咱们这里要给大家说的是什么呢,因为咱们刚才一直在说这个这个相机这个各种各样的不同的部件,然后有一个这个部件最最重要的地方就是说除了光圈啊,除了这些快门啊。

最重要的就是镜头对吧,那咱们现在要转移到这个镜头这个方面去说,那么呃大家可以看到这个标题啊,我们说了一个这个这个薄的棱镜的这个近似啊,这是怎么回事呢,那咱们从这个镜,头开始说起。

那么对于一些真正的这些棱镜来说啊,对于这个呃正常的一些呃相机,不管是什么手机的相机还是什么,大家看到这里是iphone的相机,他们的镜头都非常非常非常复杂,也就是说从来呃就目前来说。

应该不会有相机是用单个棱镜来来做成像的,大家都用一个棱镜组来做这个成像,大家可以看到这是多少层不同的棱镜组成啊,这里背后这个当然是感光元件对吧,就是说真正的棱镜非常复杂。

那咱们想用一个简单的方法来描述它,那么还有呢有一些棱镜它不像我们假设的这,么一些棱镜嗯,比如说像这种棱镜怎么呢,一面是凸的,一面是平的,像这种它们它就不可能把光给聚到一块儿去,他就有这么些性质。

就是造成所谓的aberration这种性质,就是说你这个平行光进来,按说棱镜的性质对吧,这个这个会把这些光聚集到一点,结果它就是聚做到一块儿去对吧,他就这个不满足那么一种形状。

所以说实际的棱镜啊它可能很复杂好吧,就是说我们研究的这个棱镜呢,我们先说明怎么回事,我们研究的棱镜呢是一种所谓的这个呃理想化的薄棱镜,这本身棱镜的厚度咱不,不考虑忽略不计啊。

那么理想化的情况他能够做一个什么事情呢,他做这么一个事情,就是说对于平行于这个棱镜的这个光如果打进来,他们都会被集中到一个点上去,这个点叫焦点,那么同样道理,咱们咱们定义焦距呢。

就是焦点到这个啊棱镜的中心这么一个距离好吧,这叫焦距啊,那么同样咱们之前学过这个光线的性质对吧,光度有可逆性,那也就意味着如果光线穿过了焦点,然后被棱镜折射之后,它会变成平行的一束光,好吧。

这没问题好吧,这个应该都好理解,咱们之前所有的这个,物理课肯定都会说这个事情对吧,这两个事情我们先默认没问题啊,过焦点一定会变平行星光,然后平行光一定会被这个聚到这个过焦点好,然后呢。

我们这里再多说一句,这个是什么呢,这里就是我们独特的一个假设的呃,我们假设说这一个薄薄的棱镜可以任意地改变它的焦距,然后虽然来说大家想到对于一个设计出来了的棱镜来说,它的焦距肯定是这个肯定是固定的对吧。

它不能改,我们这里认为他能改,为什么我们认为它能改,这正是这个现在的这些这些相机他们的好处,他们,用这个棱镜组的好处,他们可以通过各种各样不同的组合。

使得组出来的这个结果就好像是一个博棱镜能够改这个啊薄冷静,然后来改它的这个呃焦距一样好吧,所以在现实中你就可以认为说我可以改变我的这个棱镜的焦距啊,对这个非常好对吧。

那就是说现在大家的这些设计都非常精巧,可以来做到这个事情,那咱们把这个事情也作为我们一个基本假设,冷静的这个焦距可以动态改变好,那么棱镜呢会满足一个基本的这个呃嗯基本的一个物理规律哈,物理规律。

那除了我们刚,才说平行于这个这这种平行光啊,也就相当于是垂直入射这个棱镜的,这种光会被折射成过焦点以及过焦点的光会被变成这个平行光出去啊,这两个事情,另外一个事情是这样。

任何一个棱镜我们都可以假设从任何一个方向穿过棱镜的中心,它的方向都不会发生改变,这是对称镜啊,就相当于是任意的一条框,只要它过中心,它一定不改变方向,往前走好吧,那就这么一个意思。

那么我们现在看这个基本配置哈,我们左边呢有一个这个某一个物体,然后它经过了棱镜之后会成像到右边,这么一个物体上去对吧,然后这个大家都知道,那么我们可以定义两个两个距离,所谓第一个叫物距和物距。

就是z0 ,什么意思呢,就是这个这个物体它到这个棱镜的垂直距离啊,叫z0 ,然后另外一个叫相距,也就是它成像乘出来的这个像它到棱镜的这个垂直距离是多少好吧,然后当然我们之前定义过棱镜的这个焦距f。

那么对于棱镜的成像来说有这么一个规律,大家之前物理肯定都学过对吧,就是什么呢,就是这个呃这个焦距分之一等于等于什么呢,等于像距和物距各自分之一,加起来啊,这个也就是说他们有这么个关系。

那这个关系说明什么呢,这说明对于一个固定这个呃焦距的棱镜来说啊,如果要改变它的这个相距,它的这个呃呃这个物距啊,像距一定得跟着改,就这个意思就是就是这个当然非常有道理哈。

那么大家可能会问这个式子从哪儿来的呢,对吧,其实这个式子非常的简单,那这里呢给大家这个简单的解释一下这个事情是怎么做的好吧,首先平行光过焦点,然后过焦点的这个光会变成平行光好吧。

那么这样一来我可以得到这这么一个基本配置,然后大家可以看到我,我对于任何一个这个物体啊,某一个这种尖的物体,我可以成像成一个反应的向,然后我画两条线出来,222条光路,一条是平行光过焦点。

一条是过焦点出来平行光,而这个是很简单的,那咱们要看的是什么呢,那咱们不要忽略这条这个所谓欺负过这个终点的这这么一条路,呃,这这条光路,那咱们只看这么一部分,就只看这两条光,然后呢我们现在要推什么。

还记得吧,我们要推这个呃,物距,像距和焦距,它们三者之间的关系,那么它们三者之间的关系从哪儿找的,肯,定得从几何的这个方向上来找对吧,那我们看到了什么呢,我们看到了这么一个几何关系,大家来看大家看。

对于左边来说,就就是说我这个发出来的光啊,到达这个棱镜之前,我是不是可以形成这么两个相似三角形,一对相似三角形对吧,这个这个呃这个点它发出来的光穿过焦点,然后再打到轮胎上,而形成这么两个相似三角形。

所以有了这个第一组这么一个关系啊,就是这个物体实际的高度除以这个它它到这个呃焦点的距离,然后它应该等于什么呢,等于这个在棱镜上这么一段a,除以这个焦距没问题啊,相似三角形,那同样道理,这个过了棱镜之后。

右边我也发现了一个相似三角形诶,我发现相似三角形什么呢,同样的比例啊,咱们把它写出来对吧,同样比例写出来之后呢,然后我们就可以这个简单做一做这个数学运算,这刚才这两个比例哈,然后怎么做呢。

我把这两个对应的h啊,就是他两个对应高度物和项的高度给拿到一边,因为这俩我不知道对吧,然后这个比如说把h除过来,把这个z z0 减f拿过去,右边同样处理诶,都写成h呃,这两个对应他们两个高度。

这个像和这个呃物它们两个的高度,它们两个高度之比是一样的呀,那所以我就可以把这两个式子写在一块,挤在一块之后,他又会发现那剩下的全是最最简单的数学,我只需要解除这个最后的这个公式就好了,怎么做呢。

把它盛出来盛出来展开,展开了之后挪到一边去,然后就可以写成这个性格,所以这是非常非常简单的一个这个公式啊,这个公式就是反映了啊,咱们再次说焦距,物距相聚之间的这个一个一个关系啊,这个是一定都会满足的。

然后呢这个东西又叫做什么高斯的这个,这个这个定理哈,当然我们有时候就直接管它叫做这个啊薄棱镜的这个公式啊,这个非常简单,那前提是我们对于这个理想化的棱镜对吧,我们刚才说平行光过焦点,过焦点呃,会变平行。

好啊,那没问题,那呃这个呢非常简单,那这里呢有一个非常不错的这个演示软件哈。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

演示软件这里给大家演示一下,大家可以看到这个软件呢呃嗯大家也可以从这个链接中直接点开,我们刚才说啊,我们假设这个这个呃哎哟哈au好,我们假设说这个呃呃棱镜它有一个这个焦距叫f,然后如果我调这个。

这个左边啊s o啊,我们的这个概念用的不一样,但是没有关系,就是说你看我调这个物距的过程中,这个相机要跟着变,看,看见没,然后同样道理是这个另外一边我调也是一样的,就是有这么个关系。

然后呢我也可以调整调整这个焦距,那我可以调整这个很短的焦距,那这样的话物距和像距不太一样啊,就大家可以看到诶对吧呃就会有这么一个关系在里面,所以它们三者之间的关系很很清楚的对吧好。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

那没问题,这就是这个薄棱镜的这么一个基本原理好吧,那么我们通过这个宝棱镜,啊就可以解释好多好多的问题,我们根本不需要到实际的棱镜组,那怎么怎么来解释呢,我们先解释第一个问题。

这个所谓defocus blur,这个就是能够解释景深的这么一个问题哈,然后我们这个先来看这么一个简单式子呃,这是怎么回事啊,就是说我们为了解释这个模糊,我们得引入一个概念。

这个概念呢叫做这个呃所谓circle of confusion,这circle of confusion是什么东西啊,首先呢简称为c o c啊,circle of confusion,coo c。

这个coo c是什么意思,意思就是说啊你这个原本某一个这个呃,我知道原远处如果有一个这个平面,然后,这个平面呢所有的光它经过棱镜之后,都会被这个聚焦到这个呃右边这某一个平面上啊。

那我就说这个左边这个平面,这叫vocal play,然后右边是我成像的,这个就是就是看上去最锐利的这么一个成像平面,那如果说我的物体不在这个focal plan上,那会造成什么情况。

大家想大家都照顾这个这这个这个像对吧,然后开任何一个这个呃就一张照片出来,然后他肯定有一个地方,然后他是这个完美的,他不模糊的,然后其他地方都要模糊。

那比如说这个地方它远离了这个这个focal play,他肯定要模糊,对,吧那他为什么会模糊呢,咱们来看一看,是这么回事,就是说啊这个这个任何地方有一个点有一个点呢,它穿过棱镜之后。

我们知道这个呃我们可以算他这个用这个棱镜的这个公式对吧,呃焦距分之一,它就等于物距分之一,加上这个这个这个像距分之一诶,那这个像距分之一就告诉你它像距它应该成像在这,它会被聚焦到这里。

但是你的成像平面呢不在这个地方,你的成像平面在他离他有一段距离的情况下,那怎么办呢,我们之前想光线不会不会碰撞,光线继续传播,那继续传播就意,味着说我原本左边有一个点,那然后我经过了这个诶棱镜之后。

他到了这个点之后,继续再往前走,再往前走,就等于这一个点呢,当你被这个呃你的所谓呃叫什么来着,这个sensor感光元件了,那接收到的时候,它就不再是个点了,它变成了一片,那当然这是一个二维的一个图对吧。

它变成了一条线,那实际上对于这个呃三维的实际的情况对吧,我们认为这整个棱镜也是圆的,那整个这一个点它在你接收到的时候,它就会变成一个圆对吧,是这么回事。

那这个语言呢就叫circle of confusion,为什么呢,因为你,在这个圆这个这个范围内,你就区分不了它是这个这个哪个点来的,因为比如说你从这个点来,然后呢它也可以投影出来一个这个这个圆。

这两个圆就叠在一块了,所以你就不知道这个点到底在哪,所以这个circle of computer起的名字很很对的啊,没有什么问题。

那么我们来看看这个呃怎么来算这个circle of computer的大小对吧,那肯定这个和几个因素都有关,首先和这个aperture的大小有关系,然后怎么说呢,我们看这里其实形成了两个相似三角形。

大家看对吧,左边这么一个三角形,右边这么一个三角形,那么,我这个这个呃circle of computer呢,除以这个呃这个app它们的直径啊,然后我等于什么呢。

大家可以看到等于这这一段等于这一段除以这段太简单了对吧,相似三角形,那么这个这段是什么,大家看这个z i这个就是像距这个事情是我知道的对吧,因为我知道这个物体离它多远,那物距知道呃,这个焦距知道。

那像剧自然知道zi我知道,然后呢我又知道我的成像平面和棱镜离得有多远,所以zs我知道他俩一减就是这个d prime,所以我就知道这个式子了,那这个式子反映了什么问题哈,就是说这个如。

果我认为呃我这个嗯这个circle of computer和其他这些都没关系啊,其他假如说我可以把它这个固定下来,那也就是说我看某个距离的这个物体,它的这个模糊程度和什么有关呢。

是和这个app的大小有关系的,比如说我们把这个a拿到右边去,哎,那就说明这个c o c的大小和这个呃这个棱镜本身它的大小,它是成正比的对吧,我们得到这么一个关系,所以这个事情啊其实也都挺容易啊。

没什么问题,那么我们为什么要介绍这个所谓circle of confusion呢,是因为唉circle of confusion就直接告诉我们你看到的东西模,糊不模糊取决于光圈的大小。

那么光圈如果这个光圈除以1。4,这个f数是1。4对吧,而不是除以啊,杠哈,就是说这个这个啊光呃这光圈的f数是1。4,那就意味着是大光圈,大光圈自然就期待能够看到更模糊的效果,然后这个小光圈就看不到对吧。

然后呢这个在这个准备这个课程的过程中,我还专门查了一下这个c o c到底是什么意思,就是circle of computer,我希望给大家一个中文翻译,结果呢我发现了这么一个事情啊,这个实在是太有趣。

是不得不给大家分享一下,我拿去google翻译了,一下circle of computer,翻译成混乱的圈子,这是真行好吧嗯这个行吧,反正这个大家当笑话看了好吧。

反正这个也就是说ai距离统治世界还有段距离是吧,这个还得再努力还得再努力好吧,贵圈真乱是吗,这简直了行吧行吧行吧啊,这coo c啊这么个道理啊,就是因为你的这个一个点。

然后成像过来反映到了你的这个呃ser上面变成了一个圈啊,这个意思好,那么呃这个这个我们回头再来看光圈啊,我们不是说这个c o c跟光圈大小是成正比的嘛,对吧好,那这样一来呢,我们现在回头把这个光圈给。

定义清楚之前我们定义说是定义它直径分之一对吧,其实际上是不对的,它这个这个f数的定义它是有明确的定义的,是什么呢,是这个呃焦距除以这个这个呃光圈的直径好吧,那也就是说确实跟直径分之一有关系。

但是还跟还跟焦距有关系,是f去除以这个呃直径,那么正常情况下很多相机呢它都有这些这些各种各样的这些数,这f数比如1。42啊这些这些事情啊,然后就是说呃之前我们说了,他经常会写成f杠多少。

也直接写成f多少,我们就关心这个数就行了,好那么呃通,过这个定义我们直接可以看出来啊,对它等于什么呢,这个这个数是n啊,如果这f数如果我们定义成这个n的话,它就等于f除以a嘛对吧,f是这个焦距。

a是这个光圈的直径,那很简单对吧,那对于这些不同的这些相机来说,那么就可以直接算它的f数对吧,然后这个知道f知道d他一除就可以得到这个f数,那没有问题,那所以基本上来说啊,我们这也做了一个什么事情。

就相当于是把f数和光圈的实际大小和这个焦距。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

把这三者联系在一块啊,它是这么定义的行,那咱们为什么,要用这个呢,那就是说啊,还记得咱们刚才说这个coo c的大小等于a乘以某个东西对吧,a不就是那个那个呃光圈的这个直径吧,那自然就等于焦距除以f数啊。

焦距除以f数就于f除以n,那同样道理,这个大家又可以看出来这个coo c和什么又有关系对吧,这个coo c和这个呃这个n是有这个呃怎么说呢,就是有反比关系的对吧。

那也就是说我们平常我为了拍这个更清楚的这个这个照片,那我自然要用小光圈,就是这么一个道理对吧,那所以从上面这个例子大家可以看明白好,那就,没问题了。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

和f数也就联系起来了啊,ok那么下面一个问题就是这个说这个这个这个棱镜啊,我们之前不是说我们可以给棱镜做一个简单的模型,就是这个薄棱镜对吧,然后我们说光线怎么样穿过它,我们都知道诶,那么光线穿过它。

我知道那自然而然我就可以用薄棱镜来渲染啊,那我之前说我们用这个呃,正常的这个这个我们现在做plication也好,怎么样也做也好啊,我们都是从这个怎么怎么产生光线,还记得吗。

ratiation我们从这个相机往任何一个像素中心去连这个线,其实就默认了这是小孔,成像的模型对吧,针孔摄像机的模型,但是我们完全可以渲染出这种模型了,就是这样的,我们可以模拟这个薄冷静。

然后我们可以给它一个这个呃焦距对吧,然后我们可以这个把它给放置的,这个就是说我的这个成像的平面,所谓这个ser和这个这个这个镜头有多远,然后实际去做光线追踪,那这个怎么做呢对吧,这个很简单很简单。

大家来看这么一个例子,其实就完全就可以明白了,那么首先呢我肯定要先定义这个场景,定义场景,我肯定得定义这个棱镜啊,各方面的各种各样的事情,那,所以给大家一种设定方案怎么做呢。

首先啊我先确定我的这个sensor它本身有一定大小啊,这肯定得定义,这就是我的成像平面嘛对吧,然后它本身在空间中占了多大这么一个区域,然后呢我还定义一个这个呃棱镜本身的属性。

棱棱镜的属性呢就是它的这个这个这个呃焦距和它的光圈的大小,没问题吧,我可以定义这些属性,这些属性大家看到和场景都还没关系呢对吧,就是我先把这些成像平面和呃棱镜我都定义起了。

这里就没什么所谓camera position,没那个东西了,没有那个小点了对吧,我把,这个定义下来,那么下面一个呢我定义什么呢,我定义我把这个棱镜啊放的离这个场景中某一个平面有多远好,我就认为好。

我这个平面是是我想这个着重我去我去拍摄的,就是这个意思啊,然后就是这一个平面,我认为他这个呃离嗯我的冷静距离也就是物距是z0 ,好吧,我把这个棱镜真正的放在了场景上的某个位置。

不就说白了就是这个意思吧对吧,那我棱镜属性设置好了,这个sensor设置好了,我又把它放在场景中某个位置了,那这样的话根据棱镜公式,我知道这个呃物距的是是z,零对吧,然后我又知道它的焦距是多少。

我自然知道相距是多少对吧,那也就是说这样就知道这个a sensor呃,和这个这个这个棱镜的距离是多少的,就是这个zi没问题啊,这刚才我们说的这个呃薄棱镜的公式,那这样一来呢。

我们就可以实际来做retracing对吧,那怎么做呢,很简单啊,这么做就是说我我现在不就是想找一些光线,让它穿过棱镜能够打到场景里面去吗,那行那我对于我的三字上面呢,我来找一个这个哎呀,好。

问题是这样哈,有同学有同学问这个问题,说这个呃这个棱镜和透镜是不是,一个是不是一个概念,呃好像我一直在在这个混用这个概念哈,呃理论上来说应该是管它叫透镜,而不是把它叫冷静哈,呃棱镜应该是另外一回事。

嗯好那行,从现在开始我来改口啊,就是说不管怎么样,我们这节课说的都是这个length啊,然后呃就就叫透镜吧,好那没问题,那呃是这样哈,那我在这个成像平面上呃,或者说感光元件上选一个点x prime好吧。

然后呢我在这个透镜上选另外一个点,就是透镜本身不是薄的透镜嘛对吧,然后我认为他是在这个上面的任何一个一个点上,它本身就不是,一个圆吗,对我在上面选一个点,那这就是第二步好,那么我们选定了这两个点之后。

我把这两点连一连一条线,连一条线之后,我就立刻可以知道他会这个往另外一个方向去到哪儿对吧,就为什么我知道呢,是因为这个呃连着这条线啊,它是从这个这个x a prime等x prime prime对吧。

它这个中间他们两个的垂直距离就是相距嘛,那么我知道这个这个光过去了之后,他一定会达到这个x这个三点这个这个位置,这是在哪儿,他一定是在这一个哎平面上对吧,这这个不会有问题,然后这就是我们在。

用能力公式我们可以知道它会达到这么一个位置上去,那就没问题,那我知道呃,就是说穿过x prime和x这个prime prime,然后到这个triple prime上面,然后这条光线这是一个什么样的方向。

诶,这个是没问题的,可以知道,那我知道这个了之后怎么办呢,那我自然而然我就知道哦,这条这条光线最终会被记录到这个呃3s上的呃这么一个点上好啊,这样的话我就只需要考虑这一条线。

这个x double prime到triple prime这条光线上,它带有的radiance,最后算出来可以寄到这个x prime上就可以了,没问题吧,唉也就是说这个呃说。

白了其实就是简单利用一下这个棱镜公式去算一算,它这个折射的光线的方向就可以了,好吧那行,那这就没有问题啊,好我们那就进入下面一个这个这个话题啊。

啊那我说呃下面一个我们就可以用这个defocus blue来正式的定义嗯,这个景深这么一个概念好吧,那所谓景深,那咱咱们看这个两张这个照片哈,两张照片,然后他用的就是不同的这个光圈大小。

用大的光圈和小的光圈没问题吧,那么我就是说啊这个呃我们之前知道大光圈对应大的c o c,然后得到的就是一个点会变成更大的,一个圆,所以就会更模糊,没错吧,那么但是总归在有一些地方它是不模糊的。

那就是在他的这个这个这个呃就是focal plan啊对吧,在这个平面上都是不模糊的,那也就是说什么呢,也就是说啊我这个用大光圈和小光圈会影响到什么,会影响到这个模糊的范围对吧。

就是说我知道在这些地方它总是不模糊的,但是为什么这个稍微远点它就模糊了对吧,它肯定有一个模糊的范围,然后就是说呢我这个用大小光圈会影响这么一个范围,那咱们现在来研究这么一个范围好吧,这是怎么回事呢,咱。

们可以看到啊,就是说这个呃有有这个光,然后经过这个透镜透镜,然后它会达到某一个这个成像平面,在这个成像平面的附近一段区域内诶,这个区域内我都认为啊这个c o c是足够小的,大家看这里定义就是这么回事。

我们怎么定义呢,我们认为景深就是指在这个呃实际的这个场景中,有一段这个深度,这一段登录经过透镜之后,会在这个呃会在这个这个这个呃横向平面的附近形成一段这个区域,这段区域内我认为coo c都是足够小的。

是这么一个意思,好吧,这样想,那就那就没有,问题好,那呃呃所以说呢那我要算这个景深,其实我就是想算在c o c这个呃很小的一段范围内,然后呃我我基本上认为这个对应的那边我看到的这个场景。

这一段它是呃就是清洗的诶,为什么我们可以这么理解呢,你可以这样想啊,虽然他不是这么回事,这样想就是说你的成像平面不是有各种各样的像素嘛对吧,一个像素它再怎么说它不是一个点,它是有这个大小的对吧。

当这个c o c的大小跟像素相比,它只要跟像素差不多或者比像素小,哎我都认为得到的结果最后是锐利的,对吧我可以这么认为,那也就是说这就是为什么说我不止说这个成像平面。

自己成像平面附近的一个很微小的范围诶,我都是可以接受,认为这一段成像出来结果都是锐利的啊,这样想就对了,那所以说这个呃所谓景深对应的这一段就是这个cc小的这一段好,那么咱们来看这么一个这个图哈。

这个图看起来非常复杂,其实一点也不复杂,然后大家这个是怎么说呢,我说景深实际上是指这场景中间的某一段深度,然后使得它经过这个棱镜之后到达成像平面附近,在这个范围内,它的c,o c都比较小对吧。

我们就是这么说的嘛,那我可以考虑这个景深的最远处和最近处呃,最近处我可以让它穿过棱镜呃,呃透镜,然后让它这个到某一个地方对吧,然后最远处穿过透镜,它会到某一个地方。

然后这样的话呢我就可以得到这么这么一个范围,然后这个范围它对应c o c是多大,我自然也知道好吧,那这些我都可以用各个不同的距离把它给标注出来,这里呢不做推导好吧,这里其实想推导的话超级简单。

大家不要看这里量这么多哈,我们到底要干什么,我们要把这个the field也,对应了它这些深度,比如说最远的这个深度叫df大写d啊,和他最近的这个深度叫dn,以及他在这个这个聚焦的平面上。

focal plan上它的这个深度叫ds大写,然后他这个投影过来之后,不要投影过来啊,穿过龙透镜之后,它到这个成像平面附近,它对应的深度,我们希望把这几个深度和这个呃焦距给联系起来啊,就是这么一个事情。

那那就是说简单的来说,就是说我们看这边形成的相似三角形就好了啊,然后这里就不再给大家说了,看这个式子大家肯定都会明白,就在这个这个透镜的右边来,进行分析就可以了。

然后呢我们知道所谓depth of field,我们刚才定义了就是某一段深度多少呢,df减dn就是这一段对吧,然后这个深度到底有多少,然后我们就可以解出来啊,非常简单非常简单,真的不要看那么多数啊。

ok那么同样道理。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

这里也有也有一个这个这个例子哈,然后这里给大家看一眼,然后啊这是什么意思呢,就是说大家可以看到这边啊,从这个点到这个点,那这就是我认为这就是呃det field没问题,然后呢那我可以调一调。

比如说诶我可以调一调这个呃我这个不同的这个深度,假如,说我要呃我要看怎么说呢,就是说我的depth of field在变化对吧,然后这边就是我的这个sensor。

对应的就是sensor离这个呃透镜的距离在变化诶,我可以看到这个s离这个呃透镜距离近的时候,然后对应deft field就变大诶,然后这个离太远的时候,deft field变小,当然了。

然后还有一些这个这个其他的各种性质,比如说最简单的性质,如果我改变focal length对吧,就是说这个改焦距的时候会有这么一个会有这么一个这个现象对吧,然后这个如果我用这个大的焦距。

我就会看到更浅的这个david也就看到了这个就是只,有一小段是不模糊的,其他地方都是模糊的对吧,那如果说我要改这个f number,f number是什么,还记得吧,就是改这个棱镜不是透镜的大小呗。

就是光圈的大小呗,光圈改光圈大小的时候,我会发现也有这么一个性质啊,改光圈大小的时候,我会发现这个光圈越小,然后我发现景深越大,这个是非常能解释问题的,就是光圈越小嘛,我这个嗯透镜就越接近这个小孔对吧。

接近小孔的话,在各处都应该是这个清晰的,那也就意味着它的这个depth of field就是清晰的范围会大,有问题啊,那所以说通过这个大,家就可以这个呃去分析这个事情。

以及说我们还可以这个做另外一个实验,就是诶这里把它调回来,比如说我们可以调这个confusion,如果我对这个circle of confusion的大小,这个呃做一些限制。

我认为哈就这么大的时候我还能接受对吧,我还觉得这个时候这个呃各处城像这些东西都是清晰的,那我自然而然对应更大的circle of computer,得到的这个景深就越越就越深。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

就是这个意思好吧行,那这回这个这块景深这块就说明白了,景深就是指这个成像清晰的一段范围啊,这个意思行,那么我觉得今天应该是没时,间来这个继续讲广场和这个所谓loomy graph这个事情了哈。

然后广场咱们留到下一节课开始再给大家说吧,虽然颜色这块也有很多的内容哈,就是颜色这块涉及到感知,可能来说比这节课还要相对来说难以理解一些,为什么呢,因为这节课毕竟如果大家这个呃推导工作没有做过,没关系。

大家这个照相照得多,对这块理解肯定是没有问题的,那么下节课讲颜色与感知的时候,有很多事情是违背常理的,然后所以说我们嗯下节课再好好把这个话题说一说,在争取把这个呃广场再继续往后呃,看看吧。

如果有时间就讲,没时间算了好吧,那那咱们今天这个哦好吧,有同学反应说让讲完,今天就不讲完了,今天不讲完了,实在是不敢再拖堂了,那么嗯这这边是这样啊,我之前给大家解释过一小时15分钟,这是正常时间啊。

我原本之前这个课正常的课时时间就是一小时15分钟,然后呃那行没问题,那今天我们说到这儿,然后如果大家有问题的话,欢迎呃这个这个呃现在来呃,这个,发弹幕啊,然后我现在关注一下,然后如果没有的话。

其实现代摄影入门啊是是这么回事,就是说我们这个这个图形学嘛,这肯定是得把这个呃这个这个相机这块儿给讲讲明白对吧,就是说相机这里面涉及到各种各样的公式,但推起来真的不难,就是就是这么个意思。

就是咱们把各个这个不同的这些功能,各种不同的组件,它到底是什么意思,说明白就好,在这里给大家道歉哈,这个是确实它应该叫透镜,不应该叫棱镜啊,这是真是糟糕,我想当然哈啊,ok那没问题啊,如果有同学在反应。

希望想多了解广场的话,我想想办法多说一点吧,但其实从图形学的角度上来说,不涉及具体项目,广场本身挺好定义的,这个并不难哈,那那行没问题,有同学反映啊,曝光补偿和曝光时间,光圈大小有什么关系诶。

咱们之前不是这个说了吗,放在这个slides里面,三个的不同影响吧对吧,就是三个不同因素呃,然后f stop是光圈大小,也是透镜大小,这可以这么理解,可以这么理解。

就实际上来说你是通过不同的东西去去挡这个透镜哈,然后你就可以理解成我是在动态的改这个透镜的大小,这是可以这么理解的啊,没什么问题,对啊ok啊,这公式现在还有用吗,有啊有啊,就是就是现在来说。

虽然大家用这个呃薄冷呃,薄透镜哈,用的这个这个比较多,但实际上来说在生产制中间各种各样这个透镜组对吧,然后然后这些设计肯定还都要用到这些公式,然后他们还有各种各样复杂的这些呃不讲就不只是这个凸透镜。

还有这种凹透镜,还有一面是平的,这种凹透镜都会放在一块儿,这就是我说为什么组合在一块儿可以去动态的改变,改变它的这个呃焦距啊,是这么个意思,好吧嗯成像位置和焦点的关系是怎么理解。

这个其实完全不是一回事啊,就是说这个嗯对吧,丞相嗯就这样想吧,就是相当于满足这个呃嗯满足这个透镜公式的这个这样一些配置,就是说呃在物距是某一个距离的情况下,然后如果焦距是某一个距离。

你可以算出来一个相距,如果你正好把成像平面放,那那就是说你正好可以看到那个在物距那么长的这个这个距离的呃,那个平面它的清晰的投影投到这个呃这个感光的这个这个胶片上,所以说嗯应该是这两个之间没有什么关系。

是一个实际的一个一个这个位置和一个这个就是焦点的这么一个位置,就是说焦点它唯一的它的性质就是说这个过焦点会变平行,平行的会过焦点是这么个意思,它和实际的没关系,理解就理解成这个呃透镜左边画一个三角形。

右边再画另外一个三角形,就这么理解对了,好吧啊好嗯,今天讲的和视锥这个关系有,但是这个比较复杂,这我就不得不再多说了好吧,那ok那要不咱们今天讲到这儿好吧。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

ok那行,感谢大家的这个大力支持啊,那咱们这节课讲完还有三节课,然后嗯之后咱们在这个把后面几节内容再好好讲完,这节课就这这这门课差不多就可以圆满结束了,行啊,现在咱们把时间交还给技术秘书同学啊。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

感谢大家啊,咱们这几天后再见啊。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

GAMES101-现代计算机图形学入门-闫令琪 - P2:Lecture 02 Review of Linear Algebra - GAMES-Webinar - BV1X7411F744

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

那呃咱们这就开始啊,在这个课啊之前,我们先说一说是有几个事情啊,宣布一下,首先呢一个是呃每一节的课后,然后我们的这个呃这个课件会以这个pdf的形式放出来。

然后我们这个这个录录播也会也会放到这个games的网站上,然后这两者都可以在我们课程主页上找到,也就是通过我的这个主页啊,然后有一个课程课程主页,然后找到了之后,这个嗯课件和这个录音都可以看到呃录像哈。

然后这就是大家应该能够看到的这么这么一个表格,就是每一节结束之后都会有这么两个链接,然后呢有同学反映到说这个课件啊,然后嗯会会比较慢,然后从games的网站上。

大家也可以看得到这个呃在百度网盘上面上传的这个课件,所以说应该都没有问题啊,然后呃嗯这里大概就是这么一个方式,然后另外呢大家可以看到,比如说这个今天14号,然后这个说向量与线性代数,那么在这个课之前呢。

大家就可以先看,呃虎书,the tiger book,然后他的第几章,这个是书里面和咱们这个课上要讲的这个相似的内容,大家如果愿意的话,然后课程之后也欢迎再去阅读,好吧,就是说这本书本身就不做要求。

那么大概就是这么回事,然后另外一个呢这个今天是国内时间,已经是2月14号情人节,然后祝大家情人节快乐,然后如果大家现在还单身,祝大家早日脱单,早日找到另自己的另一半。

然后如果大家这个这个啊已经有了另一半的话呢,这个祝大家有情人终成眷属,然后长长久久好吧,那这个呃就说到这里啊,另外还有一点啊涉及到这个打赏的这么一个事情啊,这个这个和毫无必要啊。

这个这个嗯就是说首先这是一个本来就是这个公众平台公益的性质,然后这个要打赏就这个那显得多少有一点这个不合适啊,这个反正感谢大家,大家要是愿意支持我就多过来上这个课就可以了,完全没有必要来做这个打赏。

好吧啊,那就说到这里,那么这个我们上节课呢说到什么了呢,这个我们提到什么是计算机图形学,我们定义了一下,然后我们提到了说我们这个课啊分为四部分,然后如果大家还记得的话,光栅画几何。

然后这个光线追踪和这个呃模拟或动画这一块总共四块,然后呢课程涉及到这些网站啊,别的这些各种各样的这这个啊,这各方面的这些事情应该都已经交代到了,那么上一节课大概就说了这个事情。

那么这节课呢咱们要就要从这个最基础的内容开始,一点一点把这个图形学的基础这个开始构建起来,那么图形学呢其实依赖于很多东西,那咱们这节课主要是来说这个线性代数,大家可以看到这个标题非常恐怖,对不对。

这个swift and brutal introduction,然后这个这个其实是参考之前清华有门课的这个呃,这个这个这个标题啊,那个我记得当时那门课叫计算机入门。

然后这个课叫做swift and brutal introduction to computer science,然后大家国内翻译成超快萌这个计算机入门啊,然后我们借用一下概念,然后其实呢怎么说呢。

大家线性代数这个概念其实本身并不难,大家就会知道其实相对简单啊,没什么问题,咱们这节课只是说的快一些啊,然后啊这就是主要的内容,那么咱们为什么要说线性代数呢,是因为图形学依赖于线性代数。

其实图形学依赖于很多不同的东西,比如说这个基础的数学,像这个呃线性代数微积分,然后统计像这些都是这个非常用得到的一些知识,然后呢也涉及到一些基础的物理,物理呢主要就是涉及到光学和力学这些方面的知识。

嗯然后以及说随着现在图形学的发展,大家越来越看重说更高深一点物理学的知识,比如说其实我自己这边也在做类似的所谓波动光学的研究,就是说那当我们不能再假设这个光是直线传播这个时候,然后这种情况下。

这个光作为一种光波,如何与这个物体的表面材质进行作用,然后得到不同各种各样不同的这个这个这个呃外观啊,这都是这个图形学涉及到的东西,光学和力学这里,然后呢这个还涉及到一些杂七杂八。

各种各样方面的知识都会涉及到,比如说这里我特别提到信号处理,因为有很多情况下呢,我们要分析说这个这个这个出现了一些,比如说我们平常经常听到的一些走样这种现象,然后有一些叫做反走样的技术。

有很多这些技术呢在背后都是要解决一些信号处理的问题,然后另外数值分析这是一个非常重要的事情,有很多情况下,图形学其实就是在解一些复杂的一些这个数学计算,比如说积分。

像这个渲染整个过程其实就在解一个这个呃递归定义的积分,然后呢像这个模拟或者仿真,这里其实有很多在解一些比如说有限源问题,或者说呃呃各方面的这些扩散方程之类的事情,就是说嗯这块呢依赖了很多。

然后呢图形学还要依赖于另外一点点啊,这一点给大家提一下,还需要一点点美学,做出来点东西之后啊,其实这个大家都希望这个图形这个大家做出来的图形能够挺好看的,所以说有一点这个美感是很有很有必要的一件事情。

当然了上这门课也能够培养那么一点点啊,大概就是说我们会提到这么一些一些这个这些内容,这些呢渐渐的都会穿插在这门课里面,然后这个之后再给大家慢慢介绍,那么咱们这节课就会把这个线性代数说一下,嗯。

然后它更多的依赖一些基础的这些课程,特别是线性代数,然后线性代数呢我们主要要说一些这个向量啊,矩阵啊这些操作对吧,向量涉及到什么点乘,叉乘,也这个这个呃向量的呃,这个这个矩阵呢涉及到矩阵和矩阵的乘。

矩阵和向量的乘,然后比如说在图形学里面啊,咱们要表示一个嗯什么呢,一个点对吧,x y z3 个这个坐标啊,然后这个空间中的一个点,那我们用三个数来表示,这个实际上就是一种向量表示。

然后呢这个涉及到各种各样的,比如平移旋转缩放,各种各样的这个操作,我们都可以把它给表示成这个啊矩阵和向量的乘法,所以这些是非常有必要的,然而这些东西呢并不难,那咱们这个课呃。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

这里呢先给大家看一个这个例子啊,这个动画是我自己做的,然后呢这个嗯它为了说明的就是其实这个这个物体在旋转下,它会看着是长什么样啊,这个蜗牛的这个壳,然后大家看到很多不同的这些发光点。

然后但是呢这里大家要关注的点在哪呢,在这个蜗牛啊,它本身是在是在这个不断旋转的,然后如果大家这个仔细看的话,嗯其实这个这个这个蜗牛的旋转速度它一直在变化,也就是说它这个是从一边旋转到另一边。

然后到了两边突然就停下来,然后再再回到这边也是一样,并不是以一个固定的速度来进行旋转,这是一个非常简单的例子,所以说这个是很有意思的一个事情,然后这当然了。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

这就是一个旋转的例子,很简单,就是用一个旋转矩阵,然后咱们很快就会说,那么咱们今天的课呢最最基础的内容,咱们自然要从向量说起好吧,然后这个向量呢这个这个概念叫做vector。

然后涉及到数学和物理上面不同的定义,数学上更愿意管它叫向量呃,物理上更愿意管它叫矢量,就是那个箭矢的矢,就是就是射箭的箭,就是那个矢量,然后呢呃这个呃我们就管它叫向量好吧,这个没有什么关系。

那么这个向量呢这从名字就可以体现得出来,它表示的是一个方向,那么呃在这里大家可以看到,比如说呢我有一个箭头,这个从a指向b,那么这个向量其实表示的就是从a指向b这么一个方向。

那这个方向经常是怎么得来的呢,就是从这个b的坐标减去a的坐标,然后就可以得到这么一个向量,从a指向b然后向量呢如果你去平移这个向量,它表示的都是同一个向量,因为它只要指向同一个方向,那它就是同一个向量。

然后像这里这个ab向量b减a,然后,嗯b减a得到这么一个a b这个向量,然后我们也可以把它也可以把它写作另外一个用用某一个字母来表示,比如说写作a然后上面打个箭头。

然后或者呢这个印刷上面经常会涉及到这个向量,把它写作一个粗体的一个字母,然后写作a没有问题,然后呢这个向量最重要的有两个属性,一个呢是方向,就是这个a和b它当然了向量向量表示的就是不同的方向。

然后另外一个向量本身还能表示它的长度,所以从a到b,如果这个b离得远一点啊,那a和b之间这个距离长,那就是这个向量的长度要长,如果要短的话呢,向量短呃,就就相对较短,所以向量表示两个不同的内容。

一个是这个方向,一个是长度,然后呢我们刚才提到这个向量,如果你平移它移动各个这个到不同的位置,那它表示的仍然是同一个向量,因为a和b之间的相对位置没有改变。

所以说这个向量的我们并不关心它的这个绝对的开始的位置,然后就是这么一个意思,然后啊向量我们刚才既然提到它的方向和长度,那我们就把它的长度可以直接写出来,是什么呢。

就是说比如说一个a向量就是a上面一个箭头啊,然后这个左边右边各加两个斜杠,然后这个表示的呢就是这个向量的长度,然后向量的长度呃,这个有什么用呢,就是这个向量的长度可以给我们提供一个这个什么呢。

给我们提供一种向量吧,叫做单位向量,什么叫单位向量呢,就是如果这些向量它表示的长度是一,那么这个就是单位向量,那么给你任何一个向量,你怎么把这个向量给变成单位向量呢,很简单,你去把这个向量本身去除。

以它的长度,那么你得到的就是一个和你原始的向量同方向,并且长度为一的向量,也就变成了一个单位向量,这也就是大家看到的这里这个公式哈,大家可以看到这个公式啊,他这个呃是这个原始的这个向量a除以它的长度。

然后我们把它定义成a然后上面写一个这个东西,这个东西这个我们正正常英文会管它读作a hat,hat,就是那个帽子,然后正常情况下呢,我们用这个形式来表示单位向量。

然后在图形学里面可能更多的是大家一提到方向,就认为我们用一个单位向量来表示方向,然后我们不关心它的长度好吧,然后那就是就是说我们用单位向量是可以只表示一个方向的,那这个就非常好用。

然后在图形学里有涉及到各种各样不同的方向,然后咱们再待会儿再给大家这个一一解释,然后向量呢有很多基本操作,然后基本操作呢挺简单的,比如说最最最最简单的操作就叫做这个向量求和,那么向量求和呢很简单。

你要给两个向量,比如说给你a和b,然后给你这么两个向量呢,然后你如何去算出a加b是什么,那么这里有两个不同的解释,一个叫做平行四边形法则,一个叫做三角形法则,那么平行四边形法则是什么意思呢。

大家看左边这幅图,那咱们可以把这个a和b既然我们我们我们刚才说啊,这a和b都可以任意的这个移动,不影响它们的值啊,然后呢a和b我们可以把它放在同一个起点上,然后放在同一个起点上。

那就是大家看到的左边这张图的左下角,然后呢然后我们把这个b和a都这个平行的搬移一段距离,使得呢这个这个这个a和b和另外一个a和b围成一个平行四边形,那么这个平行四边形的对角线。

这条红线就是a加b那这是一个平行四边形法则,然后这样可以告诉我们两个向量加起来是什么,然后另外呢向量还有一个计算方法叫做三角形法则,三角形法则在这个图形学里面用的也挺多,就是说这个很简单。

我们要相加若干向量,我们就把这些向量首尾相接的拼起来,那么最后形成的这个最开始和最结束,我们把它连起来,那就是这个这个相加的和那这个不只适用于一两个向量啊,就很多向量也可以这么做,比如咱们看右边这幅图。

这个要算a加b怎么办呢,把这个a和b首尾相加,也就是说把这个b的开始放在a的结束上,然后呢a加b也就是从a的起点到b的终点,那如果a加b加c,大家可以这个一直这么操作下去,那这个就很方便。

然后这两种呢不管是平行四边形法则还是这个三角形法则,最简单的做法呃,就是就是啊嗯通过这么一种几何的这么一种理解呃,然后然后来看这个在几何上两个两个向量加起来是什么。

那么还有一个理解就是在这个数学上或者代数上,这个向量相加是什么呢。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

那就是直接把他们的这个坐标加起来,这个非常简单,这个很快就要跟大家说,大家如果看这个例子,就是说啊我们现在呢在描述同样是一个向量向量a,但是这里呢大家会看到这个有一个这个坐标系在这里面。

然后有一个x一个y x向右y向上,然后这个这里呢就其实是在用这个直角坐标系,或者叫笛卡尔坐标系来描述这个向量,那么这个向量什么意思呢,我就认为这个向量永远都是从这个原点开始,零零也就是左下角。

然后呢这个沿着x有一些这个单位向量,然后向右走,这个大家可以看到这个x被分成了好多段啊,这就认为是这有有很多不同的这些单位,然后呢y方向也是一样,这个分为好多段,那么一个向量到底是多少呢。

我们就可以用几个x加几个y来表示,然后通常的这个xy是是这个定义成这个互相垂直的,并且都是单位向量,然后这个像这里的情况,这个a向量呃,黄颜色表示我们就可以把它表示成四个x加三的y。

大家可以看到这个比较清楚对吧,然后这样的话呢有什么好处,就是说我们可以直接用这个坐标四和三这两个数来表示,这么一个向量,那在这里这个这个a向量大家可以看到左下方这个a向量写作xy。

这个x y呢就是表示他这个前面的数就是多少个x和多少个y的意思,那么这就是它的这个坐标表示,然后这里有一点哈,在图形学上,我不知道在其他的领域怎么样定义,在图形学上,大家默认给一个向量嗯。

如果不说它是一个什么样的形式,我们就认为这个向量是一个一个这个往下写,也就是说任何一个向量嗯,这个呃缺省的设置是这个向量是个列向量,就是一列数好吧,然后呢这个向量我们也可以把它变成一个这个横的。

也就是变成一个行向量,像这个中间大家看到了一个a t等于x y,这个t是什么意思呢,就表示这个转制就是把这个这个呃任何一个向量的行和列互换,那自然是这个原本是默认是列向量,那么这个转制之后呢。

就变成了这个行向量x和y横着写啊,这个呢在矩阵上面大家也会这么用,然后呢我们为什么要这么写写写呃,这个定义这么一个呃,这个这个x和y这个直角坐标是因为如果我们这么定义的话,对于两个轴如果垂直。

而且又是这个以单位向量这么一节一节给加起来啊,就是说那我们算这个向量长度就非常简单,那怎么算呢,比如说像这里这个二维的向量对吧,然后我们就用它的x平方加上y平方,然后开个根号就可以得到这个向量的长度。

然后比如说像这个情况,大家看看水平方向是四个格子,竖直方向是三个格子,那么这个大家知道这个勾股定理就告诉大家这个这个向量长度是五啊,那也就是说啊,我们把向量表示成直角坐标系的这样一种代数形式。

是非常有助于计算它的长度的,所以这就是为什么大家平常会用一套坐标系啊。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

那大概就是这么一个道理,那向量的加法以及他们这个之前的这个这个表示都是非常简单的,那么向量更广泛的用法,也就是这节课主要要跟大家说的两个这个计算,就是向量的这个点乘和叉乘这么两个计算啊。

那么都是什么意思呢,这个就是说啊这个嗯向量的乘法它和这个数的乘法不太一样,像我们提到数的乘法,那就是乘法呗,那向量的乘法其实是两个不同类型的乘法,那也就是说两种不同的运算,那咱们把这两个分别看明白好吧。

就是说呃比如说啊大家现在看到这个屏幕中间只有两个向量a和b,然后呢这个呃这个向量的点乘是什么意思呢,就是这么定义的,大家可以看到这个呃a向量点乘b向量,然后等于这个呃等于什么呢。

等于a的长度乘以b的长度,再乘以它们两个之间夹角的余弦,然后就是这么这么一个定义,然后这个定义呢自然是最最最标准的定义了,比如说给大家呃给定了两个不同的,向量,那么它的长度我们自然知道。

然后这个两个向量之间的夹角,我们假设能够算出来,然后这个用一个余弦cos就可以算出来这个这个这个数是多少,那么有一点这个是需要这跟大家说明的,就是说这个大家看到从这个a向量点乘这个b向量中间打个点啊。

这个最后的结果,你看a向量的长度是一个数,b向量的长度是一个数,这个余弦仍然是一个数,所以说这三个数乘起来它其实还是一个数,所以左边是两个向量,然后它的点乘是一个数字,然后或者叫做一个数量。

然后就是说这,这里就是点乘能够告诉大家的结果,就是说向量的点乘给大家最后得到的是一个数,那么下面要给大家说的呢,就是说嗯这个定义呃我们要怎么用它,特别是在图形学里怎么用它,这个很简单。

比如说我们可以做一个简单的变化,把这个a和b的长度啊,拿和那个a和b的点乘拿到一边去,把这个夹角余弦放在另一边,那也就就是发现大家可以看到这个左下角的这么一个画面,一个定义哈,这个给定两个向量。

两个向量之间夹角的余弦是它们的点乘,然后这个除以他们这个呃各自的,长度呃的积,那么也就是说给你两个向量,大家立刻就可以算出这个嗯呃这两个向量之间的夹角,余弦也进而可以算出两个向量之间的夹角。

也就是说点乘可以帮助大家快速的得到这个呃两个向量之间的夹角,特别是在一个什么样的情况下最方便呢,特别是在两个向量都只是方向,也就是都是单位向量的时候,大家可以看右边这个公式。

当两个向量都是单位向量的时候,它们的长度自然都是一,所以他们的点乘自然直接就是它们夹角的余弦,所以这个时候只需要我们做一个这个,反余弦我们就可以得到这个这个呃两个向量之间的夹角。

所以向量的点点乘是很有用的,那么说到现在其实还没有说明这个这个向量点乘要怎么算,对不对,然后这个我们之后在代数的这一方面,然后给大家解释,那么这个这个点乘呢,然后它本身既然是一种运算运算法则呢。

都会满足各种各样不同的这个呃性质,比如说点乘满足有这么几个性质,这个和数字的乘法非常相似,什么呢,交换律结合律和分配率对吧,这个大家可以看到交换率呢也就是说a和b点乘等于b和a点称,这,个挺好的。

然后呢如果a和b加c这个做点乘,那么就等于是a和b做点乘,然后再加上a和c做点乘,然后如果有一个数字k去乘以某个向量,再和另外一个向量做点乘,那就好像是说这个某个向量和这个这个这个k嗯。

呃应用在另外一个向量上,他们两个做点乘,或者说先做点乘在前面再乘以一个k这个问题都不大,这些是这个向量的一些基本属性啊,这个向量点乘的一些基本属性啊,然后我们刚才就提到这个事情啊。

就是说这个点称自然有它的定义对吧,就是呃a的长度,b的,长度,然后夹角的余弦撑起来,那么在这个直角坐标系或者笛卡尔坐标系下,他们其实这个点乘的运算会更加简单呃,为什么呢,因为大家可以看到。

比如说在二维的情况下,那我们用两个数x y来表示一个向量,那a呢就是x a然后y a然后这个b就是x b y b,然后他们两个的点乘就是x a乘x b加上ya乘y b。

大家发现这个就是其实就是对应的元素相乘,并且加起来,那么这个道理可以同样扩展到高维,在三维上也是一样的,就是说这个这个两个向量在三维上,那自然怎么表示,呢那就是用x a y a z a这三个数。

然后表示a,然后x b y b z b这三个数表示b,那么这个两个向量怎么做点乘呢,很简单,也是对应元素点乘x a x b加上y a y b加上z a z b,就是说对应的元素相乘,再把它们加起来。

那么从这个过程大家可以清晰的看到哈,这个给定的两个数呃,两个这个输入都是向量,都都是这三个一组或者两个一组对吧,然后最后的结果就是一个数,这也就是点乘的性质,那么就是通过这种方法来计算的。

然后呢这个点成我们刚才已经提到它最大的作,用特别是在图形学里面,就是用来找到这个两个项链或者两个方向之间的夹角,然后或者说是余弦夹角,然后呢嗯特别是比如说我们之后在做光照模型的时候。

我们知道光从哪一个方向进来,然后这个物体表面的法线是什么样的,然后这个我们从哪个方向去看啊,那这些方向之间互相的夹角,这个计算都是通过点乘来来这个运算的,然后呢这个点称还有另外一个这个很有用的事情。

就是说我们要找到这个呃一个向量投影到另一个向量上是长什么样,这个是什么意思呢,大家可以,看这么一个例子,就是说我们现在看啊,a和b它们两个方向是不一样的。

然后但是我现在希望把这个b向量所谓投影到这个这个a向量上去,那是什么意思呢,就是说假设有一竖这个光线平行着的啊,然后他们垂直着a方向照过来,那么这个b自然会投出一个阴影,在a上,那投出了这个阴影。

这一段我们就管它叫做这个b在a上的投影,然后呢这个这个这个这个大家就会看到这里是应该怎么计算它呢,这个呃,这里就需要用到刚才我们提到的这个向量的这个这个基本属性的知,识那向量有哪两个属性呢。

有方向和大小和长度对吧,那么既然是b向量投影,在a是a向量上,那么这个投影一定是沿着a方向的对吧,所以说首先啊这个这个投影这个所谓b pp这里这个这个这个东西啊,这个符号叫做pp。

也就是perpendicular的缩写,这个b pp的这个这个方向就已经定下来了,那一定是沿着a对吧,因为我们要算它沿着a的投影,那么一定我可以把这个b pp表示成这个a4 a向量对应的方向。

也就是这个a的单位向量a hat乘以一个长度,这个k那么现在只要我们能够把它,的长度算出来就可以了,对不对,那么怎么算它的长度呢,那大家看到这这里这个有一个直角三角形关系。

因为我们要把b向量投影成be purp,那么这里自然有一个这个嗯这个呃直角三角形在这里存在,也就是就是从这个呃b pb的中点到这个b的中点,然后这么一条边,然后还有b pp本身加上这个b向量自己。

那这个形成了一个直角三角形,那么be pob的长度是多少呢,那也就是b的长度乘以这个a和b的夹角余弦对吧,然后也就是这里为什么是b的长度乘以cos c的,然后这个夹角余,弦怎么做,大家已经知道了。

直接拿这个点成这个a a和b的点击,然后他会告诉我们夹角的余弦,所以这里就等于是能够把一个这个呃,能够把这么1111个向量在另外一个向量的投影算出来,那么投影算出来有什么好处呢,对吧。

然后这个嗯投影算出来有一个好处,就是说我们可以把一个向量分解成两个向量,其中让一个一个方向这个平行于某方向,然后另外一个方向垂直于某方向,比如说像这里,我们既然知道be purple怎么算。

那么另外一个方向这个b减去be pop,我们就可以知道,是是什么,然后这里减法呢不给大家多做介绍,因为减法和加法是互逆的嘛,就就是说这个嗯be pp这一段加上这个b减去b pp这一段加起来之后。

大家用平行四边形法则会发现诶这个就等于这个b向量没有问题,那么呃这个呃嗯这就是点乘能够给大家带来的一个好处,就是说大家可以把一个向量任意的进行这个垂直与平行的分解,然后这是一个很重要的事情。

那么在图形学里面呢,这个点乘还会给大家这个另外的一些好处,比如说我们可以计算这个两个向量啊,或者两个方向,有多么接近,那什么叫接近呢,就是说我们可以算这个两个向量的这个点乘点乘的结果。

然后根据他们点乘的结果,我就知道它是否是接近还是远离这两个方向,那待会儿会给大家说,然后呢这个向量的点乘还可以告诉大家关于一个前与后的信息,这个事情非常有用,那什么意思呢,咱们可以看一下这个例子。

就是说啊大家可以看到,如果这个有一个呃向量a给定了某一个方向,那么我我可以这个这个考虑到这个呃,比如说从a的起点,像这个整个上面方向看过去以及向下面方向看,过去,然后各会形成一个半圆。

然后在这里整个大家可以看到一个整个圆被分成了两部分,一部分在这个上半部分,我们认为如果有一个向量是处于这一部分的,就是说它的终点是落在整个这个虚线以上的。

诶那我们就认为这个a和b是属于基本上算是相同方向,或者说都是向前的,然后呢如果有一个向量,比如像这里向量c它的终点落在了这个曲线的下一部分,然后这个时候呢我们就认为说这个哦。

a和c他们两个方向基本是相反的,那么这里怎么样判定这个事情呢,就是说这,就是典型的一个好处,就是说我们如果用呃这个a和b向量求点乘,我们会发现哦这个点称会给我们一个这个大于零的值,也就是正数。

然后呢如果我们去点成a和c,然后这里的点乘的结果会告诉我们这是负数,然后呢如果说有一个向量正好它的这个终点呃,在这个虚线上,那么这个a和这个向量求了点成之后会给我们一个零这么一个结果。

那就是说啊嗯这个向量的点乘可以告诉我们方向性就是方向基本一致,或者方向基本相反,或者方向垂直,那么同样道理,点乘也可以告诉,我们这个呃这个这两个向量有多接近,比如说呢这个b向量和a向量它就比较接近。

然后我们求点成点击的时候啊,这个得到的结果啊就会比较接近一,然后呢如果说这个这个b向量渐渐渐渐这个方向和a远离了,比如说远离到一个什么程度呢,到和a垂直,它就会渐渐变成零,然后这个再远就会渐渐变成负。

一直到他们两个完全相反这个方向,然后他们两个如果都是方向向量的话,那么点乘的结果会这个从这个一就是完全相同的方向,变成完全相反的方向,也就是-1,就是说它。

这个值呢可以告诉大家这两个向量在方向上有多么接近,然后这个呢很有用的,就是说这个之后这个大家会看到这个呃,之后这个在图形学中的应用,然后这里就是点乘,那么啊这样哈我们很快要给大家介绍这个插成。

然后在这之前我先看一下这个大家之前有没有什么讨论的一些问题哦,我明白了,大家有同学问这个说为什么要用这个呃,呃这个这个这个为什么要用哦,为什么为什么默认是个列向量啊,这是约定俗成的一件事情。

当然可以用这个行向量,有一些书是用行行行向量,没有问题,但是就是说呃更多的应用,比如说特别是在这个图形学的这些硬件上面,这个或者说app上面这个open gl之类的东西。

大家默认都是在用这个这个默认的列向量,然后这样的话所有的矩阵可以组成这个之后,我们再给大家说,然后呢嗯这个有人有人问有什么应用啊,啊点乘的这个呃说为什么两个向量是否接近,这个有什么应用啊,这里这很简单。

比如说这个大家看一个镜子哈,然后有一束光打在这个镜子上,然后大家知道有这个镜面反射这么一个一个一个反射的定律,那如果,啊那如果说你的眼睛这个是就是这个啊。

嗯就是从它的这个镜面反射出射光的这个方向上看过去,那你就会看到一个反射的点非常亮,如果你这个呃眼睛稍微这个和这个方向错开一点点,那你就看不到这个反射,那如果对于金属来说,金属的这个高光是怎么来的呢。

同样的道理就是说入射的入射光打到这个金属表面,它会反射,然后在这个它的镜面反射的这个方向周围,然后如果你从这些方向去观测啊,那这个得到的结果都是这个基本上属于在这个呃高光里面,那如果说离得远。

那你就看不到,所以我们需要有一个办法来这个这个提供这个两个向量,是否接近这么一个标准好吧,那大概就说到这儿,然后这里这个我们继续往后说这个向量的这个差距,那么向量的差距是什么意思呢。

就是这是另外一种计算,它虽然也是乘法,但是它是和刚才的点击是完全不一样的计算,那么这个嗯大家可以看到这是一个示意图哈,嗯所谓这个差距呢,它会呃输入两个不同的向量a和b。

然后他会给呃这个给出也就是计算出另外一个向量,这个计算出的这个向量,也就是说这,两个向量的原本这个输入向量的这个差距的结果,和原本的两个向量都要垂直,那么大家想一想,那既然既然这么定义了的话。

嗯这个差成之后的向量,假如说咱们把它记作c,那么c要垂直于a,c又要垂直于b,那么c必然垂直于a和b所在的平面,那也就说明了这个向量c一定和a和b不在一个平面内对吧。

然后呢这个呃这个大家可以从这个公式的定义上面来看啊,就是说我们会写a叉乘b,然后然后这个呃它的定义是这个a的长度乘以b的长度,再乘以sin,西塔其实还需要,一个方向啊,这里这个这里写的并不并不正确。

就是说呃不是说不正确,而是不完善,就是说这里只是给大家定义了a这个叉乘b的嗯,这么一个大小应该是多大,但是它的方向并没有写出来,然后它的方向应该如何决定呢,我们刚才说啊,这个叉乘会给大家一个新的向量。

垂直于a又垂直于b,这里呢就需要大家应用一个叫做右手定则的一个一个这个规律,什么叫右手定则呢,很简单,伸出右手来啊,说起来是这样啊,有两种不同的右手定则,一个是伸出你的右手的三个指,这个拇指食指。

和中指这样的话,然后你会把它给摆成一个这个互相垂直的一个方向啊,这是一种右手定则,但是在这里呢我们给大家介绍的是另外一种叫做右手螺旋定则,大概是这么个意思啊,就是好像大家点赞这么一个样子,什么意思呢。

就是说大家是这个四指的方向代表了一种旋转的方向,就是说我们要算这个a和b的差乘或者是差几,那我们就从a旋转到b方向,那么这个拇指对应的方向就是它这个这个向量的这个呃,这个这个他们两个向量叉乘出来。

得到了这个结果,它的方向,那么这,里大家可以对照这个屏幕,这个a和b大家看一下对吧,从a绕到b那自然就是向上的,那么这个给大家这个既然说了这个右手定则哈,那咱们大家可以试一下,那如果b差成a是什么呢。

那大家可以想象一下,从b插成a,抱歉对大家做这个动作并不意味着什么事情啊,这个从b到a这个这个这个呃转过来大家会发现啊,这个b差成a其实得到的一个向量正好和a差成b相反。

他们的这个这个上下这个这个方向是相反的,然后呢这也就告诉我们,如果,我们要交换两个向量的叉乘的顺序,那么必须得加上一个负号,就是这么个意思了好吧,然后这个这个这个这个嗯嗯向量的差距有什么作用呢。

我们可以用它来建立一个三维空间中的直角坐标系,然后这里大家就可以看到这是什么意思呢,比如说啊这个在三维空间中,大家给定了一个x轴和y轴,然后我们可以通过x轴差成y轴的方式算出z轴是什么。

这个就是就是这个呃这个向量叉乘的这么一个一个一个,其中一个明显的作用,那同样道理大家可以试试看这个,比如说用y轴,差成z轴会得到得到x对吧,然后z轴差成x轴可以得到y。

这个大家只要这个对右手螺旋定则把握对了,就是应用对的话,就是这些正负这个左边列出来,这六个是一定不会有问题的,咱们就只用记住头一个就是x x乘y得到z,另外呢这里多说一句。

就是说如果说在一个三维的坐标系里面,x和y的差乘得到的是z,那么我们就说这个坐标系是一个右手坐标系,因为大家是通过右手这个螺旋定则算出来的这个z方向,然后我们在这门课里面考虑的全部都是右手坐标系。

然后大,家如果说会接触到这个呃open gl或者是一些别的什么什么什么呃,这个api里面啊,呃他们会假设说我们用的是左手坐标系,也就是说x x乘y得到的结果是负z,这个就这个就不是很方便啊。

特别是作为教学用途,我们觉得我们在这里就这个做一个这么一个这个假设吧,我们认为这个呃这个插成呃,如果x x乘y得到z,那这就是右手系,然后咱们这个呃就一直用这个右手系好吧。

然后我们看右侧右侧这里面有几个不同的这个呃这个性质,我们刚才才提到这个差城没有交换率,有如,果要交换顺序一定要加一个负号,然后呢我们现在想另外一个事情,就是说这个呃一个向量差成他自己得到的是什么呢。

得到的是零,为什么呢,咱们刚才回到刚才这个差成的指长度,差成的长度是两个这个输入向量的长度,再乘以它的这个夹角的正弦值,我们知道这个两个向量如果它是重合的,那他们两个夹角是零,正弦就是零。

所以这个得出来的结果是一个长度为零的向量,这里是需要跟大家指出的,就是说这个这个不管怎么样啊,呃向量叉乘得到的都是另外一个向量,所以它是,一个向量,但长度是零,所以它是个零向量。

所以它并不是一个零这么一个数字,这个大家知道就好,然后呢后面两个都相对简单,这个分配率和结合率仍然存在,好吧,这里就是说这个向量的这个差成,然后向量的叉乘呢在这个代数上也是可以直接写出来的。

然后大家可以看到这里啊,插成这个相对较为复杂一些,但是没有关系,大家看这个这个上半部分啊,就是a向量叉乘b向量,假设都是x a y a z a这种表示方法,那么得到的是一个向量。

大家可以看到又是一个列向量,是这个呃三,个元素,三个元素分别是呃这么算出来的,对,知道就行,也就是说通过这个在这个笛卡尔坐标系下,向量的差乘也可以非常明确的写出来,然后呢这里给大家这个多说一句。

这个之后我们会在这个这个啊,我们会在这个呃后续的讲座里面再继续说,就是说啊这个向量的叉乘可以表示成矩阵形式,就是说我们可以把这个向量a写成一个对应的矩阵,然后我们再用这个矩阵去乘以这个向量b。

然后一样可以得到这个上面写出来的这么一个结果,那么呃这里呢呃之后很快就会给大家讲,好吗,然后那咱们刚才提到这个向量的叉积或者差成这个怎么算对吧。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

那么它到底有什么样的作用呢,特别是在图形学里面有什么样的作用呢。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

这个作用当然特别重要,那这里我列出两点啊,第一判定左和右,第二判定内与外,当然这两个是同一个概念,然后是什么意思呢,就比如说给你两个向量,然后你可以算出来它的这个差距是多少。

那为什么就能告诉大家左和右的信息呢,那咱们看下面这两个例子,那大家看左边这个这幅图啊,左边这幅图假设大家现在在看一个平面啊,一个平面,然后这个平面呢是xy平面,也就是所有这个这个操作都是x跟y。

这个z呢是大家大家可以通过这个右手螺旋定则可以这么算出来啊,x x乘y就是从x绕到y,那么大拇指对应的方向z算出来右手戏没问题,那么这里如果大家呃有两个向量a和b大家想判定啊,这个b在a的左侧还是右侧。

那什么叫左侧右侧呢,就是从a我我这个向左旋转或者逆时针旋转,还是向右旋转,顺时针旋转,就这么个意思,那现在在这里大家可以看到嗯,这个b向量应该是在a向量的左侧,没问题,我直,接可以看得出来。

那么在数字上如何表示呢,很简单,那么用a叉乘b得到的结果,大家会发现这个z是正的,那就说明b在a的左侧,那如果说反过来,那a是不是在b的右侧,咱们可以试一试,比如说b差成a那应该是这么一种方式啊。

b差成a呃,这样一种右手螺旋桨的方式,然后大家会发现哦,大家得到一个向量,这个向量的z必然是负的,那就说明这个a是在b的右侧,所以说呢叉积可以告诉大家,这个向量的左和右这么一个关系好吧,然后嗯嗯那么我。

刚才还提到啊,判断左和右是一方面,那么另外一方面就是判断内和外,这一点在这个图形学里就得到相当广泛的应用了,比如说一个非常这个这个直接的例子,现在大家看到右侧有一个三角形abc啊,然后呢有一个点p点。

这个p点我想问他是不是在三角形内部嗯,就是这么一个事情,那那这个问题大家要如何回答呢,那这里呢就需要用到咱们的这个呃,这个这个这个差距的这么一个应用了,那么我们刚刚提到左和右这么一个信息哈。

假设说咱们有这个a abc这么三个点,这三个点是,逆时针排列的,那么咱们可以做这么一个,这是差几谁和谁呢,先看ab和ap就是说这个点这个点p现在是大家看到在三角形里。

然后呢这个a b差成a p得到的结果是向外的对吧,然后也就是说这个p点是在a b的左侧,没问题,那咱们对于bc来说可以做相同的操作,用bc去插成bp我们就可以得到,ok没问题,p点仍然在bc的左侧。

然后呢大家再看c a,大家注意这个绕的顺序哈,a b c,所以应该是a b b c c a然后大家如果看这个ca,那么这个p点也在c a的左边诶,那那这就说明,什么呢,这就说明这个p点在三角形的内部。

否则的话,否则的话一定至少得有一边,使得这个这个p点它是在这个这个这个这个呃某一个这个边的右侧,我不信的话,大家可以把这个p点啊,大家脑补一下,把这个p点放在这个ac这个右边,放在ac右边。

大家会发现判断ab的时候好,它仍然在ab的左边没问题,然后判断bc的时候,bc差成bp仍然可以得到这个结果啊,他在bc的左边,那么在判断ca和cp的时候就不是了,因为那个时候如果p点在外面的话。

那就变成了在p点在c a的右边对,所以说呢通过这个这个这个插成,我们可以立刻的判断这个三角形点是不是在三角形内,那么呢这个大家可能会问一个问题啊。

这里你先假设了三角形这个a abc它的这个绕向它本身这个规定,这三个点就是逆时针排布,那假如说我有个三角形,我比较倒霉,我我写成了a c b这么一种形式啊,就是a b c的排布变成了顺时针。

那这怎么办呢,这个没有问题,为什么呢,因为这个时候你会发现在这个时候这个p点都在三条边的右边,也就是说呢如果大家想判断的一个一个就是说最准,确最这个合理,对于任何的这个三角形a b c。

不管你的输入顺序是逆时针还是顺时针的,那么都可以说这个都可以算对,那怎么判断呢,就判断这个p。一定一直在三条边的左边,或者是都在三条边的右边就对了,就是这样的话,就直接就可以这个这个忽略这个三角形。

给定的这个三角形三个点的顺序,那么这一点非常之重要,这就是之后大家做这个三角形的这个光栅化的一个基础,我们要判断三角形覆盖了哪些像素,那我们自然要知道这个这个像素呢,这个这个是不是在三角形,内部。

然后我们好给这个像素进行着色对那么有同学会问了,那如果得到结果正好是零,那怎么办,那算是在内部,算是在外部呢,就是说这个正常情况下在图形学里面啊,咱们这个正常的考虑就是像这种。

我们管它叫corner case,corner case,意思就是说呢这种情况你自己决定,你说他在里面行,没问题,说他在外面也可以,咱们之后做光线追踪也会涉及到这个问题。

假如说有一个光线正好擦着三角形一个边过去了,你说这算香蕉不算这个,这自己说了算啊,就是这么个意思好吧,然后呢这个这就是我们,这个呃关于这个向量叉乘的一个应用,然后向量叉乘之后我们还会再继续提到好吧。

那么这里呢呃既然定义了这个向量呃的这个基本操作,然后我们就可以说用这用这些向量来定义一些,这个这个不同的这个坐标系,其实刚才咱们已经这个跟大家说了对吧,然后呢这个就是说我们用这个向量的叉乘。

我们可以定义一些互相垂直的轴,让这些轴就会形成一个坐标系,我们刚才提到右手系对吧,然后呢我们如果定义这样一个这个坐标系,像这里定义u v w,然后u v w呢认为这三个,向量都是单位向量。

然后呢并且它们之间的这个都互相垂直,也就是点乘的结果都是零,然后呢给你u和v,你是叉乘得到w对应就是x y x乘得到z啊,这样的话得到的结果自然就是这个呃一个呃右手的这个呃直角坐标系,然后三维的。

那么这样定义一个坐标系有什么好处呢,我们就可以把任意一个向量都给分解到这三个轴上去,就是呃这个向量的分解,咱们刚才已经说了,这个就要利用他们的这个投影,他们的投影怎么算呢,就是用点击。

而且这里有一个好处是u v w都是单位,向量,所以他们这个一个向量投影到这个这个对应的这个方向上,它们的长度是多少,这个直接用点乘的结果就立刻可以得到,因为什么呢,点成比如说p点成u它是什么呢。

p的长度,点乘u的长度再乘以cosc的,但是u的长度偏偏就是一,所以它这个结果就是p的长度乘以cos a c的,所以正好就是他投影的长度,然后投影的长度乘上它的这个u方向的单位向量。

就把它变成了一个在u方向上的投影的向量,然后v方向w方向三个方向都是这么投影,得到三个向量加起来就是原来的,向量,这就是为什么我们喜欢用这个这个这个直角的这个坐标系,因为它非常方便对吧。

那这里就是当然了,另外一个点乘的一个向量呃,一个应用啊,那么到现在我看一下啊,这个大家有没有什么这个什么问题啊,应该差不多啊,我觉得那咱们就继续,那咱们这里要再给大家提到的就是矩阵对,那么这个矩阵呢。

这个大家可以看到,几乎所有的这个计算机的课都会涉及到一些这个矩阵的一些操作,然后这个啊当然在大家这个可能会很头疼,但是矩阵呢其实并不难,咱们这个给大家说一,说特别是应用在这个这个变换上啊。

矩阵其实挺简单的,然后呢这个呃我们这个之后会给大家特别提到说,我们如何用矩阵表示一些基础的一些变化,比如说这个移动啊,旋转啊,缩放错切啊之类的这种操作,然后嗯在图形学里,当然了。

这个这个变换就是矩阵的一个最大的应用,那么矩阵是什么呢,很简单,矩阵就是一堆数,然后这堆数呢把它给安排在一个这个平面上,然后这个变成一个几行几列的这么一个结构对吧,像这里大家看到一个矩阵。

这个矩阵是三行两列,所以是这个3x2,啊这样的一个矩阵,然后呢这个矩阵的一些基本操作,比如说矩阵可以乘以一个数,然后乘以一个数,很简单,就把矩阵里面每一个数都乘这个数就可以了,然后呢这个非常简单。

那么咱们这个这个就直接忽略它,那么矩阵最困难的操作,也其实最有用的操作是什么呢,是矩阵的乘积,那么矩阵的乘积,这个首先前提要求,你要是给定两个矩阵,它两个必须得能成才行,那什么是这个可以乘的矩阵。

那就是说啊如果大家看这两个矩阵,这个这两个矩阵分别是三行两列和两行四列,如果写成这,个这个这个形式啊,大家可以看到上面m乘n,然后点成这不不不就是这个m乘n的一个矩阵,乘以一个n乘p的矩阵。

这样成才有意义,也就是说啊第一个这个矩阵它的列数必须得等于第二个矩阵的行数,然后这个呢我觉得这个就直接用这个几乘几,这样看着最明白,就是说这个中间呢这个n必须相同,也就是说这里3x2。

那必须乘以一个二乘什么什么什么,在这里是2x4,那乘的结果其实也很明白,就是说就好像是中间这个n抵消了一样,就相当于变成了原来m乘n,然后,这个这样一个矩阵乘以n乘p这么一个矩阵。

那么我们就把它得到的结果就是一个m乘p的一个矩阵,然后就是有这么一个性质,那么关于这个矩阵这个新的这个矩阵呢,它这个每一个元素都是什么,这个中间有各种各样不同的数学定义,也是这个地方比较不容易记住。

但是这里呢我给大家提供一个简单一点的技法,然后这个怎么做呢,那大家首先看这个例子啊,这个例子是三行两列,3x2的矩阵乘以一个2x4的矩阵,那么大家知道最后得到结果肯定是3x4的矩阵,不会。

错咱们先把这个大小定下来,那么现在我我就问这么一个事情,就是说每一个元素,比如说这里大家看到这个26这么一个数字,就是二行四列,在这个最后结果上,这是怎么算出来的呢,那就是这么算的。

因为我要想算这个26是多少,他我知道啊,我我想算的是二行四列的结果,那么我们就去找第二行和第四列,分别是在两个这个这个输入矩阵里面找,很简单吧,比如说这个26是二行四列,那么我们找原原来的第二行五和二。

然后呢四列是四和三,那么这两个向量找到了,求一,个点击就可以了,比如4x5,22x3得六,加起来26,就是这么回事,然后比如说这个这个呃,我们看这个左下角这个八呃,就是新的这个矩阵,左下角这个这个八啊。

然后它应该是三行一列,那三行一列很简单,我们去找第三行,第一列,第三行是在第一个矩阵里面零和四,然后第一列是指这个第二个矩阵里面三和二,那么他们两个乘积呃,他们俩点击就是43x0得零,4x2得八。

加起来就是八,所以这样做就比较简单,就是说省得去记一系列的这个这个各种各样的这个复杂,的公式i j k的什么东西不需要,咱们就利用了一下点乘的这个概念好吧,就记得需要算d d第几行,第几列。

那就去找第几行和第几列就可以了好吧,那这就是这个这个矩阵的乘积,那么矩阵的乘积呢这个有一个非常重要的性质,这个性质就是没有任何交换率,ok所以说a乘以b嗯,正常情况下都不等于b乘以a。

有一些情况下是这个等于的,但是更通用的情况下是这两者基本不等于,所以说a和b和b乘a这个两个是不能交换顺序的,但是呢矩阵的结合率和分配率都有,特别是,什么比较有用,结合律很有用,什么叫结合律呢。

就是a b c这个放在一块乘,那我可以先乘a b再乘c或者先乘bc再乘a,只要我不涉及到把它顺序对调这种就可以,就是说结合率是有的,就是不能交换,交换率是不行的,对吧,就是这个意思啊。

当然这个分配率很简单,就是就是这个意思了,然后呢这就是这么一个一个一个呃一个性质,然后呢就记得他没有这个交换率就好了,然后呢那么一个矩阵如何在一个特殊的情况啊,如何和一个向量乘。

那就是说我认为这个向量是一个列向量,这,里就有意义了,那么这里我就始终认为这个这个矩阵在左边,然后向量在右边,然后向量永远都是一个列向量,也就是永远都是m乘一的这么一个矩阵。

然后呢左边这个矩阵只要它是什么乘m就可以,这样就可以在一块乘,那这就是最最最最重要的核心,也就是说我们要算这个这个变换,比如这里可以给大家剧透一下这个呃,咱们下节课要给大家说这个呃变换呃。

一个最简单的变化,就是说任何一个形状二维的啊,然后咱们要把它给按y轴做一个对称操作,那y轴做对称操作,也就是,说给你任何一个x你都得把它变成负x,那y的话不变,因为它是按y轴进行操作。

也就是x轴在变好吧,那也就是说给你x y,然后呢一定会把它给变化成负x和y,那么什么样的矩阵可以让xy变成负x和y呢,那就是左边的这个看大家看到这么一个矩阵呃,-10和零和一啊,这么一个矩阵。

大家可以乘一乘试试,大家就会发现这个确实是这样,那这就是一个左边这个矩阵,就是一个这个用来求这个这个镜像的这么一个矩阵,当然咱们之后会说的更多好吧,这里啊这里就简单给大,家提一下而已。

那么矩阵还有什么什么别的操作呢,很简单举证,还有一些这个转制转制操作,咱们刚才在这个嗯这个这个这个呃向量上已经说了,那就是把行和列互换,那矩阵上也一样,那么原本三行二列,那这里自然变成二行三列。

这个原本的这个i行j列变成了这行i列,就是把它给这个调换一下顺序,然后呢这个呃矩阵的转置有一个这个性质啊,这个性质就是说如果你要乘两个矩阵再转制,那就好像你先对后一个矩阵做转制,再乘以前一个矩阵做转制。

所以这是一个比较有意,思的现象,他这个就是说乘积的转制啊,你要先把它这个顺序调过来,然后分别做转职再做乘积,这里就是就是一个这个呃这和直观上并不一样的事情啊,就是说这里是矩阵的一个性质呃,转制。

然后另外一个呢给大家提了一个特殊的矩阵,叫做这个单位矩阵,然后这个单位矩阵是什么意思呢,它是一个对角阵,所谓什么叫对角阵呢,就是说这个呃就是说啊只有对角线上有这个呃非零的元素,在这里呢。

这个对角线上全都是一,什么是对角线,左上到右下这条上面啊,就是说单位矩阵呢也,分这个它它的这个这个这个维度或者大小,像这里大家看到的是一个3x3的单位矩阵,然后单位矩阵是什么意思呢。

或者说它用来干什么呢,单位矩阵基本不做任何操作,比如说这个单位矩阵,咱们管它叫i i,如果乘以a得到的结果一定还是a,然后a乘以a得到的结果也应该是a,然后就是他基本没用,他没用的。

但是可以定义下面一个式子,叫做这个矩阵的逆,矩阵的逆是什么意思呢,如果你能找到一个矩阵和你原来的矩阵相乘,然后不管顺序,然后得到的结果就是呃得到的结,果都是一个这个这个单位矩阵。

那么我们就认为这两个矩阵是互逆的,那也就是说我们原本有一个这个矩阵a,然后它乘以a的逆就可以得到单位矩阵,那么当这个逆矩阵的计算呢和这个转制的计算其实很相似,就是就是说如果有乘积的逆。

其实相当于先把这些这个这个呃对应的这些矩阵啊逆过来,然后在这个这个相乘,然后并且顺序是反的,这里可以看到大家先这个对b进行逆,然后再对a进行这个逆,然后再乘起来,这当然是它的一个性质。

然后呢这个我们刚才提到说向量可,以写成这个呃,可以有这个点乘和叉乘的操作,那么其实向量的点乘和叉乘都可以写成矩阵形式,什么意思呢,比如说咱们看这个点乘点乘呢,就是a点乘b可以写成a转置和b的乘法。

就是a转置,你认为aa如果是一个这个这个原本是一个列向量啊,a转置变成了一个行向量,那么这个行向量直接乘以这个这个列向量b得出来的结果,正好就是一个数,就是大家看啊行向量是多少,一行三列。

然后这个b的列向量是什么,三行一列,所以一行三列乘三行一列,一定得到一行一列,也就是,一个数就是一个数,所以大家在右边看到也就是一个数,没有问题,那么这个嗯差成是否能写成矩阵的形式呢,这个相对困难一点。

但是其实是可以的,就是说我们把这个a向量给这个重新组织一下,写成这个a星号这么一个这么一个这个矩阵,这个不是a乘b哈,这个是a星号,是一个矩阵,然后他乘以这个b向量,ok所以这个a a型号是什么呢。

就叫做这个dual matrix,然后然后这个就是从a把它这个向量转化成这么一个矩阵,大家可以看到是怎么排的哈,这个x要排在哪,y排在哪,z排在,哪加什么负号。

然后就是说通过这个矩阵乘以这个b向量得到的结果,就是这个差成的结果,那我们为什么要这个东西啊,就是说我们之前有a和b的话,我是直接是可以算这个这个这个插成呢,我们之后会看到在一个旋转上面。

这个呃这个这个旋转的一个推导上面啊,这一步是其实挺有用的,也就是说在这里,大家知道说这个向量的乘积也可以写成矩阵形式就可以了。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

那么给大家看一个例子,这个例子呢就是这个这个一个运动着的相机啊,一个运动者的相机,然后呢在一个这个某,一个场景中间这个场景还是很有名的,叫做spa啊,如果大家做这个做这个这个rendering做一点点。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

大家会知道有什么东西,然后呢它它这个相机在这个场景中任意移动,然后大家可以想象一下这个相机呢你看可以往各个不同的方向看,所以说涉及到旋转对吧,然后呢他又可以往各个地方不同不同地方走。

所以如何去定义这个相机,如何去运动,那自然就是涉及到我们的这个各种各样不同的这些变换。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

咱们要把它合在一块儿,那这就是说之后要给大家讲的内容,然后呢到目前为止啊,好ok ok,好像大家这个没说什么太那个的的问题哈,哦我明白了,有同学这个反映了一个事情,说这节课挺简单的,没问题。

大家说的太对了,这节课非常简单,可是在三节课之后就会变得非常困难好吧,大家知道有这么一个事情就好,然后就是说咱们由浅入深的说嘛,先把这块简单的东西说明白。

但是一定要相信我这课这个这个这个只会越来越难好吧,这个嗯这节课简单是对的,可以告诉大家一个信息,这个嗯这个这个这个这个线性代数,特别是咱们图形学上要用的线性,代数基本就到此为止了。

到这就等于是等于是就已经够了,所以我觉得如果大家觉得这个课这节课简单,那就太好了,没有什么问题,然后咱们之后这个下节课开始到下下节课,咱们会讲更多的内容,比如说咱们会提到这个二维的旋转。

然后呃不是二维的各种各样的变化啊,然后以及说我们要开始提到一个叫做这个这个,这个这个这个我想了想啊,中文应该叫,中文应该叫什么呢,这样吧,我请同学帮我翻译吧。

我要我要我要这个跟大家说的一个概念叫做homogeneous coordinate,然后这个大家有知道的吗,这个应该翻译成什么嗯,我来关注一下啊,对啊,齐次坐标对对对对对,就是这个。

然后这个涉及到这块呢,就会渐渐的开始会变得这个稍微麻烦一点,然后这个之后这个呃咱们慢慢的把这些事情都给说明白好吧,希望大家之后的这几节课都会觉得跟这节课一样简单,那就成功了好吧。

那咱们下一节课就会开始说transform好吧。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

当然了,不是变形,而是变换好吧,那咱们这个呃这节课时间正好,那咱们就说到这里好吧,感谢大家,然后之后希望大家继续支持,我,也希望把这个课这个每节课都说这么简单,那就好了好吧,ok哦对,还有一个事情啊。

还有一个事情这个这个这个呃我在想啊,我现在麻烦我们的助教同学试图做一个这个作业零的框架,呃,大家知道我们有那么多次作业啊,然后就是说我希望大家上手作业一的时候要相对容易一些。

所以大家呃这个准备一个作业零,所谓作业零呢,其实并不是这个这个一次什么作业,就是大家把这个环境配起来,这个就算是作业0了,没什么事情啊,就是说这样呢提早也可以给大家放出来。

这个虚拟机和这个这个对应的用法的a,也可以熟悉一下visual studio code的这个这个这个呃是一个怎么样的,这个这个运作方式,然后之后大家写代码怎么怎么做,就总之作业灵没有任何实质内容。

就是给大家上上手好吧,那就是这么一个事情,然后啊对这个之前提到呢,这个如果有时间咱们说一说变换,看来是没时间了,那咱们下节课再继续做,好吧啊,同样这个课程结束之后,官网会有录播。

然后我也会立刻把这个课程的这个这个呃pdf对应的讲义,然后放在我们的课程网站上,好吧,那就就这样吧。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

GAMES101-现代计算机图形学入门-闫令琪 - P20:Lecture 20 Color and Perception - GAMES-Webinar - BV1X7411F744

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

咱们今天这个开始讲啊,第20节课啊,颜色与感知嗯,在这之前咱们上节课历史遗留问题根本没有提到这个广场对吧,所以说我先把广场问题解决掉,好吧啊,那是今天的内容,首先还是欢迎同学们啊,第20节课了。

很快还有还有两节课,我们总共22个课时,然后这门课就可以顺利结束了啊,非常好啊,感谢大家一路支持啊,好那么同样在课前,咱们先呃说几个事情,一个是上一次我忘了啊,作业六虽然已经很久之前提交的了。

但是呃我忘了说了,239份提交非常好啊,然后作业期目前来说20分啊,确切来说是今天早上啊啊呃不错啊,大家现在在继续做着,那么作业期呢这个中间我和助教啊在一块讨论了一下,发现了一个问题。

这个问题呢呃是这样,就是说在提交了的同学们的作业里面,我们发现有这么一个现象,就是说我们之前不是说路径追踪,把这个光线的传播分成两部分嘛,111部分呢是对光源的采样考虑,光源对这个着色点的贡献。

另外一部分呢我们考虑说这个呃在着色点上呃,光会弹射到各个方向去对吧,我们去对这个半球进行采样,然后采样会打到其他的地方去,然后这两部分是互斥的,如果当它达到了这个光源之后,他应该就不再算了。

就应该直接返回零,因为光源对这个点的贡献之前咱们已经算过了,没有问题啊,这部分不要重复计算,这个大家在这个计算的时候,这个注意一点就好了,反正把这个道理想明白对吧,这应该是互斥的关系好。

那么呃这是这个事情,那么作业八啊,之前我们不是说七次做a嘛是吧,然后这个因为加了现在的作业期,ptracing相关对吧,然后我们这个原本的作业期也就是现在的作业吧,是一个绳子模拟器啊。

这个非常有趣的一个一个作业,然后会在作业期发布啊,补作业期截止的时候,然后我们发布,然后同样是一周时间,这个非常非常简单啊,大家这个坐着玩就好,没什么问题。

然后会用到我们之后所说的这个所谓这个呃智联弹簧系统,然后这是什么意思呢,咱们知道下节课就开始说好吧,然后呃呃在我们说这个大作业之前哈,呃我们这节课嗯算是把这两个这个相对比较杂的话题给说完。

就是我们上节课说到呃相机对吧,然后我们这节课把颜色什么东西说清楚,然后我们就进入到第四个,这个也就是最后一块儿呃这个这个话题,然后最后一块我们来说呃运动模拟,然后仿真这块东西好吧,然后是这么个安排法。

呃那么我们的大作业呢,这里肯定有很多问题,大家关心一个是说呃我们大嘴描述中间提到这个事情,我们非常鼓励大家自己去想这个需要做什么好吧,然后如果大家呃想到了一个可以做的方向,然后欢迎联系助教和我。

然后我们会决定说这个方向到底合适不合适,是不是应该做好吧,然后越早越好,这个我们这虽然有一个截止日期啊,但是如果你早早点反馈给我们,我们可以早点看对吧,哎好,那么呃这个关于作业的提交呢。

我们说是在课上我们不断这个呃这个这个这个给大家解释说,各种各样的这种提交方式,这里呢先给大家说一下,就是说提交的时候啊,我们希望大家能够提交一个什么呢,一个两分钟的视频。

然后这个视频呢是基本上就是你这个做了一个ppt啊,然后呃你一呃就是就是你会把自己的声音给同时录进去,然后一边放这个ppt啊,总共是两分钟时间嗯,然后这样呢把你做的内容呃说清楚,做了什么。

然后什么呃技术的困难对吧,然后最后得到了什么样的结果啊,还是不错的好吧,就是通过这么一种形式,然后还有啊,然后我们看一下,就是说啊有一点很重要的事情,这是图形学课,而且大家看到啊。

我是很努力的在这个把这个呃我们的这些课件什么东西啊,做的比较好看,然后如果大家关注我的科研的话,大家也会发现啊,我对这个场景啊,对这个最后嗯呃制作出来的效果啊非常重视。

然后所以我呢在这里也要求大家嗯对美学稍微重视重视一点啊,审美啊,aesthetics,顺便大家补一个词吧好吧,然后这个啊审美非常重要啊,千万不要说这个做出来的这个东西技术非常好。

然后但是看上去非常难看啊,这个就不好了,所以花点时间打磨一下自己做出来的这个产品对吧,呃为什么这么说呢,咱们从第一节课上就这么提到这个事情啊,就是说呃游戏里面现在越来越重要,重要的是什么呢。

就是所谓dling graphics对吧,就是说这个图像要好看,好看了才能把游戏给卖掉,当然它有其他的因素,但是游戏呃游戏上来说,这肯定是这个画面是非常重要的,那电影各方面肯定都是这样。

那么嗯从一个更广泛的角度上来说,你有一个好的东西,然后你需要把它给卖出去,对不对,然后能够和你做的这些呃内容,然后相称的一个外观,对不对,然后所以说啊这方面都是大家需要锻炼的能力,特别是在图形学里面。

然后可能其他的课程啊不会要求这个事情,所以呢利用这个机会让大家正好也锻炼一下,然后做一些稍微好看一点的结果,好吧啊,这是一个事情,然后呢嗯我自己啊,我自己非常非常不喜欢写报告。

所以呢我也不要求大家怎么写报告,然后大家做完了这个之后,反正有两分钟视频嘛对吧,然后做完了之后,基本事情都说清楚了,然后如果有其他地方,比如说这个更多的结果,然后或者说这个还有些什么技术难点。

然后在这个呃视频里面说不清楚的,然后你把它写到这个报告里面,然后报告里面顶多写个一二差不多了啊,然后就是说根本不需要,那么这个长篇大论的写了一篇论文之类的,这种不需要啊。

就是说呃你的所有的展示基本都在这两分钟里面啊,这个意思好啊,那这样的话大家还有什么其他问题没有,关于大作业的提交方式,这样哈,我这边先等一等,上课天天写报告好吧,而是这么回事。

这节课呢其实我是时间相对较为紧张一点哈,然后否则的话其实可以给大家多谈一谈关于这个体会,我自己吃过亏,我自己之前这个嗯本科时代,怎么说呢,导致我这个这个一直就不怎么接触这个领域,你就是因为写报告的事情。

我觉得写报告是非常痛苦的事情,所以我不想写,所以我就把那个课给退了,当时有没有过这么一段故事啊,这个之后再多说吧,反正就是说我个人性格不惜写报告,就是这个事情啊,哈哈哈哈行吧,呃时间有限啊。

这节课内容确实多,所以先不给大家多说这些杂七杂八内容了好吧,那么有同学会问了,说我我怎么去这个录一个呃所谓我的presentation,然后我还得把声音录进去,太简单了啊。

你做一个p p t的这个或者是keynote的这这些幻灯片,然后做好了之后,然后你用这个训练模式排练模式啊,然后呃或者说用这个录音模式,反正就是说一边你可以播放着,然后一边就可以把这个结果给录下来。

然后这个事情我做过很多次啊,特别是这个kindnote挺好用的,然后就是说没有任何问题,就正常播放下来,然后自己把这个该说的内容说清楚就好了,两分钟记得不要超时啊,这个非常重要好。

然后啊那也有也有同学问说我这个嗯得出来的结果,然后我希望这个截一个屏对吧,然后然后他又说动画这个怎么办呢,我怎么样录一个嗯,嗯这个对屏幕录一段时间呢对吧,然后哈哈哈这个那怎么办呢。

就是我个人来说啊啊我用linux,然后在linux下面呢,我推荐这么一个软件,很简单,叫coreen recorder,然后他的名字就和他自己一样简单啊,非常好用,然后大家直接去搜索他就可以用了。

然后嗯在其他的平台上我帮不上忙,我这个不是特别清楚应该怎么样去录啊,然后但是差不多啊,就是说不管怎么样呃,你这个录制一段屏幕,然后这个压缩下来放到你的ppt里面去,然后你再去这个呃用排练模式录下来。

然后就可以导出了对吧,那这就是关于这个大作业我能想到的一些事情,好吧哦,有同学反映说嗯同学学研究是不是得到正确的颜色,是是这次我们这个还要说这个颜色的问题好吧,然后大作业提交时间能不能延后哦。

这个事情是这么回事啊,就我个人来说,我觉得大作业确实应该提供更多的时间,只是我不希望给助教提供呃,呃相当于是给助教增加额外的麻烦,因为这这门课呢咱们很快就要结束,结束了之后,如果再拖个两三周。

然后再提交大作业,这个是不是对助教来说工作量有点大,但是既然有同学提到这个事情了呢,那我就呃我就问一下好吧,我们了解一下关于大作业的提交时间啊,那就这样,大作业中的模型是自己搜吗,是没问题。

你自己可以这个随便用各种各样不同的模型啊,随便去找,然后也可以这个从各种各样的网站上面去这个买啊,然后这是这个模型什么东西呢,就是自己去找一找就好了,好吧好的,那么嗯这就是关于今天我们这个说的内容啊。

那么今天我们的课程,然后我们开始说颜色这两块的内容都非常多,所以咱们今天得赶紧,然后可能是咱们先预告一下,那么呃嗯不管怎么样,咱们今天一定得把这个内容解决掉,解决掉。

下节课才能开始进入到呃这个动画与模拟这一块,好吧,那就是这么个安排,那咱们就先顺着上一节课的呃,相机这块来说对吧,我们开始说广场,然后呢大家看到这个广场呢我用了两个词对吧。

一个叫做这个light field,然后另外一个叫做loomy graph,然后这个是怎么回事呢,这这两个指的完全是同一个东西啊,就好像番茄和这个叫什么呃西红柿一样啊,然后但是嗯这属于历史遗留问题。

是属于两个不同的组,各自发现发明,还是发现了这个广场这么一个东西啊,然后各自给这个发射线的东西命了名,然后现在还争论不休,到底哪一个是先发明的,然后到底广场应该叫什么,但是从中文的翻译来看。

广场可能大家认可的更多的是左边这么一个事情,对吧啊,那这个我们就不做多考虑,然后在我们这个课里面呢,我们就用light field的这个概念,好吧啊好啊,那咱们开始说这个广场到底怎么回事,对吧好。

首先呢我们要从我们看到的是这个世界是什么说起,这个事情非常非常复杂对吧,但是如果我们呃设定一个简单的场景,比如说呃我们坐在这里,然后呢我们看这个屋子以及透过屋子,我可以看到一个树,没有问题吧。

这是我们看到的世界这么一个过程对吧,那么如果我把我看到的东西画下来,唉这就是一幅图,这是这是一张图对吧,然后我们可以看到这窗户,窗户外面的这个数在这对,这也没有问题,是墙壁各各方面的东西。

那么我现在问这么一个问题,如果我说啊我把这个房间算是给砍掉,或者说在这个房间这个中间加上一个幕布,然后这个幕布呢它非常好,它能够严格意义上模拟你之前看到的这些这些光线,从某个点打到另外一个点。

它的强度是多少好吧,然后加一个这个幕布,然后这样的话这个幕布呢我让它显示什么,我让它显示的就是你刚才所能看到的是这么一张图,那么你坐在这里看这个幕布,你是绝对不会体会到有任何和这个真实世界有区别的。

就好像是你之前坐在这个真正屋里,然后往前面去看对吧,这里呢我想到两个事情,第一这就是虚拟现实的原理,本来虚拟现实嘛,你这个嗯大家带一个头戴式设备,然后成像平面在这里。

但是它是会让你认为说要呈现的是整个世界,对不对,就是这个就这么一个意思,也就是说你如果把所有的信息都记录在这么一个平面上,如果把这些信息都完整地记录起来,然后被人能够看到。

那是严格意义上和人看到真实场景是一样的,那这是一个事情,另外一个事情呢只是稍微这个一点的话题,这个应用其实在这个科幻电影里面已经已经出现了对吧,大家要看过碟中谍啊,我不记得,是第几部了。

中间有一个在克里姆林宫里面发生的事情啊,这里嗯就是严格意义上应用的是这么一种技术哈,然后这里呢先不给大家多说啊,这个这个呃大家回去自行去查这个就好了,好那么嗯这里呢我们就说了一下。

关于大家看到的是什么对吧,大家看到的就是从各个方向进来的光线对吧,大家其实看不到这个光线,这个从多远近的对吧,以及从什么地方进的这个文明不关心我们只关心就是人眼,从呃这个从某个方向看向某个方向。

我能看到什么,就这个事情好,那么我们可以描,述这个人到底可以看到什么东西啊,然后呃用的是什么呢,我们可以用一个函数叫做所谓全光函数,叫做panopic function,然后这个全光盘数是什么啊。

然后这个全光函数大家从这个问答就可以看出,这就是我们所能看到的所有东西对吧,然后这就是全光函数,为什么为什么是这么回事呢,然后这画的是什么意思呢,那咱们从最简单的全光函数开始,咱们一步一步把它给说明白。

那么假设说啊我站在一个场景里面,然后呃我的位置固定,然后呢我可以往四面八方去看,我往四面八方去看呢,然后我,知道我可以定义任何一个方向,用它的极坐标表示c它和y对吧,那我可以定义这么一个函数。

我往任意一个方向上看,我可以看到一个什么值,然后那这这个这个函数自然就是c它five的一个函数,它的最后的结果是一个数对吧,哎那没问题,那这个自然而然我就可以表示我在某个地方往某个方向看。

往所有方向看对吧,可以看到什么好,那没问题,那么我们可以稍微把这个呃函数稍微改进一点,改进成什么呢,改进成我们引入一个波长这么一个概念,所谓波长其实就是引入了各种不,同的颜色对吧。

大家知道我们虽然还没说颜色,但是颜色呢基本就是因为这个光有各各种不同的波长,那如果我把每一个这个过程呃,呃对应的这个光啊,然后我往某个方向看,可以看到某个波长的光,这个信息给记录下来。

那我才看了一个彩色的世界,对不对,哎没问题,那咱们可以再继续把这个呃函数全光函数再进一步扩展,我们不是想得到我们能看到的所有东西嘛对吧,那么我们现在扩展一个时间t,扩展一个时间t,那么是什么呢对吧。

那大家可以可以想到这就是电影这整个一,个思维的函数,这就是电影没有任何问题对吧,因为你可以往各个不同的方向看,你看到的各个不同的方向来的这个信息它都是彩色的,然后这是nt对吧,然后呢。

然后你在不同的时间它显示的东西不一样诶,这可不就是电影吗,对没问题啊,然后我们就这就扩扩展了这个概念,那咱们还可以进一步扩展,进一步扩展怎么办呢,我们刚才说啊,这个人站的位置我们不是一直固定着吗。

我们考虑它往哪个方向去那行,那我现在考虑说我这个人的这个位置啊,或者说摄像机的位置,我也可以任,意在三维空间中任何一个地方来移动,那么三维空间中任何一个位置,我知道as yz对吧,我可以定义这个事情。

那我要定义了这个事情之后呢,这个我看到的是什么呢,我看到的这就是一个所谓全息电影,意思就是相当于是啊我看到的整个这个世界,我不止可以看到,我还可以改变我自己的位置,从另外一个角度来看这个世界,诶。

这是没问题的对吧,那么这就是我们可以看到的这个这个呃,所谓这个全息电影这么一个概念好吧,然后呢我们还可以最后再改进一步对吧,再改进一步怎么,说呢就是说我们把这个函数不当做一个电影来看。

我们来把它理解成什么呢,我们把它理解成说我在任何位置,然后往任何方向看,并且在任何时间,然后我看到的都是这个这个呃不同的颜色,那这就是典型的我们所看到的所有的事情,这是没有任何其他的东西在里面。

大家可以想象一下,对不对,没错吧,在任何时刻,任何位置,任何方向看到的东西对吧,那也就是说整个一个世界,整个一个视觉的世界是一个什么,是一个这个几个维度呢,七个维度的函数哎,大家觉得这个事情是不是这。

个很神奇的一件事情对吧,我们可以看到这么丰富的这个世界,其实看可以拿这个七个维度就可以衡量了,没有问题,那当然了,大家说这个之后还可以再把它这个再改进,再加入点什么对吧,这是有可能的,没问题。

那么到此为止,其实我们就可以把这个七维的这个函数当做啊,我们所嗯叫做的这个所谓全光函数就这么一个理解方式,好吧,哎这样的话啊,我就等于整个世界都可以拿这个方式来表示的。

那么光场的概念就是从这里开始的对吧,就是呃那么我们我们先从这个这个嗯全光,函数本身这个呃它的定义上来看哈,它不一定是离散的,这里的表示是离散的这些紫色的点哈,然后从任意一个方向。

然后我知道他过来的光是多少对吧,然后这个方向也应该是一个连续的,没有问题,然后呢这个这个目前这就是一个简单的一个情况,他的所有的点都在二维的情况下,它的方向都是意味着没有问题吧,啊好。

那这样的话就等于是说我可以从这个所谓的全光函数中,提取一部分信息出来,然后用来表示这个更复杂的这些光,就是说我们,平常在一个点,我们往这一个方向看,那我记录的这光信息是什么呢。

那就是来自各个方向的这个光的信息,那么所谓广场就相当于是记录了稍微多了那么一点点的信息,那么广场其实就是这个全光函数的一个小部分好吧,那这就是我们这个现在要开始来定义这个广场好吧,那定义广场之前呢。

我们先嗯定义一下这个这个啊光线啊,光线我们之前老早之前就定义过这个事情对吧,它得有个起点,得有个方向,那起点就是v x v y v y v z方向就是其他没问题啊,三维空间中的任意,一条光线。

然后呢那我们定义了光线之后,我们会发现啊,刚才那个定义我需要一个这个呃一个呃起点和一个方向,那是不是说我这个呃这样定义就是最好的对吧,不一定对吧,我有各种各样不同的方式来定义一条光线。

我就可以定义这么条光线啊,假如说方向我们知道啊,假如说方向我们知道,就是说呃负的或者正的这种,那我任意取两点两点确定一条直线吧,基本上就可以确定这么一个事情,然后嗯这样的话呢,不管怎么样,我就是说呃我。

要想定义这么一条光线,其实我需要什么,其实我只需要这个二维的这个位置和二维的方向,那这个怎么理解,我们马上就说好吧,那就是说不管怎么样哈,我用两个点可以定义一条光线。

然后嗯那么如果我想定义这个对于任何一个物体吧,它的表面,它这个这个这个物体它可以被放在某一个盒子里面,那我看向这个物体,我无非是从任何任何方向对吧,然后任何位置,然后任何方向看一下这个物体。

那么反过来理解光光路的可逆性,我也可以认为我要想描述,这个物体所能被看到的所有的情况,然后它往各个呃,它在任何一个位置,往任何一个方向过去的光线对吧,把这个事情描写清楚。

我就可以得到我从任何一个位置看向这个物体,它应该长什么样了,没有问题吧,这样想,因为你从任何一个物体看上一个一个一个这个物体,然后呢你自己这个呃观测的位置有一个点哎,这样两个确定了一条这个光线。

然后知道它的方向,知道它,的方向,你就可以查询你这个呃我呃我们记录了这么一个函数对吧,那么这个函数是什么,这个这个函数呢记录了不同的这个呃点,也就是说在物体表面啊,不同的位置。

它往各个不同的方向的发光情况,没错吧,然后这个我们可以理解成一个黑盒,它往各个方向去,这个这个都是什么样的一种光照情况,如果我们把这个信息给记录下来,这就是我们要的光场,那么总结一下广场是什么呢。

就是在任何一个位置往任何一个方向去的光的强度好吧,那这样一来就等于,是我们把这个广场和这个全光函数,这也算是建立起来联系啊,广场是一个这个全方函数的一小部分,只是位置和方向,二维的位置,二维的方向。

那么现在我们再回头看,怎么理解二维的位置,二维的方向呢,这里我们可以看这个物体的表面啊,我们之前老早就定义过这个事情对吧,3d世界中,然后二维物体呃,不三维物体的表面其实是在一个二维的空间中的对吧。

大家可以理解成是纹理映射,用两个数就可以表示uv对吧,就可以表示任何一个位置对吧,没问题,那么方向也是任何一个,空间中的方向我都可以用c加f来表示,那也是两个数,那也就相当于是两个数表示方向。

两个数表示这个位置,这就是广场好,那么咱们可以看一看这个呃,如果我们有了一个物体的光场啊,大家可以看呃,任何一个位置对吧,然后他往任何一个方向都有这个呃都可以发光,那我们刚才所说的是什么呢。

我们刚才说我们在任何一个位置,然后往这个物体上看过去,只要有光场,我就可以知道我会看到什么,这怎么理解呢,假设啊我有一个摄像机放在这儿,我往这个物体看过去,然后呢我就,可以发现哦,如果我往这个点看过去。

我应该有这么一条光线对吧,如果往这个点看过去,我应该有这么一条光线,然后往这个点看,往这个点看,那么我会发现我之前在记录广场的时候,其实就是任何一个位置,往任何一个方向我都记录过。

那所以说我在呃从这个点往这个点看的时候,然后我完全是知道这条光线它带的能量是多少,所以我知道我能看到什么,这是我从广场中直接可以提取到的信息,那同样道理,这条线也知道,这条线也知道,这条线也知道。

那么也就是说我从任意一个位,置往这个物体的光场上去看,我都知道我可以看得到什么,没问题,那么好的这个广场的好处是什么呢,就是说我从任意一个位置都可以看见这个物体,看上这个物体之后。

无非我就找到往各个方向看的这个方向哎,往各个点看到这个方向,然后各个点呃这个呃又是有各个方向的话,我就可以查询到,从这个这个思维的这个广场里面查询到我之前记录的光场的值,这个也就是这这个光的强度。

那这样的话我从任意一个位置往任意一个方向看,我都知道看到什么,所以我有了广场之后,我们得出一个结论,我们可以得到任意一个不同的这个物体的不同的观测,也就是说我从任意一个位置看向这个物体,我就都知道好吧。

这也就是这个广场的好处,它是一个思维的函数,然后它可以任意给我们任意的一个这个观测的方向,要看到的结果好,那么另外再多想一点,咱们刚才提到说啊,这个广场我们不是说定义在这个物体表面嘛对吧。

但是我们之前这个前一个例子,比如说把这个物体放在一个盒子里面,然后我不需要知道这个物体是什么,我只需要这个任何一个这个盒,子上的任何一个点,然后它往任何任何一个方向会把它记录下来,就可以。

这个就是我们之前说的,我们在一个屋子里面对吧,我们看到这些东西到底是什么,到底是一块幕布还是整个这个物体的几何,我们并不关心,我们只关心说这个到达这个我们的观测点呢,某一条光线它带的能量是多少。

那也就是说啊,我不需要知道这个呃,我我的这个广场它表示的是什么东西,这个不需要知道,我表示认为它是一个黑盒,然后它是一个黑盒,只要在它在它的盒子表面任何一个位置,我都知道任何。

一个方向它过去的这个呃光线诶,那我这样的话就可以记录它的广场,没有问题,如果在里面,那我们没有记录这个信息对吧,没有问题好,那也就是说我们是可以通过简单的这种方式来记录工厂的,那么咱们更进一步啊。

就是说这种方式呃,我们还可以把它理解成是什么呢,理解成是啊,我这个我取一个平面,我取一个平面,然后这个这个这个平面呢,可能这个平面的右边是一些发光的物体哈,假设这么回事,然后这些发光物体。

会发出各种各样的光,他们会穿过这个平面,我们刚才说话,这个平面右边这些东西我们可以忽略,我只需要知道这个平面左边是什么就可以了对吧,然后我知道任意一个方向就可以了对吧,所以说我知道平面上一个点s。

然后它的这个方向如果是这这种平面情况,一个一个数就够了,如果三维情况两个数set的fine对吧,我们可以这样描述,那么我是不是说呃对于任何一个这个广场。

我是不是可以用两个平面来定义这个任何一个广场是这么一,个理解,那么我们刚才说对于这个我知道右边有一个这个物体啊,这么想,然后这边有一个平面,我可以这么参数化这么一个光场。

那么我之前所说这个对于一条光线来说啊,对吧,这个s然后这个从这个点出发的这条紫色光线,我们不是用i s和这个方向,也就是说呃一个位置一个方向来描述这个光线吧,我们回到刚才我们说光线还可以定义成什么呢。

光线还可以定义成说这个两个点我就可以确定一条光线,往一个方向去得到这条光,线上面强度我也可以定义两个平面相互平行的平面,然后这两个平面上呢我任取各自任取一个点,那两个点都是二维的,对不对,然后这2。

1连唉,我就知道这个对应的这条光线是什么了,然后这就是为什么说我们对于广场里面啊,平常大家会用到这么一个概念,就是uv和s t,这就是大家对广场的参数化的过程。

就说白了就是说它本质上它就是一个思维的函数,这取决于我们如何这个描述这个思维函数而已,那么我们想象一下,对于两个平面来说,假设我们知道这个发光的物体,或者说我们关心的东西在右边。

然后我们就知道所有光线的方向啊,假设知道这么个信息,那么这样的话任意呃两个点大家看到诶,这个平面上一个点,这个平面上一个点,然后这两个点一连线,我就可以找到这一条光线,我把这条光线值记下来不就行了吗。

那我只需要找到所有的uv,所有的s t它们的组合就可以了,那么所以说这是一个经典的参数化表示方法啊,这个很简单嗯,就基本上来说就是相当于是我用诶两个平面上各自取一个点,来决定某一个方向。

然后我只要考虑所有可,能的可能性我就可以描述所有的这个呃不同的位置,然后不同的方向出来的这些光线没问题吧,也就是说这是通常大家用到的一个参数化方法好,那么到这为止呢,我们这个呃广场这一块。

这基本上来说它的概念这就说明白了啊,就是说我们记录这个所有可能的这些光的位置和方向,那么呃我们可以看看对这个这个两个平面啊,这种参数化方式的一种两种不同的理解方式哈。

然后我们看到有uv平面和st平面对吧,这两个平面,那么我可以有各种各样不同的理解方式,我可以在s,上取一个点,然后呢我看所有的uv它长什么样对吧,然后像这里我可以在st上去不同的点。

那我看到的这个整个uv上面这个平面看到的肯定就都不一样。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

那么这是什么意思呢,那这张图就可以一目了然的这个呃看清楚到底是怎么回事。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

是这样啊,就是说我们记录的这个广场,它相当于是st上去一个呃取一个点,然后uv上取一个点,然后这么一连对吧,那现在如果我认为我从uv上面这个呃去固定的一个点,然后我看向所有的这个呃sd平面。

我会看到什么呢,这就好像是啊,这就好像是说,我根本就这个呃没有广场一样,是这个意思哈,为什么呢,因为我在uv上随便取一个点,然后呢我看向这个世界,这个世界右边是我们所关心的东西,这就好像一个针孔摄像机。

我们所能看到的东西,对不对,所以他会看到一个这个图,他会看到一个这个呃完整的这个物体,这么一个图啊,没问题哈,那然后如果说我把这个uv位置换一换,诶,我换到这个角上,他就好像说从这个角上有一个摄像机。

然后拍向这个整个世界,然后这个整个世界在右边,对不对,然后会看到一个从另外一个角度看到,的这么一个世界的图没问题,然后呢那这块好理解,相对困难,a点是什么呢,是反过来我固定s上的一个点。

然后呢我往uv平面上去看,那这个会看到什么,这个就比较有意思对吧,那我们怎么理解呢,这样想这样想,整个世界还是在s平面的右边,那么我不认为说我这个从这个呃st亮点往uv看。

然后我都看向st上的同一个点好吧,然后呢这样的话我就可以看到什么呢,我就可以看到这个完完全全对于同一个物体,然后它的不同方向,然后是什么啊,这块就不好理解啊,就是说对这个呃就是说这块应该应该怎么样想。

咱们马上说这个呃,说这个广场上摄像机的时候,然后我们会把这个事情说得更清楚一点好吧,总之就是说呃这是这是另外一种不同的这个理解,就是说我看的是同一个东西,我看的是同一个东西。

只不过是我从不同的这个角度去看,就好像你盯着同一个点,盯着同一个点好吧,然后你可以从这个不同的这个角度去看,你会看到一些类似这个不同的高光的这种这这样一个感觉好吧,那是这么一个意思,或者说你怎么。

理解呢当你的这个呃一个摄像机,然后拍了一张图之后,你的一个像素上存的是什么,你的像素上存的是irradiance,咱们上节课说了,对不对,那其实通过这种方式。

它可以把像素上的irradiance给展开成为radiance,你可以看到达到任何一个像素上不同的方向的光到底是什么,好吧,这是这么一个意思好吧,那这里呢相对难理解一点。

然后但是我们这个分别展开来给大家说一说这个事情,那么咱们从最简单的这里这里开始啊,就相当于是我有很多摄像机啊,我从某一个角度看向整个世界,然后拍一张图出来,对吧,然后我把这些所有图都组织在一块儿。

这就是整个广场诶,那行,那到底有没有人这么做呢,当然是有哈哈,这个斯坦福他们就做了一个这么一个这个呃摄像机的一个一个矩阵,大家可以看到这个矩阵有多少个,大概是12x12百,12x52x8啊。

这么多个呃相机组成,然后呃这个就是我们刚才所说的这个广场的理解对吧,就相当于是我在不同的位置,然后我这个对这个场景,然后我拍不同的图对吧,然后然后我每个位置对应一个啊s t对吧,呃每个位置是一个uv。

然后,呢我拍到了这个这个照片,它是st,那这就是四维的对吧,那这样想每一个相机成像出来是不是一个二维的图,然后这个相机本身是不是二维的,所以二维成二维,那这就可以解释了,当然了。

一个这个摄像机阵列是是要花很多银子的。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

大家可以算一算这个概念啊对吧,然后呢嗯我们其实更关心的是另外一种,另外一种相对困难一点,但是这个如果从这个角度上来说,其实就相对好理解一些了,这为什么我们要说这个呢,是因为在自然界啊。

就是有一些这个昆虫是生物,比如大家看到苍蝇,这苍蝇呢它的眼睛我们管它叫妇炎对吧,然后这个苍蝇的眼睛的成像原理,它其实就在就是在成像一个广场诶,这个到底怎么理解呢,我们这样想。

还是从刚才的这个角度上来说啊,我们盯着这个原本的正常的拍出来的一张照片来看,那么照片上面的任何一个像素,它记录的是所谓irradiance对吧,irradiance就是我不区分来自于各个方向的这些光诶。

然后我就把它都给平均在一块对吧,这就是我们上节课还提到说,为什么我们一定得有一个镜头,我们不能说让这个把这个直接把感光元件放在人面,前对吧,因为任何一个这个感光元件的一个部件或者一个像素吧。

它就会受到所有的这个不同方向上来的光,然后他就把这个这个记录下来,平均起来是这个意思,那么就是说我们对于这个广场来说,我们的另外一种理解方式,大家还记得吧,就刚才说这个困难一点的,怎么说呢。

我们先把这个所谓lslate啊,这里当做某一个像素,大家可以看到,比如说对于这个像素来说,他接收到的光有来自于左边的蓝色,来自于正上方的绿色,来自于右方右方的这个红色,然后它这个呃像素如果是普通的。

相机啊,咱们就把这个像素给记录下来了,然后这个记录下来结果就是所有的这个蓝色绿色红色的平均啊,对于这四个来说都是这样的,那么如果我有办法可以把它给分开啊,比如说我这个光打到这个像素的时候。

我不立刻来记录它,而是我把这个像素变成一个这个某个小的透镜,某个角度透镜之后呢,它的作用是把来自于各个方向的光给分到不同的这个位置上去,分到不同的位置,我就会发现哦,我把实际的感光元件放在它背后。

放在底下,然后呢我用前面的一个小的透镜,然后我,其实呃经过这个所谓风光这步操作之后啊,然后我就其实可以把打到原本的这个像素上的各个方向上的光,分别记录在不同的位置。

大家可以看到这个打到这个像素上的红光都被记录在这里,然后绿光在这里,然后蓝光在这里,唉也就是说我本质上来说,就等于是我记录的不再是一个像素的radiance了,我记录的就是他这个所看到的。

往往这个世界不同的方向看到的这些radiance,那这个就非常好,就是说这也正是这个啊光场照相机的这个基本原理好吧,那么从这样的话,我觉得就稍微清楚一,点了啊。

就是说这个反过来理解这个广场就是相对是比较困难一些,然后就是说大家再回过头来想嘛,就是我看着一个像素啊,我看着一个像素,然后我其实是相当于看着这个穿过这个像素的不同方向的光,就是这么个意思对吧。

那么这里就是就是这个道理了,那咱们就直接可以进入到下面一个话题。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

就是光场照相机啊,就是说光场的原理,咱们这个就是说说了。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

然后现在呃利用这个原理可以做一个摄像机出来,那么呃这里呢要这个提到广场照相机,就,是berkeley的这个rng老师,然后这个其实应该念做rn in哈,这个这个ng这个姓它其实是无这个姓啊。

中文的无这个姓,然后就很奇怪的一种写法啊,然后嗯但是不管怎么样,就是呃professor人,然后呢他这个呃是怎么回事呢,他创立了一个公司叫做这个light tro光场照相机,然后算是这个世界上首创。

然后就是说真正能够让这个计算机不是计算机啊,这个呃这个广场照相机进入到这个消费者的层级上去,然后呢,嗯那么那么它这个原理就是我们刚才所说的这个这个呃微透镜,这么一个原理很简单,把一。

个这个像素替换成一个透镜,然后让这个透镜可以呃把这些来自于不同方向的光分开,然后再把它记录下来,是这么个意思好吧,那么它这个呃光场照相机有什么功能,它最重要最重要的功能就是支持后期的重新聚焦。

那么什么叫后期的重新聚焦呢,就是说你随便你拿到这个这个照相机之后先拍张照,然后咱们在这个这个考虑聚焦啊,或者是别的什么一些问题啊,就是说我还可以考虑这个光圈的大小,也可以可以后期来改。

然后呢我这个聚焦这个各个各那我我就可以动态的来调,节呃各种虚拟的这个呃焦距就是这么个意思,就是说呃他可以做到这么一个事情,那它的原理就是利用了广场这么一个道理,好吧啊。

然后这里重要的事情说先拍照再调这个聚焦,这就非常好对吧,比如说有时候你可能要拍一张重要的照片,结果调这些这些各种各样的参数给你给调坏掉了,然后你拍出来一张比较糊的照片来,对于光场照相机不存在这个道理。

就是说你直接拍,拍完了之后,它可以动态的调好,那么这几张图是什么呢,这个呃就是这个人ng老师,然后他在debt啊,然后嗯右,边这两幅图分别是这个呃light tro照相机的一代和二代啊。

一代一个非常小的,大家看到这个手持的这么一个非常小的设备,然后二代呢就和一个真正的相机差不多大,诶这两个实体我都是见过的,而且也拍过照啊,在在berkeley这块儿,然后呃这些设备啊其实都很常见。

大家已经拿各种各样这些设备来做一些呃各种各样实验了,然后另外一个小事情是这么回事,就是说呃我的毕业典礼上是这个呃这个原ng老师帮我拨碎啊,然后这这里是这个照片啊,有同学可能要问,那为什么不会不是你老。

板来给你帮你脖子嗯,对这个这是另外一个问题哈,另外一个问题,那咱们就先不说了啊,那就这样啊,那嗯这是关于这个广场召唤机的原理啊,那我刚才说了啊,重要的就是它这个设计这个呃微透镜的设计以及它的这个作用。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

好吧啊,那么它可以做什么呢,咱们可以看一看这个啊,就是说大家看到我可以拍一张很糊的照片,就是用广场照相机,这是真的,这是真的,是用这个广场照相机nuro拍的,然后我可以动态的调这个焦距。

比如现在大家可以看到这个,呃这个这个聚焦的平面啊已经在这个人的脸上了,然后诶我们还可以再继续把这个聚焦的平面往前推,大家可以看到这个人头里面变得清晰了,然后呢现在现在变成聚焦在这个平面左右了对吧。

在这个椅子这一块儿,然后我还继续可以往前推,大家会发现诶这个椅子这块现在比较清楚了,后面人自然就变虚了,诶然后我还可以继续,我到了这一步之后,我就会发现诶这里这个聚焦的平面在不断的这个往近处拉近对吧。

那就是说确实它可以做这个设备机啊,好那么呃没问题,然后嗯,好这就是整个一个这个这个效果哈,那么这个光场照相机的原理是什么,它其实就是广场的原理,很简单啊,怎么理解呢。

我们原本说啊我们的成像平面会放在这么一个位置,假设说现在可以呈呈现一个这个聚焦了的结果,那我会发现这里哈在呃以前在普通的相机里,这就是你的像素啊,这就是你的像素。

任何一个像素它会接收到来自于各个不同方向上的光,然后呢把它平均起来对吧,这就是irradiance,那么光场照相机的原理就是相当于是我把这些原本的这些像素,换成了一些这些呃微透。

镜这些微透镜呢就会把这个来自于各方面的光,大家可以看到啊,来自各方面的光给分散到不同的方向上去,然后分散到不同方向上去呢,我在后面再把它给记下来,也就是说我把感光元件往后拿一点点。

然后让让这个不同方向的光啊,经过这个透镜之后,然后正好分散在一片区域上,诶就是这么一个道理,那大家看这个广场照相机和这个和这个呃普通照相机的区别是什么呀,那就是说原本啊我记录一个像素对吧。

那么现在我要记录一块像素,就是这么一个道理,然后大家看这个广,场对应的光场照相机直接照出来的最原始的图它是什么,它其实就是说诶我原本的一个像素,现在变成了一个圆对吧,它至于设计成为什么,圆不是一个方块。

或者这个就无所谓了,就相当于是任何一个圆内部,它其实就是如果你把它平均起来,它就是以前普通的传统的这款机得到的结果啊,然后如果你这个考虑他这个这个在一个圆的内部,它是各个像素到底在干什么。

他其实记录的就是各个不同的方向,那这样想就就就比较好理解这么一个事情啊,然后这个有同学说这个小孔不,是也可以把这个项给分开,没有那么容易啊,没有那么容易,这是一个非常理想化的情况。

就是说实际上来说用透镜只会比这个要更加复杂啊,这是一个事情,咱们之后要说就是关于设计的事情好吧,那嗯不管怎么样,他他能够做到的事情就是就是什么呢,就是把这个来自于各个不同方向上的光都给记录下来。

那么大家看这里哈,大家如果看这个呃,就是现在的这些透镜的这些位置呃,不同的透镜它对应不同的位置,对不对,那不同的透镜它又可以接收到不同的这个方向上来的光,并且,把它存起来。

咱们不管它存起来右边的右边的事情了,但是我们看从这个透镜向左边看,这可不就是一个广场吗,大家想一想这个事情对不对,我有一个这个不同的这些位置,每个位置都可以往不同的方向上去,并且我可以把它记录下来。

对对所以这就是这个广场的道理,所以这里呢就是光场照相机本身的原理,那说白了就是一个像素,它原本记录的irradiance被拆开了,就这么意思好吧,那么我们怎么更深入理解这个事情。

那我们就想我给了之前那张原始的这个图对吧,那是拍出来的这个光,场这个这个呃相机拍出来的一个图,那这个图我想得到一个普通的这个这个这个嗯最后照出来的相片,那怎么办,哎对吧,所以说这是一个很很现实的问题。

我拍出来一个刚才那个跟这个复眼看到的这个呃照片,一样的一个东西啊,诶我怎么去把它还原成某一个普通的这个照片,很简单很简单,怎么说呢,大家还还这样想啊。

诶我原本来说这个用光场摄像机之前这些这些透镜微微透镜啊,它原本就是像素,对不对,那我就说如果我把这些呃每每一个透镜哈,然后它下面的各个这个不同,的光线我选一条。

比如说在这里呢我就选这个最底下这条我就选这个呃,最底下这一条,也就是说光线都是从这个方向进来的,唉我每一个透镜我都选这么一个呃一条光线诶,每一个都选这么一条光线,然后呢。

我把这个得到的结果记录在对应的这个一个一个像素的结果上啊,然后就是也就是说现在来说这一个透镜对应的就是一个值了,那可不就可以得到一张原始的这个照片了吗,这就好像什么。

这就好像说你把这照相机这个呃从就放在某一个位置,然后往这个方向上去看,对不,对那么更进一步来思考,那如果说我取的不是这么底下这条光线啊,我每一个透镜我取的都是中间这条光线唉。

那就好像说我把这个相机给放在这个正中间,往前面去看对吧,往左边这个方向去看诶,那反过来呃,那如果说我我取得这些光线都是上面这条光线,那就是这条从这这个位置向左下方打,哎,这个位置向左下方打。

我每一个这个透镜我就取这么一条光线诶,我得到的就是相当于是我的这个相机在上面,所以那通过这种方式我们做到了什么呢,就相当于是有了这个广场之后,我们就可以虚拟的移动这个摄像机的位置对吧,大家可以想想一想。

这个以前这是不可能不可能的事情,如果你说你拍一张照片,你拍了之后,你想把镜头挪一下什么位置,那你这个得得依赖于这个这个这个计算机视觉,然后重新来算一下这些东西。

但是光场照相机是可以严格地做到这个事情的对吧,这就是我们刚才分析的这么一个道理对吧,我取不同的方向的光线,其实就好像是说我的移动这个这个呃摄像机的位置对吧,所以这个是非常呃有有趣的一个这个现象啊。

这呃所以说,呢这一块算是一个直接的应用,那么嗯这里呢我其实不是呃,不会给大家说这个具体的这个动态的这个这个重新聚焦怎么做哈,但是重新聚焦利用的是完完全全一样的道理,为什么呢,因为你拥有整个广场吧。

你有整个广场,你就想象着说如果我要把一个这个呃这个焦平面离得非常远对吧,然后或者离得非常近,那我在移的过程中,对应的这些光线应该如何变化,如何变化之后呢,我就知道说我应该去查询我在这个思维的这个广场中。

我记录了所有可能的这个这个呃光线的这些位,置啊方向啊,这些信息对吧,那我就可以查询说我这更新了之后的光线,我应该插哪一条,那就有可能说我对于不同的这些这些透镜啊,我要查到这个光线并不是同一个位置。

那没有关系,就是你算出来你应该查询某一个方向,你就去查询这个方向,就是按需从这个广场里面去取就可以了,那这个道理是一样的,跟你移动这个这个呃所谓相机的位置是理论上是一模一样的。

也就是说中间需要进行一些计算,然后你才能够算出来说我到底应该去哪些方向,是这么个意思,那么咱们总结起,来是什么呢,就是说为什么这些功能可以得以实现,我可以移动这个摄像机的位置,我也可以动态的做聚焦。

正是因为光场照相机记录了整个广场的信息,而整个广场就是所有的这个进呃,进到这个相机里面的这些所有的信息,那这样一来我们就可以用这个光场来解释这么一个问题好吧,那么呃刚才其实就有同学提提到这个事情了对吧。

然后就是说呃光场照相机是不是完美的,能不能解决这个所有问题对吧,或者他自己有没有问题,答案是有的对吧,比如说,一个这个这个事情呢呃非常明显的一件事情,光场照相机通常都有分辨率不足这么一个事情。

诶这是怎么回事呢,因为大家可以想象啊,这里原本说我这个成像平面在这里,现在成像平面在后面,那么成像平面在后面,它记录的是什么呢,大家还记得吧,每一个小块,比如说我们认为是比如10x10诶。

这一个小块我记录的是原本的普通相机对应的一个像素,那如果说我们都用相同的这个胶片来说,那我就等于是我原本一个像素记录一个像素的信息,现在我得用100个像素记录一个像,素的信息。

因为我把不同的方向给分开了嘛对吧,那也就是说我的这个这个胶片的分辨率现在变成了什么呢,变成了一个所谓这个空间上的分辨率,也就相当于原本照片上这个分辨率乘以乘以什么呢,乘以方向上的分辨率。

那你现在方向上你既然要记录得多,那你在照片上本身它肯定记录的分辨率就低对吧,那所以说他对这个胶片的分辨率要求非常高,然后自然而然呢它就会造成另外一个问题,就是高成本。

高成本不仅体现在说我为了让广场照相机达到跟以前一样的这种呃空,间上的分辨率或者是照片上的分辨率,那我得用超级大的实际的这个这个胶片的分辨率,这是一第二呢就是说我这里关于这个嗯这种微透镜。

这些透镜它们的原理很简单,但实现起来绝对没有这么简单,它是一个超级精密的这种仪器,它中间设计有各种各样的问题对吧,就造成了这个光场照相机的高成本,这是一个没有办法避免的问题,目前来说啊。

目前来说没有办法避免的问题,就是说这个当然我也希望这个科技进步,到时候能解决这个,问题对吧,那但不管怎么样,这是目前来说光场照相机的一个问题,那么另外一个事情是什么,其实也不是问题了。

相当于是我们的一个体会怎么呢,就是说大家会发现啊,从这个分辨率上我们就可以看,如果我需要记录更精密的方向信息,比如说我10x10,我觉得不够,我要记录个100x100。

那这样的话我的位置信息其实就丢失的更多,就相当于是留给我记录这个像素的数量其实就更少了对吧,大家可以还可以想象之前的复眼那张图,那如果一个圆圈特别大,那你记录的圆圈数就少,对吧这样想。

所以说再次大家又可以体会到整个计算机图形学啊,就是关于各种方面的权衡,就如果你提升了另外一块,另外一块可能就要受影响,但是大家最重要的目标就是你提升这个很多方面,而且都可以同步得到提升,那是最好对吧。

那这也是就是大家这个进步的这个思路啊,好啊没问题,那这样的话呢关于这个广场这一块,那咱们这就呃差不多结束啊,那到此为止这个现在有什么有什么问题没有啊,大家就是说广场这块儿。

我的理理解就是说就是一开始的这个uv s t平面上,就就仅仅是说这块的理解稍微麻烦一点点,就是特别是反过来的那个理解,然后但是对应到广场照相机上。

你可以理解成是把radiance分成radiance之后,那我觉得这块儿就不难了,所以说整个广场这块呢,就理解成是一个这个思维的这个分布在空间中对吧,任何一个点往任何一个方向呃对吧。

他都都是这个呃可以记录一个这个光线的这个强度对吧,这就是广场嘛,就和我们的所谓这个磁力场啊,引力场啊完全一个概念对吧,好比如说这个嗯好吧,这边时间所限啊,我暂时就不解释,反过来了,这个,怎么理解了。

反过来那个跟这个跟这个微透镜完全一个道理,完全一个道理啊,对没问题啊,大家这个就理解成复眼就是没有问题的啊,那咱们这样吧,咱们就先先说这个话题,先说颜色这边因为毕竟还有很多内容,然后这边如果呃顺利说完。

咱们回头再想想看有没有办法能够嗯再再多解释一下好吧,那么呃那我们现在就进入这个话题了,说一说颜色啊,那就是说颜色呢到底是什么对吧,这个颜色在早期牛顿做过一个实验,这个光线呢就是一束白光穿过一个棱镜。

然后它会被分解成各,个不同的这个颜色对吧,不同的颜色呃,就是我形成了一个这个彩虹的颜色对吧,呃然后就是说呃不同的这些颜色可以合成这个各种各样的这个呃,呃其他颜色,比如说呢这个实验其实是有后续的。

就是说嗯嗯怎么说呢,就是说呃把这些分解了的这些颜色吧,再把它们合到一块儿去,又会形成这种白色,也就是说啊颜色这些东西本质上来说,其实是这个通过这个牛顿的这个实验,我们发现它其实是一个这个混合出来的结果。

对不对,他应该有很多不同的这种基本颜,然后最后混合出来,会形成某一种颜色,这个是怎么回事,那咱们就是今天要研究的话题对吧,那么呃研究这个颜色呢,首先刚才那个实验已经说明了这个事情。

大家知道为什么说这个光线会被折射成不不同的这些颜色,是因为不同的波长对应有不同的折射率,而给你任何一种光,它一定对应某一种光谱,所谓光谱呢就是这个光线的能量在不同的波长上的分布没有问题吧。

这块是最基本的这个物理的知识哈,然后光谱呢它是一个很长的范围,但是我们平常关心的特别是图形学里关心的呢是一个叫做,可见光的光谱,可见光的光谱它是分布在什么呢,分布在这个波长400nm到700nm之间。

大概哈就是这么一个范围,这么一个范围的过程,我们是可以看到的,然后在其他范围内我们看不到,就是紫外线和红外线这么一个意思,那么我们既然说到这个光谱呢,其实还有一个稍微更准确一点的定义叫什么呢。

叫普功率密度,其实说白了就是说这个光线啊它在不同的波长,它的强度是多少对吧,咱们之前定义这个呃辐射度量学的时候,我们一直没提波长的事情对吧,我们提的都是这个,就是这个光本身会怎么样怎么样对吧。

但其实不同的波长它的表现是不一样的,那也就是说这个呃我们用这个普功率密度或者叫s p d啊,咱们之后就用s p d就可以描述这个光在任何一个这个波长,它的分布是多少对吧,然后也就是说如果大家看这个例子。

大家可以看到这个蓝天某一个地方,然后它的这个呃这个s p d是多少呃,你你会发现哦,它更多的能量集中在这个呃这个这个高频这个地方,大家知道第一波长啊,小波长就是意味着这个呃这个叫什么来着啊,高频嘛对吧。

就是说会看出来这个蓝颜色就是这个意思,然后呢呃对于这个阳光来说啊,这块它就是另外一个呃不同的一种,这个pd就是这么一个意思,也就是说通过pd我可以描述这个光在各个波长上的分布。

那当然我们一切都可以从这里开始对吧,然后各种各样不同的光呢对应自然有各种各样不同的s p d,那这个大家可以看到这个日光灯和这个l e d灯,那它就是不一样对吧啊,不是日光灯哈。

就是日光和这个led灯就不一样对吧,所以说嗯这个自然而然大家这都好理解,为了描述一个这,个这个光线的强度在各个不同的波长对吧,我们肯定得引入这么一条曲线对吧,s p d啊。

那么这个s b d呢它有一个性质,什么性质,线性的性质非常简单,什么意思啊,这个嗯很简单,大家在生活中就接触过了,大家看这个图也是一目了然啊,比如说我有一种能够记录这个这个光强度的东西。

然后我用某一种光来照亮它呃,得得到某一种这个分布,然后另外一种光照亮它,然后得到另一种分布,那两种光同时照亮它,那这个分布其实就是它们之和啊,这两个对应的s p d之和,这个是非,常简单的事情。

大家可以想象一下,我开了很多盏灯,它就会越来越亮,对不对,然后这个是没有什么问题的,线性的性质啊,那么就是说我们最终要回答的问题是什么,是颜色,而而不是什么呢,而不是这个这个光线的这个光谱,对不对。

我们要我们要回答的问题是我们为什么看到颜色,我们看到的到底是什么东西,那么这里呢先给大家这个这个结论,什么结论,颜色其实是人的感知对吧,是人是人的感知,然后呢,他并不是说这个这个嗯叫什么。

一一种一种这个物理上的一些一些什么东西啊,就跟人有关啊,颜色跟人有关,他和这个这个实际的光的这个分布呢,它其实并不一样对吧,是这么一个意思,那这个事情是不是听起来很正经对吧。

咱们咱们这个呃待会儿就会来解释这个事情,好吧哦,有同学问到说,s p d是不是关于信号上定义的那个s p d是一模一样啊,然后可加性这块呢这块儿嗯其实来说我自己来说。

基本上来说就是相信这个结论就差不多了,基本上来说这块我也没有考证过,说为什么会有这个这种这个可加性哈,这个事情相对深入一些,我就不再多回答了,关于这个呃干涉这块儿这块儿嗯这个我也不知道啊。

就是说嗯这里差不多咱们就解释成对,就是说这个大家发现了一个原理,然后咱们用它就好了好吧,ok那么我们回到这个话题上来,我们希望解释到底什么是颜色对吧好,那么为了解什么是颜色,既然是感知。

那人怎么感知的对吧,大家可想而知,我下面要给大家放什么土对吧,人怎么样感知到颜色,哈哈哈对吧,所以肯定是这么一个这个眼球的这个图啊,眼球的这个图呢,其实人的眼睛就是一个摄像机没有问题。

然后人的眼睛有瞳孔,瞳孔的可调节大小设置光圈对吧,然后人的眼睛有晶状体,晶状体就是透镜没有问题,人精状体怎么调节这个这个呃这个叫什么来着,焦距怎么调节焦距就是通过这个肌肉来拽它对吧,是这么个意思。

把它拽成各种不同形状,然后呢呃人人也呢他这个这个感知的这个呃这个地方在哪里,在视网膜上,视网膜就是这个贴在这个内壁上的呃这一块儿去啊,视网膜就可以理解成是这个呃图像对吧,然后呃这样一来呢。

就是这么一理解,就是其实相当于是我们人也就是一个相机,然后他希望,能够看到的东西都呈现在视网膜上好那就这么一个意思,那么视网膜是最终光线到达的地方对吧,那么顺着这个思路。

咱们就可以研究明白说这个视网膜为什么说光线到了,我就知道我看到东西了呢,那是因为在视网膜上有感光细胞,那这个感光细胞是是这个是怎么回事,大家可以看到这是一个这个呃简单的可视化啊。

对于这个视网膜上的不同细胞的一个可视化,然后大家会发现这个视网膜内壁上有很多跟毛一样的东西啊,就这种东西,然后这这这这些不同的这些毛呢,然后它,会被分成两个种类,一种呢我们称作棒状的细胞。

这个棒状的细胞呢,它是这个看上去就是棒状的啊,没什么问题,这生物学家研究出来的东西,它可以用来感知光的强度,但是它不感知颜色啊,它感知的是光线的强度,然后就基本上来说。

用这些棒状细胞你就可以得到一个灰度的图啊,没问题啊,这是一第二呢,还有一种细胞,这种细胞呢叫做这个锥形的细胞啊,然后就关于这个具体的这个这个这个生物学上的翻译,这个,我就没办法了。

我只能说这个简单这么翻译一下啊,就是说这个锥形的细胞,大家会发现这是另外一种锥形的细胞呢,少一些少很多,大家可以看这个这个实际数据的对比对吧,然后这个少很多,但是这些锥形的细胞可以用来感知颜色诶。

那其实也就是说我们为了研究这个颜色是怎么回事,我们应该去研究这些锥形的细胞对吧,锥形的细胞内部又分成三种不同的锥形细胞,有意思吧,就是这个意思就是我们原本说根据形状分成了两类。

然后呢用来感知颜色的锥形细胞又被分成三类。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

这三类分别是什么呢,我们说清楚,这是在这个锥形细胞内部,也就是用来感知颜色的细胞内部做的分类啊,然后这三个分类为什么这么分类呢,是因为三种细胞对三种类型的波长的这个响应各不相同。

然后呢s类型的细胞它感知的呢就是这个低呃,这个这个这个波长就是小波长或者高频率到这么一个这个呃呃,这就是他能够感知更更更灵敏的感知这个关于这块的这个光线的,这个这个呃强度啊。

然后这个m呢它感知的是反正就是说对于中,间波长这一系列的光啊,然后l呢这块呢它感知的就是这个职业长波上,那就是这么一个意思,那么大家会看到这里呢,还有还有这有一些曲线,这些曲线叫什么呢。

这些曲线就是就是所谓的这个呃就是response的曲线,就是这个呃响应的曲线,也就是说如果你给它不同的光,它会有这个多强烈的反应,他就是感知的能力,就是这么一个意思对吧,叫响应曲线。

那么人们是如何利用这些不同的细胞,人感知各种不同的曲线呢,这是下一个话题,但是在这之前有一个非常非,常非常违背这个自然规律的一个事情啊。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

但是是一个真的事情什么呢,我们提到这三种细胞分别用来感知不同的类型的光对吧,但是不同的人眼睛里面啊,这三种细胞的分布非常非常不一样,大家看到这里是12幅图对吧,12幅图12个对应着12个不同的人。

12个不同的人,这个大家这个眼睛里面这三种锥形细胞,然后他这个他们的这个分布,大家一眼就可以看到它们的分布绝对不一样,而且他们的数量上有有严重的个体差异,这个事情非常神奇,比如说这个人这左下角这。

个人他就有很多这种绿色的这些这些感光的,这些这些呃锥形的细胞对吧,那比如说这个地方就是这个人右上角,这个人他就有很多这个对于红色的这个更敏感的感知的细胞,这就非常神奇对吧,就每个人之间差异非常大。

这所以说呢不管怎么样啊,就是说我们回到这个事情上来,嗯,再次印证了这么一个事情,颜色是人感知的结果是这么一个意思对吧。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

那这里就是呃对于这个呃思想算是一个证明好,那么我们再回到这个呃这个所谓真感知这些颜色上面来对吧,咱们刚才提到三种,不同的细胞,那三种不同的细胞对于这个不同的这些对这些呃光线,它是如何感知的呢。

那我们想一想,刚才我们定义了这个光在在不同的这个波波长上的分布对吧,我们又知道这个某某某一种细胞对于某一个波长它的这个响应是多少,那么感知的结果是什么呢,感知的结果其实就是这个这两个函数。

然后我们把它这个对应位置这个相乘起来,然后积分起来没有问题吧,就相当于是我给你某一个这个呃波长,我知道这光线的强度是多少对吧,然后呢我光线的强度是多少,然后我就。

和这个呃我就和这个呃相应的这个感知的这个曲线的这个感应的强度,然后乘起来,然后我把每一个这个不同的过程都考虑进去,哎这可不就是最后的结果嘛对吧,也就是说啊,我就是要把这个呃所谓响应曲线。

和这个呃原本给定了光的s p d这两个事情做个积分,我就可以得到一个值,那么这就是人们如何去感应不同的颜色,那当然了,三种不同的细胞自然就会感应出三种颜色来给你三个结果,对应sm l okay。

那这反映了一个什么问题啊,反映了什么问题,就是说就是说大家立刻就,可以体会到就是说给定任何一个一种类型的光线啊,呃就是说他有任何的s p d没有关系,那么人们到底看到的是什么对吧。

通过这个响应曲线这种计算方式,我们就知道人们看到的是三个数s m l,人们看不到这个光谱是什么,这些已经被积分掉了,大家会发现啊,这个积分结束之后得到的结果就是一个数,没错吧。

每一个曲线和一个另外一条曲线,我们乘起来积分对吧,然后这个这样得出来三个数,也就是说我看到的这三个数才是我真正感知到的颜色,而并不是这个光线本身的,s p d,这样我们就可以解释这个问题了。

那么有同学反映说这个每个人眼中世界不一样,确实就是这么回事嘛对吧,然后呃因为每个人这个眼睛里面三种这种细胞分布各不相同嘛,对那么这就是原理对吧,我们刚才已经说了,那么人眼看的到底是什么光线,有光谱。

然后这个光谱经过人的眼睛反映到视网膜上,然后被三种不同的细胞感知到,形成三个数,这三个数送到人的脑袋里面去,然后就会就会这个你就会认为哦你看到的一个什么样的颜色,也就是说你看到的绝对不是光谱,而。

是就是这三个数s m l,ok这个事情是不是很神奇对吧,然后但是这就是这个科学的这个这个这个过程啊,没问题,那么有同学自然会问这么一个问题哈,就是说这个啊就是说我们既然看到的不是这个光线的光谱。

我看到的是光线光谱和各种各样的曲线积分出来的结果,那么会不会有一种情况,就是说诶有两种光线,诶,它们具有的光谱不相同,可是被我们看到的结果却是相同的,这是很有可能的,这种现象就叫做同色异谱现象好吧。

那么红色异谱现象到底怎么回事呢,对吧,就是说啊,不同的这个信号,咱们刚才说了,不同的这个这个信号进来之后,经过了积分之后,得到三个数却是相同的,这是完全有可能发生的一件事情。

而这个同色异谱现象呢就是非常非常重要,正是说我们利用这个这现象,才能够给人们呈现各种各样不同的这种颜色,这种呢这种过程就叫做所谓color matching过程。

颜色的匹配过程就相当于是我想通过不同的这种这个调和,各种各样不同的这种光谱,然后我得到某一种颜色,使得这种颜色跟我看到的另外一种颜色一样,我并不需要说这个最后的这个,得到了两种光,它们的光谱不一样。

我只需要它们的颜色一样,就是这么一个意思好吧,哎那就是说啊这个这里是一些实际的例子,这实际的例子呢就是它们的光谱就是s p d对吧,各不相同,就是说通过那三条曲线积分了之后,得到三个完全相同的结果。

哎这这就是说明这个呃这就是这个这个同色异谱现象啊,那就是说我刚才提到说这重要的一个应用是什么呢,就是说同色异谱现象,我可以说就是说有一个这个照片拍了一个太阳,然后呢我希望在显示器上,然。

后可以显示出这种东西来,那么应该用什么样的颜色呢,那我就可以说我去通过不同的这种调节方式,使得人看上去这两个这个呃呃颜色长得一样对吧,但是我这个混合出来的这个光谱呢可以和之前的光谱长得完全不一样。

这个是没有关系的,对吧好,这就是这个关于这个颜色这背后的一些知识哈,嗯没问题,有同学说色彩空间会不会说会马上就说ok行,那么我们刚才提到同的意图,就意味着我们可以重新这个给定任何一个颜色。

我就可以去匹配它,我可以用不同的颜色去混合得,到它对吧,那么为了得到这个混合这么一个一个颜色啊,我们首先得说颜色应该如何混合,平常我们会认为啊,在我们的这个计算机的成像系统里面。

我们认为这种成像系统叫做加色系统,什么叫加色系统呢,很好理解,我有几种不同的所谓原色啊,这里以这个rgb,这是最常见的这个rgb 3种颜色这个为例,那么我把这个rgb呢。

这个他们各自不同的颜色呈上某一个强度啊,然后我们把它给混合起来诶,我混合起来之后,我就可以得到一种颜色,得到这种颜色,我就用它们各自混合的这个系数,也就是强度,而gb这三个数来表示这种颜色。

这就是我们怎么混合,那怎么理解成加色系统呢,加色是这么一个意思,就是说啊在我们的计算机里面,大家知道如果把这个rgb这三个值都给调到255,就是最高得到什么颜色呢,白色。

然后呢从这右边这个图上我们也可以看到,在真实的这个世界里面,如果我把这些不同的光都给照到同一个位置上面去,诶,我会发现各个光在混合了之后,它会变强,会变成这个。

就比如说rgb 3个颜色混合之后会变成白色,和我们画画就不一样,如果我们调和,各种各样不同的这种颜料,它会越调越黑,最后会变黑,那种叫检测系统,就是说这是不同的这个理解啊。

我们这里用的都是这个呃加色系统好,那没问题,那么加色系统就允许我们通过刚才的这种线性组合这些基本颜色,这些方式来匹配任何给定的颜色,怎么做,太简单了,这里就是一个这个基本例子对吧,我给你任何一个颜色。

然后我希望用三种不同的颜色去这个混合匹配得到相同的颜色,那我就是说如果我从上方往下看,我会看到这么个东西对吧,左边是给定的颜色,右边是我混合。

出的颜色只只要我把它右边混合出来的颜色混的跟左边一样就可以了,对那道理就在这,那怎么做呢,比如说左边是某种颜色,也是这个颜色,右边颜色呢我可以给它这个每一个颜色,它有一个系数,就是它的强度对吧。

然后我会发现诶这时候他并不匹配,然后这还不匹配诶,这个时候匹配了诶,这就说明啊哦我找到了多少个这个呃就是说用多强的这种第一个颜色,多强的,第二种颜色多强,第三种颜色混合起来就可以得到这个这左边的颜色。

这部分呢自然实验就可以解决,对于任意的,一个颜色我都可以通过类似的方法解决,但是有一些情况很奇怪,有些情况很奇怪,什么呢,比如说啊我这个我可以调一个这种颜色。

然后然后我发现啊左边这个颜色我右边怎么混都混不出来,诶有这种情况诶,比如说啊我我现在可以这么做对吧,然后就这样混合出来还是混合不出来,那怎么办呢,那有人就发现啊,我其实还可以这么做。

我可以呢把这个左边给定的,我需要混合的颜色往上加一个颜色啊,往上加一个颜色,那就好像是说如果我左边不给它加一个颜色,就相当于是这个对,应右边我就给它剪掉这个颜色就可以了,顶多是零对吧。

所以说通过这么一种方式啊,给这个我要匹配的颜色加上颜色,就好像是对呃,我右边的颜色减去颜色一样,这就是用了刚才那个线性的性质哈啊然后这就这就告诉我们啊,如果我们通过几种不同的颜色去混合得到一种颜色。

这个不同的系数其实可能是负的,是没有问题的对吧,就可以理解成另外一边加上,那么通过这种方式呢,人们就发明了一个所谓啊这个ci 2 gb的这么一个系统,诶,这里就。

渐渐的开始有点像这个我们的这个正常这种颜色空间去表示了,这个是那我们来说啊,这是什么意思,就是ci e2 gb c i e呢是一个组织一个这个好像是法语,不是英语哈。

就知道这是组织他们定义的这个rgb的这个系统,这个rgb,然后我们说清楚他要干什么,他要做这个颜色的匹配,那么给你的任何一个颜色,它是这个这个单波长的颜色,它是某种激光。

它的的s p d不是颜色的s p d,它的这个光线的s p d就是一个单一的一个所谓这个delta函数,然后它这个你也就可以理解成某一,种曲线吗,没有什么关系对吧。

就是说他给你的永远是一个所谓单色的一个一个颜色,然后呢你要用三种也是不同的单色的这个这个光,然后就是说他们的这个呃在频谱上分布也是非常非常集中,几乎就是在同一个这个波长上好吧,然后不管怎么样吧。

他给你什么样的颜色,这个这个s p d对吧,然后这个给你的这些所谓这些基础颜色,这rgb 3种基础颜色它是什么样的s p d我们都不用管对吧,我们只需要考虑说如何用这三种。

然后混合出得到某一个某一个这个波长上,它对应的,这个颜色对吧,然后呢他们就做了实验,多数时间对于任何一个这个波长上的颜色,就是这怎么解释这幅图哈,就是说我们看这幅图。

它并不是刚才我们所说的这个响应的这个函数跟响应没关系,他是在做这个颜色的这个匹配嘛对吧,我给你任何一个固定的波长,咱们取一个竖线,比如这里咱们取450好吧,一个竖线,这就是我要匹配的颜色。

这个颜色我需要用这么多的蓝色,这么多的绿色和这么多负的红字,然后把它给混合起来,得到这么一个颜色好吧,这样就说清楚了,就等于说我,们这这个就告诉了我们。

这幅图告诉我们如何这个通过混合各种各样不同的这些单色光,得到任何一个这个呃一一个这个呃波长上面的这个呃,给定的这个一个一个光线,它的颜色对吧,这样想好,那么这样一来呢。

我就可以这个呃把这三条曲线就就这么做出来对吧,我对每一个这个波长给给定一个不同的颜色,我做一个实验,我可以测出这么一个形状,我会发现什么事情呢,我会发现确实有负的对吧,然后我们刚才说负的没关系。

肯定是可以的对吧,就是说他们这些曲线来说算出来,这个这个红色这么一条曲线是很明显有一块负的,然后其他地方看起来比较正常对吧,是这个意思好,那么这样一来呢,就是说它可以得到一个所谓的这个匹配函数。

这个这个就叫做匹配函数,就对于不同的这个波长,然后我需要用多少的这些原始的这些光,这些呃对这些光给组合起来好,那么做了这个实验之后呢,那我就可以说如果我现在给你任何一种实际的这些这个光的光谱。

那么我们刚才说他要匹配的是什么一个单色的光谱对吧,任何一个波长上,它就只有那么一个波长上,面有值,然后它匹配是需要多少这个这些呃原始的这些光对吧,那现在给你任何一个实际的s p d分布,那怎么算。

我需要多少,这个二多少g多少b,那这个时候呢,我就需要把每一个过程我都考虑说需要用多少的这个红色,绿色和蓝色,然后混合在一块才能得到它,那我考虑每一个波长都考虑进去,那自然而然就是另外一个积分。

这个积分出来结果之后,我就可以得到三个数,这三条曲线分别会告诉我说这三个数,那咱们把这个事情说清楚啊,这里就是说要想匹配任何sd的光,咱们刚,才做的实验得到三个这个这条曲线是对于每一个单个波长的光。

那这里自然就是积分,他会发现这个形式和咱们之前那个响应的形式非常像对吧,这是差不多的,但是他们的意思并不一样啊,这个要理解清楚就好,那不管怎么样吧,就是说给你任何一个颜色,你都可以用这么多红,这么多绿。

这么多蓝来表示,这就是我们的rgb的系统,没问题吧,就是说我们通过这个rgb不同的调和,我们可以调出各种各样不同的这个呃这个呃实际的颜色对吧,那也就是说这个是所谓颜色匹配函数这么一,个应用好吧。

那么再进一步我们开始来说这个啊颜色空间的事情,那么既然我们刚才提到这个啊rgb对吧,然后rgb呢它是一个广泛使用的一个标准的系统,这个rgb系统其实它的这个名字应该叫做标准rgb啊,standard呃。

standard die的rgb或者叫s rgb,然后这个其实是应该是这个更正规的一个名字哈,然后这个s r g b呢它就是就是这种颜色系统,就广泛的应用于各种各样的成像设备。

比如说我们电脑的这个显示器对吧,然后呢他怎么做的呢,他就是说我先找某一台机器,某一台机器的它二gb给做好,之后行,我后来制造,我就按照这个这台机器的这个方法来制造,就是这么个意思哈。

然后rgb呢用了很多,但是rgb这个这个颜色空间,它所能形成的色域是有限的啊,这都是什么意思对吧,然后马上就说对吧好那么再说rgb这个系统之前,我们先说一说这个呃另外一个系统啊,另外一个系统。

这个系统其实来说虽然咱们不常用,但是在科学上会会更更加的这个这个广泛应用一些是什么呢,这个系统叫做c i e x y z系统,还是那个组织啊,xyz xyz系统是在干什么,同样它也要定义这个所谓颜。

色匹配函数,大家还记得刚才那个rgb的这个呃颜色匹配函数吧对吧,他这个红的是有负的对吧,然后这里呢这个cie xyz它是反过来的,它不是一个实验测出来的这个颜色的匹配系统。

它是人造的一套这个颜色匹配系统,那这个颜色匹配系统它就首先它我自己先定义好这这几种不同的曲线,好吧,它是虚拟的啊,不存在啊,就是说这些颜色匹配匹配的曲线就告诉我还是一样啊,对于任何一个波长。

比如说咱们看这个450 450nm,这个波长我需要这么多的,绿的很少对吧,稍微多点,红和很多的蓝色哎,就这么一个意思对吧,那告诉你这个事情之后,同时呢由于它的设计啊。

就是它的覆盖又比较这个正常从400~700,然后呢他这个分布又挺对称的,所以正常情况下先用这个用这些这个呃这些小写x y z啊,这三个这个颜色匹配函数,然后我匹配出来各种各样的颜色。

它得到的y这个大写y这么一个数啊,就类似于rgb那个那个g那个数,就这个大小y这个数一定程度上就可以表示这个颜色的亮度,就,是这个意思好吧,然后呢大家可以看到它这个设计就是说呃这个红色它其实有两个峰值。

但是它却没有那个呃没有负数对吧,然后他的所有的这些这些呃函数,它都是这个覆盖在你所有的可见光的范围内对吧,400~700都有,但是待会看左边多那么一点点啊,这个问题不大好,那么我们刚才说什么来着。

就是说x y和z对应的是三种不同的这个,然后我们可以用这三个数来表示某种颜色,特别的这个y本身其实表示的是一个这个啊亮度是这么一个意思好,那么它仅仅和rgb的区,别就是在于它的这个匹配函数的问题对吧。

所以不管怎么样,这三个数,那么有人说我能不能把这个呃x y z系统能够表示所有颜色,我们都显示出来诶,这是一个好的想法,对不对,但是我们想啊x y z就是大写的x y z这三个数,它这个本身它是三维的。

我可视化一个三维的东西,不好不好,可视化对吧,那我怎么办呢,我只想显示其中的两位,那他怎么做的呢,他做了这么一个事情,它对于任何的大写x y z先做一个归一化,大家还记得归一化吧。

就是让这个x y z加起来等于一啊,这,里是加起来等于一,咱们之前做向量那个是平方,加起来等于一,就是说我把x除以xy,z之和,y也是z也是。

那这样的话我就可以这个xy就是得到三个归一化的的值小写xyz,那我知道这小写的归一化的指xyz小写加起来等于一,那我只需要这个显示诶,比如说前面两个维度诶,然后能得到一个什么样的图就可以了。

那我为了显示前面两个维度,我其实是还是有这个大写x y z3 个数的,对不对,那么我既然知道这个大写y表示的是一个亮度,那我其实可以把亮度给固定成某一个数,然,后我让这个x大写x和z它们发生变化。

然后我显示的图显示小写x和y啊,这个我不知道说的清楚吗,就是这个就是不管怎么样嘛,就是他想对这个大写的xyz做一个这个可视化,它固定了大写y,然后可视化小写的x和小写的y,然后可以显示出这么一个图像来。

好吧,哎这么显示是有道理的,因为你如果改变大写的y其实也只不过改变他们的亮度而已,你其实还是可以一目了然的看清楚各种各样不同的颜色,大家会看到它是一个有一个什么扇面形的这么这么一个形状哈,就是。

它有一个这种边界,然后这是很有意思的,那么这个叫什么呢,这块大家看到的东西就叫做色域,就是所有一个颜色空间可以显示的颜色,就是这么回事,好吧,那么对于这个色域来说啊,有很多事情可以看得出来。

这个中心这个地方就是呃白色的这种颜色,然后我们知道白色是由各种各样的颜色混合起来的啊,那所以我们说白色是最不纯的颜色,然后纯的颜色都在哪儿呢,都在这个它这个形状的边界上,这是最纯的。

算是单色这么一种感觉啊,就是说呃一定记得,我们用了加色系统,所以白色是是混合的,最多的是最不纯的啊,这个意思好,那么就是这么一个意思呃,这个呃整个这一块儿这个这个分解呃叫什么来着。

就是说这个显示起来就是这么回事啊,这个啊好,那么这里就是关于这个呃所谓色域的事情啊,色域我们就可以这个定义起来,我们刚才说了所有可能显示的颜色,一个颜色空间了,所有可能表示的颜色,那么有同学会这么问呢。

那难道不同的颜色空间表示了这个呃颜色的这个范围是不一样的吗,答案是确实如此啊,就是说确实不同,的颜色空间,比如说咱们看s rgb,其实它仅仅能够表示这么一个很小的三角形在这个里面啊。

也就是说它表示不了这么这么像这个呃x y z这么大的色域好吧,然后就是说也有各种各样神奇的这个其他的各种各样的这些呃,呃颜色空间,它们能够表示的颜色也各不相同。

总之就是说我们看这个色域这张图就可以看得出来好吧,那么呃这里就是关于这个呃颜色空间这块呃事情啊,然后我们已经快讲完了,其实还好啊,那这样哈,既然有同学问这个这个事情啊,就关于颜色空间这一块。

它的显示我们再把它说清楚一点哈,就是不管怎么样,类似于rgb x y和z,我们是可以得到三个不同的这个呃,这个数的就是大写的x y和z表示某一种颜色,对不对,我们为了做可视化。

我们不可能把这三个这个颜色都给这个这个显示出来,显示在三维空间内,这样看不着,我们希望只显示其中两维显示,为了显示其中两维,他做了归一化,得到了小写的x和y和z,它们可以保证加起来等于一。

这样的话我就可以只用显示x和y就可以了,因为我知道那个是z是多少对吧,显示x在这,个小写的是这个水平轴,小写的y在这个数值的轴,但是我刚才说了,为了显示这个小写的x和y。

它其实来说它表示的颜色还是由大写的x y z来定的,所以它其实还是三个变量,那么怎么办呢,那既然这个大写的y表示的是亮度,我就可以固定住某一个亮度,我只关心不同的颜色的类型。

也就是说把y当做一个常数来看,那这样的话这个小写x和小写y都是这个大写x和大写z的这个函数,没问题啊,那这样的话我就做这么一个可视化好,那么这里是我们再回到这个这一块儿啊,好那么这个我们现在再来看啊。

这个呃还有其他的各种各样不同的空间,咱们刚才说了x y z,咱们又说了二gb其实是很小的对吧,然后还有没有其他的空间呢,有特别是对于这个photoshop啊。

这个比较熟的同学肯定会知道这么一个颜色空间叫h s v,虽然你可能没听说过,但是没关系,就是说你在这个在生活中肯定已经广泛使用了,这就是所谓颜色拾取器啊,就这么个东西能干什么呢。

就是说它可以允许你这个选各种各样不同的所谓色调,这个q然后呢这个你又可以选择各种各样不同,的饱和度,然后这个是叫做叫做saturation,然后brightness是颜色,有时候叫做value。

叫做v h s v嘛,然后也有时候叫做叫做什么来着,呃这就不记得了哈,但是没关系,就反正就是说这个h s v呢,这个就是给这个艺术家们定义的,这个非常好好理解什么呢,大家可以从这个条上看的清清楚楚啊。

色调就是不同类型的颜色,什么红色,蓝色要什么颜色对吧,那么饱和度饱和度指的就是说这个呃是更接近白色,还是更接近这个颜色本身的唇色,就是这个意思,咱们之前不是说了吗,你这个白色算是最不纯的,然。

后这个颜色本身算是算是最纯的,从这个这个切面图啊,咱们可以看到这个饱和度越饱和,它就越接近单一颜色越不饱和,就意味着它是这个呃,这是什么来着,混合颜色就是白色,好吧,这个这个啊那就是这么一个意思。

那么value最好理解它就是亮度对吧,从黑色一直到这个某种颜色,那么这里是一些正式的定义哈,但问题不大,就是说也有人叫h s l啊,叫lighlightness,但其实就是h s v问题不大。

主要就是它这个通过色调选不同的颜色,通过饱和度决定它是偏白还是偏这个颜色,然后亮度决定偏,黑还是偏这个颜色就是什么事情好吧,那所以说呢呃这个就比较这个适于呃艺术家们去调对吧,呃选某种颜色很方便。

那这是其中一种叫h s v,那么还有一种呢也是c i e,大家会发现这个c i e在这个颜色界它是有统治地位的对吧,然后他们还有一个空间叫什么空间呢,叫lab空间,跟实验室没关系啊,lb这个这个意思。

然后呢这个lab色彩空间是什么呢,也是一个跟感知有关的,我们刚才说这个h s v是的,因为一目了然可以看到什么颜色了对吧,那么这个呃lab空间它也是跟感知,有关它感知是怎么个感知法啊。

大家会看到它有三个轴啊,看到三个轴,a轴这个负a正a,然后和它垂直的一个负b正b这么个值和一个这个l的值,那么l和还是永远是最简单的,就表示的都是这个亮度哈,零就是黑呃,呃这个100就是就是这个呃白。

然后呢你会发现在这个其他两个轴啊,a轴和b轴上它表示的是什么呢,这a轴表示的是这个红和绿啊,红和绿这两个颜色,然后呢这这分别是两个镜头啊,然后呢这个它表示的是这个蓝色和黄色,是这个意思。

那么这是什么意思呢,就,是说啊在lab这个空间内,他认为任何一个轴上表示的颜色,它的极限两端哈都是互补色,那什么叫互补色,那大家可以理解我这个比如说白色它的反义词是什么呢,它就是黑色对吧。

这这就是说白色跟黑色是互补的,那么不好理解一点的是什么呢,是红色凭什么跟绿的是互补的,然后黄色为什么跟这个跟这个这个蓝色或者紫色,这这些是互补的对吧,这些呢是根据这个实验得到的一个事情。

就是说人人人的这大脑它是对这些互补色其实本身是有一个定义的,我们马上会看到,就是说,呢就是说呃这个它的轴这么安排背后的原理,就是说你平常会说,比如说有一个这个大家可以看到一个浅色的这个绿色对吧,深绿。

然后黄绿蓝绿都有,这些大家都好好想想,可是大家绝对不会想到说有一个这个颜色是有一种偏红的绿色,这个是很困难的对吧,为什么呢,就是因为红色跟绿色差的太远了,他这个他们两个完全是成为了一对互补色。

这跟人脑有关系的啊,就这么一个意思好,那么就是说这个从什么地方可以看出来呢,咱们可以从一个非常简单的例子,通过人眼的视觉暂,留来验证这么一个互补色。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

那么这里呢给大家看一个,那么现在我会给大家做什么实验啊,来先不用看啊,我给大家做一个实验,是这样的,就是说下一幅图我给大家显示一幅完全是白的图,这幅图呢是一个互补色。

那么人眼的视觉暂留的意思就是你看一幅图,看时间长了之突然切换到另外一个图,你会看到这个图的互补色,那咱们现在可以做一个实验,大家看中心有一点哈,中间有个点,大家盯着这个点看,看个十秒钟,我来切换到下。

面一个这个图上来,咱们开始123456789。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

怎么样,有没有看到,应该是没有问题哈,这个呃好,那那这个这就是这其中一个例子哈,也就是说呃这个人脑呢会自动的把这个互补色给补上啊。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

就是这么一个一个道理,那么下面一个例子哈,下面一个例子大家可以看到这是一个这个忍者神龟啊,大家可以看得到,它显然也是互补色,但是这个例子呢。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

下一张图我要给大家显示的是一个这个灰度的这么一个哎忍者神龟。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

这么一个例子,那么这里,是为了干什么呢,大家可以想象啊,比如大家一开始先看第一张图。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

看了之后呢会看到它的互补色,并且你同时又会看到这个灰度图,所以相当于是你会把这个互补色加到这个灰度灰度图上。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

那我们知道这种偏红的颜色过来之后就正好是偏绿。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

那大家大家知道忍者神龟本来就是绿的对吧,那大家可以看到看一下是不是能看到这个现象。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

那么大家现在可以开始计时啊,盯着中间这个点,然后12346789是怎么样。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

我是看到哈哈哈还是不错的哈,然后这个嗯就是不管怎么样吧,人,脑啊它自动是可以这个这个达到一个互补色的这么一个效果的,好吧啊,行没问题,那也就是说啊这个互补色有道理,这就说明刚才的什么呢。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

lab空间有道理没问题啊,就是说它有三个轴,三对轴啊,就相当于是这个一个轴上两个对对点,它都是这个呃完全是互补的,这么个意思,那么颜色呢还有很多这个很神奇的东西啊,很很神奇的东西是什么呢。

就是说啊颜色很多都是相对的,相对的就是颜色本身是感知,咱们回到这个颜色这个话题上来,对不对,颜,色本身是感知啊,也就是说你看到的颜色它到底是有多强,这个事情是你自己觉得是这么回事。

它和实际上可能有这个相悖的这个效果,什么意思呢,咱们看这个例子,这个例子在干什么,这个例子在干什么,大家看到这个渲染图非常简单非常简单,大家看到这个这个地板上有这个这个棋盘格这种东西对吧。

然后大家看到有个a有个b对不对,我现在问的问题也非常简单,这个a和b哪一个更亮,哪一个更啊,就是这么回事,然后大家会觉得这个问题太简单了,a显然要更暗,a非常暗,b,是一个浅灰色,a是深灰色,对不对。

本来就是这么回事嘛对吧。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

但事实上来说啊,并不是这么回事,让大家来看啊,比如说我把左边给挡住。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

然后呢我再把右边给挡住,挡住挡住之后呢,然后呢呃a还是比b要暗嘛对吧,然后但是那么可以再把上面给挡住,再把下面给挡住,然后我再把中间给消掉,然后大家现在会发现,如果我只盯着a和b来看。

大家会发现什么呢对吧,大家会发现这个这个a和b其实他们两个颜色是一模一样的,也就是说咱们之前看这幅图。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

这幅图a和b我始终觉得这个,a肯定要比b要暗嘛,但是事情并不是这样,咱们刚才通过刚才的例子来看,就可以看到这个事情,也就是说这直接证实了这么一个事情,也就是说从这幅图咱们直接切换到这幅图。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

大家会看到a跟b这绝对是一样的颜色对吧。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

那么咱们还可以有另外一个例子,同样道理哈,就是说颜色本身是相对的这么一个事情可以得到很很容易的证实,这里问这两个黄色的叉啊,黄色的差本身哪个更亮,大家会觉得好。

左边这个黄色的差显然要比右边这个黄色差要亮啊,然后但是如果我简单的我,做一个水平的一个呃这个纯色的一个一个调,大家会发现把这两个连接起来之后会发现哦,两个颜色其实是完全一样的,所以说这就说明什么呢。

这就说明整个颜色完全是一个人脑感知的道理,咱们又回到之前所说的颜色这么一个事情上来,那这是一个事情,那么最后最后还有一个事情没有说什么呢,检测系统,检测系统其实这个在生活中应用得更加广泛,什么呢。

就是在各种各样的印刷啊,这些这些东西里面打印啊,这些这些事情里面用的都是检测系统,检测系统是什么意思呢,就,是说啊这个我给你不同的这些颜色,我把它混合在一块儿,然后会越混越黑,这里大家都看得清楚啊。

就是说这个一个典型的检测系统是叫做c m y k系统,c m y k是什么意思呢,是这个蓝绿色啊,这个这是这种色c啊,然后品红色这个这个magenta这个颜色就是这种颜色啊。

然后这个yellow就是黄颜色,就c m y,然后k呢k就是黑色,就是这个意思,这为什么用这套系统呢,就是因为大家可以看到c m y可以通过混合得到各种各样不同的颜色,对不对。

然后这就是说我们这个这个打印上诶,我,可以通过混合各种各样不同的这些呃墨水,然后越混越黑嘛对吧,这是检测系统嘛,然后我可以调出各种各样不同的颜色,那么现在这个肯定很好理解对吧,检测。

那么我问这么一个问题哈,大家可以看到我混合c m y,混合c m y本来就可以得到k对吧,就可以得到黑色,那我为什么还要黑色,为什么这套系统不叫cm系统。

为什么叫c m y k为什么他一定要带上这个黑色自己,这个应该是我觉得大家应该完全可以回答这么一个问题对吧,我现在直接告诉大家,这是因为什么呢,这是因,为这个在印刷上大家是要考虑成本的,对不对。

这是一个实际的系统,就是说我这个正常情况下打印啊,有很多东西正常应该是以黑色居多,然后黑色会得到很广泛的应用,但是黑色本身这个墨水呢它好造,它便宜,然后cm y这三种带颜色的墨水它不容易造。

然后就是说这种呢它会这个你混合出来得到黑色,这就很亏,这样成本就就是非常高,对不对,那所以说平常带上一个这个黑色的颜色,然后需要用黑的直接用,省得它浪费彩色墨水啊,所以说这就是便宜哈。

就是这么一个道理好吧,那,其实今天啊那咱们就说到这儿啊,时间上也差不多吧,我觉得这个嗯基本上就是这样,那现在看看吧,咱们可以认为这个已经下课了,然后如果有同学有问题的话,欢迎提出啊。

那行大家在这个这个说问题的时候,我简单给大家说一下,你看这这两节课基本上以科普为主对吧,但是还是很有意思,就是在图形学上有很多事情,特别是像今天这些颜色,我觉得有很多东西很神奇对吧,嗯ok嗯。

想想大作业框架需要自己写吗,可以,自己写你也可以去拿别人的问题不大哈,um ok,那用别人的记得写清楚,比如你的文档里面写一写这个用到了谁的东西就好了,好吧哦,关于伽马就任何这个好啊。

这块的话就是说我们有一些东西并没有提哈,就是说在咱们这门图形学课里面嗯,比如说什么没有提呢,这个呃hdr就是high dynamic range,叫高动态范围图像,我们没有提,就是说颜色当颜色亮过了。

白色会不会还能更亮对吧,像这种东西啊,没有提,另外一个呢我们没有提伽马校,正所谓干嘛,就这意思就是说我们之前在做ptron的时候问过这,么一个问题说你算出来的最后是pixel radiance。

radiance最后要变成颜色,然后是不是简单的做一个线性的变换就可以得到,并不是就是因为你本身的颜色这个显示啊,在这个啊显示器上它是非线性的,你必须先把这个校正过来,使得你这两部分非线性抵消了之后。

还是线性,是这么一个意思,就是说这个部分叫做伽马矫正,但是我们也没有提啊,这块呃基本上来说不提应该差不多啊,问题不大呃,如何发现新的颜色空间怎么样,也就是怎么样造一个颜色空间是吧,哦这个挺难的。

这个我并不知道哈,一,个典型的这个想法是这么回事,你造了之后得有人用对吗,就是说他得有自己独特的性质,比如咱们刚才说这个呃叫什么x y z,它就非常好的理论性质,非常大的色域,然后rgb呢就好用。

平常这个咱们用红绿蓝很直观对吧,然后像这个hsv它比较好调颜色,我觉得这个随便选颜色比较容易对吧,然后就是类似这种这种感觉,就是做这些东西呢肯定有很多东西需要考虑,当然你可以造一个虚拟的吧。

就像xyz一样,ok那么嗯好呃,颜色知识有没有推荐书,这个够呛,这个够呛啊,我想想办法吧,好,吧那没问题啊,这个这个暂时没什么办法啊好吧,然后是这么回事,有同学问这个下节课会不会讲动画,是的。

从下节课开始,我们两节课时间,我们来把这个动画这块你说说嗯,就基本知识给说明白,正好咱们可以接到下一节下一门课的关于这个呃,更高级的这个动画仿真与模拟这块的知识好吧。

然后呢这边有同学问d65 和d50 这块我就不再多提了,这仅仅是相当于有不同的光源,就说第d65 有一种有一种什么样的这种灯,它叫做6d65 ,它具有某一种特定的这个呃光,谱的性质性质这个问题不大。

仅仅就是说这个测出来的一些东西哈,ok啊没问题啊,这个嗯下一门课什么时候出,按说广告应该很快就要出了哈,目前来说我还是别说了啊,我虽然知道,然后等到咱们官方的广告出来。

然后以及我的最后一节课也会给大家稍微介绍一下这个事情好吧,那这样想就是咱们暂时不用太担心这个事情,什么时间段我确实不知道,有可能是连着的,有可能中间歇了一段时间,但是这块儿并不是特别清楚,好吧嗯好吧。

那这个那那我想想s r g b广泛应用是因为,什么这好问题哈,我还真不知道,我只知道大家是在广泛应用这个东西,嗯行吧,高质量渲染会公开吗,有同学会问啊,那这个事情是吧,就是关于我之后可能会开的课堂。

就是说我这边呢这个呃虽然所谓专业研究渲染这块吧,就是说之后有两门直接的课,一个叫做这个实时渲染,一个叫做这个呃,这也就基本是离线渲染,实时渲染会说一些这个工业界的一些这些啊,跟这个游戏啊。

这些实时的应用相关的一些技术,然后呢嗯离线渲染主要,是可以理解成是学这门课就可以自己手写一个渲染器啊,这么个意思就是说呃这个差不多是这么一个安排之后,至于什么时候交什么再说吧好吧,反正这个现在这个课嘛。

games 101们头一节课啊,头一门课吧,先把这个做好之后,我们再做这个这个呃稍微高级一点的课,你这个二开头啊,我之前给大家解释过没有,就是关于哦我我我先说一句啊,就当下课了,没什么问题啊。

随便说一说,也就是说在这个国外的这些课程体系里面啊,这个标号通常都是一开头的课,算是基础课,二开头的课,算是提高课啊,基本这么安排,然后按照我们课号之后一个一个往后排就是了。

也就是说下一门课应该会叫做201,可能之后会给家教202或者零三啊,这么个道理啊行吧,那什么时候真能讲到50门课再说吧,好吧嗯行啊,那没问题,那看看如果大家没什么其他问题的话,那咱们今天这就到这儿吧。

好吧啊,ok行行行啊,三开头没有没听说过啊。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

这个哈哈ok这样吧,那今天就到这了,时间也拖了非常久了,然后这个呃不管怎么样,给大家说一说这些知识相对愉快哦,啊确实没时间回头来,说那个叫什么来着,就是反过来的那个uv和s t这个理解了。

但是在回去自行理解吧,通过光场相机这一块儿应该不难啊,这样想,那咱们今天就说到这儿啊。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

那把时间交还给我们的技术秘书同学啊,也感谢大家的支持,好啊,ok那咱们就这样啊,好嗯,各位同学再见啊。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值