热爱

我不想成为民科…. 我热爱的事,大概就是画画,编程,解谜游戏了?不求回报的那种。 仍然是看到youtube上的Alan becker,一直用Flash画画,现在技术非常高超也非常受欢迎,我看他的Animator vs animation时,他说自己非常喜欢画画。他用数位板画,但其实现在我并不用着急买数位板,只要热爱,鼠绘照样可以。 历史大概掌握在我的手中? 《walkaway》特别好听,里面有句“she waiting for her superman”,我就是哪个superman啊哈哈哈哈,但我现在还没有能力证明自己,啊…… 再次整理一遍,坐车看窗外确实能改善我的视力,坐了6个小时的车,看窗外的田园风景,第二天清晰非常多。那种感觉,我觉得不仅仅是近视改善,包括老花眼远视之类的都改善了。

Continue Reading →

光线追踪

计算机图形学力最基本的任务就是渲染,即将场景里3维物品,变为显示在屏幕上的像素点。有两种方法,一是物体优先,遍历每个物体,将每个物体可能影响的像素点都考虑一遍。二是像素优先,遍历每个像素,将每个能影响这个像素点的物体都考虑一遍。虽然它们能得到相同的结果,但其性能却不一样。像素优先通常更简单,更稳定,在实际中也更多运用。而光线追踪就算像素优先的算法。 对于有很多像素的摄像机来说,每个像素都对着不同的方向。光学追踪包含如下三个步骤: 光线产生,计算每个像素在摄像机视角的初始位置以及方向 光线交叉,用于找到与光线相遇的物体 shading,将相遇结果用于计算像素 Lambert Shading模型 L为像素颜色,kd为散射因子,与材质有关,I是光源密度,n是表面法向量,I是光源方向。 但这种模型下,像素颜色与视角无关,所以也没有高亮部分。这是不符合实际的。 Blinn-Phong Shading模型 h是半向量,ks是高光(specular)因子,p是衰减指数。 ambient shading 但如果物体表面没有直接受到光照的话,物体将全黑,这是不符合实际的。为此添加无处不在的环境光照(ambient )。 ka是环境因子,或环境颜色,Ia是环境光照强度。 多重光照

Continue Reading →

伽利略用来测量光速的方法过于粗糙,无法成功。 在1678年,罗默(1644-1710)认识到木星卫星相继食变的异常现象可以由有限的光速来解释,并推论为必须约为3×10^8 m/s。 1726年,布拉德利(Bradley,1693-1762年)从观测到的小椭圆形中得出了相同的推论,这些椭圆形是恒星在天堂中所描绘的。 由于这些椭圆的期限为一年,因此它们必须与地球运动相关联。 assing a fine beam of X-rays onto a crystal of copper sulphate硫酸铜(Fig. 1.8)) showed definite…

Continue Reading →

存储器层次结构

随机访问存储器 静态SRAM 好比是学霸,只会在“学习”和“睡觉“两种稳定状态中,受到干扰后的其他状态,比如”口渴“,”被声音惊醒“都属于不稳定的状态,会很快回到稳定的状态。 动态DRAM 好比学渣,学的东西容易忘,你需要经常重新告诉他应该记住的知识。 访问主存 办公室(处理器)和仓库(DRAM)之间通过走廊(总线)连接,走廊又分为一组行道(导线)。跑腿的小哥通过不同行道时,会携带地址,数据等东西。还有负责校验的小哥,负责告诉别的小哥到底应该去仓库还是去办公室。 访问磁盘 你(磁盘控制器)需要与临时仓库(主存)放东西。好在门卫处(CPU)已经专门给这种事预留了一条通道(内存映射),你访问门卫处,门卫处告诉你临时仓库的地址和信息,然后你就可以自己方东西了,而不必麻烦门卫处(直接内存访问,Direct Memory Access,DMA)。但你之后还需要告诉门卫处你已经办完了事情(中断)。 存储器的层次结构 即位于第k层的更小更快的存储设备是第k+1层更大更慢的存储设备的缓存。 比如放在口袋的物品是放在书包里的物品的缓存,书包里的物品是家里物品的缓存,家里物品是本地仓库的缓存,本地仓库是全国总仓库的缓存。 找某一层东西时,会先去上一层寻找。比如要找书包里的钥匙,先去口袋里找,口袋里找到就算缓存命中。没找到就去书包里找,即缓存不命中。找到后可能丢掉口袋里某样东西来存放钥匙。 把东西放进仓库(写)分为两种,一种是直接放(直写),另一种是先不放,等到后续需要操作这个东西,比如要统计这个东西在仓库中的数量时再放(写回)。你不必在仓库和家之间跑来跑去了。 同理,写也有写不命中,你可能想把土豆放进家里专门放土豆的容器中,为了提高效率,你先检查书包中是否有装土豆的容器。如果有就直接放进去,称为写命中。如果没有,就是写不命中。 处理写不命中的方法之一避开缓存,直接将土豆放入家中,即非写分配。这很耗事件。另一种方法是让家里把装土豆的容器送来,放到书包里,即写分配。 假设我们有一篇英文说明书。 编译器负责把每一页或节或章翻译成等价的中文。…

