第七课 三角函数

1个月前发布 196 00

math函数工具(三角函数部分)

收录时间:
2025-08-29
招生信息

本节课是关于三角函数在Lua编程中的应用,结合了数学原理与代码实践。以下是课程内容的总结:


一、基础数学概念

  1. 角度与弧度
    • 角度​:一个圆分为360份,每份为1度。
    • 弧度​:基于圆的半径定义,180度 = π弧度,90度 = π/2弧度。
    • 关键转换公式:
      • math.rad(角度):将角度转换为弧度。
      • math.deg(弧度):将弧度转换为角度。
  2. 圆周率π
    • math.pi提供精确的π值(约3.1415926),用于计算圆的周长、面积和圆柱体积等。

二、三角函数

  1. 基本定义(基于直角三角形)​
    • sinθ = 对边/斜边
    • cosθ = 邻边/斜边
    • tanθ = 对边/邻边
  2. Lua函数调用规则
    • 所有三角函数(math.sin, math.cos, math.tan)​必须传入弧度值,不能直接使用角度。
    • 示例:local radians = math.rad(30) -- 将30度转为弧度 local sin_value = math.sin(radians) -- 输出0.5

三、反三角函数

  1. 作用​:已知比例值,反推角度。
    • math.asin(x):返回弧度值,x需在[-1,1]范围内。
    • math.acos(x):同上。
    • math.atan(x):x可为任意实数,返回弧度在(-π/2, π/2)之间。
  2. 输出为弧度,需用math.deg()转换为角度:local angle_deg = math.deg(math.asin(0.5)) -- 输出30度

四、其他数学工具

  1. 向下取整math.floor
    • 直接舍弃小数部分(非四舍五入)。
    • 示例:
      • math.floor(3.9) = 3
      • math.floor(-2.1) = -3
  2. 椭圆周长计算
    • 长半轴a短半轴b
    • 简易公式:周长 ≈ π * (a + b)
    • 高精度公式(Ramanujan近似):周长 ≈ π * [3(a+b) - √((3a+b)(a+3b))]

五、实战应用(代码示例)​

  1. 三角形路径移动
    • 通过顶点坐标和三角函数计算移动轨迹。
    • 使用GUI动画函数实现周期性运动。
  2. 圆形环绕效果
    • 实时更新位置:x = 圆心x + 半径 * math.cos(角度) y = 圆心y + 半径 * math.sin(角度)
    • 结合自转与公转,实现武器环绕角色效果。
  3. 椭圆轨迹
    • 扩展圆形公式,引入长轴a和短轴b:x = a * math.cos(角度) y = b * math.sin(角度)
    • 动态缩放实现视觉效果变化。

六、重点注意

  • 三角函数必须使用弧度,注意角度转换。
  • 反三角函数返回值为弧度,需二次转换。
  • 椭圆、圆形等路径运动需结合实时坐标更新与数学计算。
  • 多使用math模块内置函数简化计算(如math.pi, math.sqrt)。

通过本课,你应掌握三角函数的基本原理、Lua中的调用方法,以及如何应用这些知识实现游戏中的复杂运动轨迹。如有疑问,建议回看代码实战部分并结合实际练习。

数据统计

相关导航

暂无评论

none
暂无评论...