《OGL dev》Etay Meiri Tutorial 11 - Concatenating Transformations 笔记

旋转、平移、缩放的先后顺序:

  1. 首先考虑旋转和平移,先旋转后平移,与先平移后旋转的最终位置是不同的。因为先平移后旋转,其中的旋转也造成了平移,设定对象的位置变得非常困难。因此只使用先旋转后平移。
  2. 缩放和平移也是同理,先平移使得对象离开原点,之后缩放也造成了平移。因此只使用先缩放后平移。
  3. 旋转与缩放,无论是谁先谁后都没有区别。

对象先进行旋转、缩放、平移,之后应用摄影机变换,最终投影到2D。

#define ToRadian(x) ((x) * M_PI / 180.0f)
#define ToDegree(x) ((x) * 180.0f / M_PI)

实现角度与弧度互转。其中M_PI是在math.h定义的,但必须在#include<math.h>之前#define _USE_MATH_DEFINES才可用。

Gitalking ...