Continue Reading →

进程和线程

https://www.zhihu.com/question/21823699 你(系统)在一个无人岛上,想要逃出去。你要给自己规划一些项目(进程) 早上:制作小船,准备食物 下午:绘制地图,探索 晚上: 培养土豆,阅读书籍 但这样,准备食物这个概念还是太大了,得分成一件件实际的小事(线程) 把食物从储物箱里拿出来 把木材从储物箱里拿出来 用木材烧开水 煮食物 但你每次只能做一件事。比如 拿食物(线程1)分为两个指令 1)在第一个地方拿土豆 2)在第二个地方拿白菜 拿木材(线程2)有一个指令 1)在第一个地方拿木材 如果你每次只专注于一件事,先拿食物,从第一个地方跑到第二个地方。然后再拿木材,又从第二个地方跑到第一个地方。很没效率。 一种是线程级并发Concurreny,在不同的事情间来回快速来回切换。你先进入拿食物状态,在第一个地方拿土豆(线程1的指令1),然后进入拿木材状态,在第一个地方拿木材(线程2的指令1),然后进入拿食物状态,跑到第二个地方拿白菜(线程2的指令2),效率提高很大。 但你并没有真正同时做两件事,你只是在两件事的状态间快速切换而已。…

Continue Reading →

机器是如何执行hello程序的以及高速缓存

你打电话(从外围设备输入,例如鼠标)要求餐馆(系统)把外卖打包好(执行程序)并送到你家(将结果显示在显示器上)。服务员(寄存器)会首先接到你的消息,然后让消息到达大厨(主存)那里。大厨知道后就根据你的要求的从仓库(存放文件硬盘)拿原料,并且用一种特殊的技术不用麻烦服务员。大厨炒好饭(编译完成)后将结果送给服务员,服务员然后再把结果送到你家。 但你把消息告诉远在千里之外的厨师,厨师再把做好的餐送到你家非常耗费时间,干脆就在你家楼下招给阿姨,开个摊子(高速缓存),存一些你经常会吃的东西,并且这个阿姨保持自己的储物箱整洁(无需定期整理数据,静态随机存储器), 不像隔壁小唯,经常连食材自己都找不到 (需要定期整理数据,动态随机存储器) 。他们两个都只要摊子设备还在就能烤面筋(只要不掉电就能保持数据存在)。 一边听着海绵宝宝配乐“Krusty Krab”一边写的。

Continue Reading →

量子电路(一)

酉矩阵(unitary),即那些共轭转置等于其逆的矩阵。相比于实正交矩阵,酉矩阵是复数形式。如果U满足是复方矩阵,则下面几个命题是等价的: U是酉矩阵 U的共轭转置U*也是酉矩阵 U是可逆的且U^-1 = U* U的各行组成一个标准正交组 U的各列组成一个标准正交组 三量子位门被表示成为8维下的8×8酉矩阵。一般情况下可被写成: 这里j = 1即 |000>,….j = 9即|111>)。两个重要的三量子位门即 Toffoli门,非零元素包括 Uii = 1(i =…

Continue Reading →

编码课(二)BCH Codes

在上一节中,我们知道了对于单个错误纠正码的编码多项式p(x),可以任意的素多项式,例如它的次数为r。一个素多项式可以产生最多的r – 1的单项式,x^j,被p(x)除。码字总长为2^r – 1,被接收到后如果是正确的,被p(x)除结果将是0,否则可以根据余项表找到出错的位置。

Continue Reading →