Rotation 的用法

63 阅读1分钟

Tonatiuh 中 Rotation 的用法

1. 参数格式

Rotation = (x, y, z, θ)
  • x, y, z:旋转轴的方向向量

    • 不要求单位化(Tonatiuh 内部会归一化)
    • 例如 (1,0,0) = X 轴;(0,1,0) = Y 轴;(0,0,1) = Z 轴
  • θ:旋转角度,弧度制 (radian)

    • 不是度数,输入时要换算

2. 角度 ↔ 弧度换算

θrad​=θdeg​×180π​ 常用值对照表:

角度 (°)弧度 (rad)
30°0.524
45°0.785
60°1.047
90°1.571
180°3.142
270°4.712
360°6.283

3. 常见旋转操作示例

(1) 不旋转

Rotation = (0,0,1,0)

(2) 绕 X 轴

  • 90°:(1,0,0,1.571)
  • 180°:(1,0,0,3.142)

(3) 绕 Y 轴

  • 90°:(0,1,0,1.571)
  • 180°:(0,1,0,3.142)

(4) 绕 Z 轴

  • 45°:(0,0,1,0.785)
  • 180°:(0,0,1,3.142)

(5) 任意方向

例如绕向量 (1,1,0) 方向旋转 30°:

Rotation = (1,1,0,0.524)

4. 使用技巧

  • 镜子布置:线性菲涅尔镜常需要绕 Y 轴旋转;初始 Rotation=(0,1,0,0)

  • 接收器布置:如果要水平/竖直放置,用 X 或 Y 轴 90°旋转。

  • 二次反射器:常见组合旋转,可通过改变 Z 轴角度控制朝向。

  • 多重旋转:Tonatiuh 每个物体只能设一个 Rotation;若要组合旋转,可以:

    1. 手动计算合成的“轴–角”参数;
    2. 在模型树里嵌套几何体,父节点旋转一次,子节点再旋转一次。

5. 小结

  • Rotation = (轴向量, 弧度角)
  • θ 必须用 弧度,不是度数
  • 常用操作就是绕 X/Y/Z 轴旋转 90°/180°,直接查表即可