不了解高等数学知识也可以编写游戏,但是游戏对图形的要求越高,程序员就需要知道越多的数学知识。数学分为多个领域,在编写游戏时,某些领域比其他其他领域应用得更加频繁。几何对于描述3D和2D世界很重要;矩阵和向量对于描述世界和世界中实体之间的关系非常有帮助;三角函数可以创建特殊效果,并使对象的运动更加自然;补间函数在表达不变时间内的移动时很方便。知道的数学知识越多,在解决游戏编程中遇到问题时可以使用的工具就越多。
8.1 三角函数
游戏编程中经常使用三角函数sine和cosine。对某个数值应用sine和cosine将返回-1~1之间的某个值。返回的这些值形成了一个波形,即一个均匀震荡的曲线。当平滑地上下移动某个对象时,这条曲线非常有用,例如它可以创建自然的脉冲颜色、平滑的震荡缩放和其他游戏中可以使用的效果。
8.1.1 绘制图形
了解cosine和sine的用途的最佳方式是创建一个沙盒程序(sandbox program),在其中可自由尝试各个值。在一个图形上绘制sine和cosine波形的程序是一个不错的起点。下面的游戏状态将绘制两条轴,并绘制一个图形。并不需要创建一个新项目,可以把这个状态添加到已有的代码中,然后将其设置为默认状态。