代码改变世界

随笔档案-2010年03月

用JavaScript玩转计算机图形学(一)光线追踪入门

2010-03-29 00:05 by Milo Yip, 83259 阅读, 收藏, 编辑
摘要: 系列简介记得小时候读过一本关于计算机图形学(computer graphics, CG)的入门书,从此就爱上了CG。本系列希望,采用很多人认识的JavaScript语言去分享CG,令更多人有机会接触,并爱上CG。本系列的特点之一,是读者能在浏览器里直接执行代码,也可重覆修改代码测试。透过这种互动,也许能更深刻体会内容。读者只要懂得JavaScript(因为JavaScript很简单,学过Java/... 阅读全文

12年前的作品──《美绿中国象棋》制作过程及算法简介

2010-03-16 21:43 by Milo Yip, 21963 阅读, 收藏, 编辑
摘要: 这个游戏是大学本科二年级时(1998年)修人工智能课程的功课 。这个游戏的「棋力」并不高,主要是因为没有花时间在调整的工作上。比较满意的部分是使用 OpenGL 做的使用者介面。本文将简单介绍制作本游戏的过程及当中用到的算法。你可以先下载(1049KiB)试试,但现时已找不到源码了,将来找到的话再分享。制作过程约在接到这项功课前的一个月,刚开始自学 OpenGL,因此便考虑利用 OpenGL 做使... 阅读全文

史上最强女游戏程序员

2010-03-08 17:33 by Milo Yip, 60680 阅读, 收藏, 编辑
摘要: 也许你听说过John Carmack 和Tim Sweeney等大牛的名字,而向来游戏工业都是阳盛阴衰,适逢国际妇女节,今天我为大家介绍游戏业界一位史上最强女游戏程序员:Corrinne Yu。 简历以下是她在游戏业界内的简历 微软Halo团队首席引擎架构师(principal engine architect) 微软游戏工作室的首位女性技术主管 微软的Direct3D顾问委员会及图形顾问委员会的... 阅读全文

两条像面试用的编程问题,和我的囧事

2010-03-04 00:57 by Milo Yip, 12622 阅读, 收藏, 编辑
摘要: 昨天meta网友在某论坛写了两条编程题目:设计一个函数f, 使得它满足:f(f(x))=-x,这里输入参数为32位整型设计一个函数g, 满足:g(g(x))=1/x, x是浮点数以下是一些反面的解答,可澄清这两条个题目:meta提供了同事的解答,但该解答用了static local variable来區分办调用次数。这函数有副作用,且不是thread-safe。因此这不是好答案。Sweating和... 阅读全文