Tom*_*omZ 17
即使你不想做3D编程,2D游戏也使用矢量和矩阵.(来自线性代数)
在Trig编程中节省大量精力的一点是实现了对atan2()函数的需求,而不是atan()函数.在确定两点之间的方向时,这很重要.
能够在各种坐标系之间移动是一大优点.这将带来经验.绊倒人们的两件常见事情是:
a)大多数屏幕系统将原点(0,0)放在左上角,正x轴向右延伸,正y轴向下延伸.标准笛卡尔坐标假设左下角的象限1(其中x和y总是正或零)的原点.这需要程序员在某个阶段"翻转"y方向.
b)典型地理位置为0度为北,正度为顺时针方向.所有Trig功能都以0度为东,逆度顺时针扫描正度.
最后,即使我们倾向于用度来思考,真正的库也会使用弧度.最佳实践是将角度存储为弧度(在"数学"方向而不是"地理位置")并在显示调试信息时转换内容.