_Vector2

用于表示二维向量或点。它还包含了一些向量的基本运算功能。 全部展开

属性展开

  • + x : number

    x坐标

    示例

        v.x = 1
  • + y : number

    y坐标

    示例

        v.y = 1

构造方法展开

  • + function _Vector2() : _Vector2

    构造一个二维向量

    • 返回
    • 新构造的二维向量,x, y的属性值默认为0。
      • 示例
    •  local v1 = _Vector2.new()
  • + function _Vector2(vec : _Vector2) : _Vector2

    构造一个新的二维向量

    • 参数
    • vec : 源向量
    • 返回
    • 新构造的二维向量,所有属性和源向量相同。
      • 示例
    •  local v1 = _Vector2.new()
      v1.x = 1
      v1.y = 1
      local v2 = _Vector2.new(v1)
  • + function _Vector2(x : number, y : number) : _Vector2

    构造一个新的二维变量

    • 参数
    • x : 向量的x坐标
    • y : 向量的y坐标
    • 返回
    • 新构造的二维向量,它的x,y属性对应传进来的参数。
      • 示例
    •  local v3 = _Vector2.new(3, 4)

静态方法展开

  • + function add(v1:_Vector2, v2:_Vector2[, out : _Vector2]) : _Vector2

    两个向量相加。若有第三个参数则不构造新_Vector2

    • 参数
    • v1 : 源向量1
    • v2 : 源向量2
    • out : 结果向量

    • 返回

    • 相加运算的结果向量。
      • 示例
    •  local v1 = _Vector2.new(3, 0)
      local v2 = _Vector2.new(0, 4)
      local v3 = _Vector2.add(v1, v2)
      print(v3.x, v3.y)
  • + function cross(v1 : _Vector2, v2 : _Vector2) : number

    两个向量的叉乘。

    • 参数
    • v1 : 源向量1
    • v2 : 源向量2

    • 返回

    • 相叉乘的结果。
      • 示例
    •  local v1 = _Vector2.new(1, 5)
      local v2 = _Vector2.new(5, 1)
      local result = _Vector2.cross(v1, v2)
      print(result)
  • + function distance(v1:_Vector2, v2:_Vector2) : number

    求两个向量的相对距离。

    • 参数
    • v1 : 源向量1
    • v2 : 源向量2
    • 返回
    • 两个向量的相对距离。
      • 示例
    •  local v1 = _Vector2.new(3, 0)
      local v2 = _Vector2.new(0, 4)
      local dis = _Vector2.distance(v1, v2)
      print(dis)
  • + function dot (v1 : _Vector2, v2 : _Vector2) : number

    两个向量的点乘。

    • 参数
    • v1 : 源向量1
    • v2 : 源向量2
    • 返回
    • 相点乘的结果。
      • 示例
    •  local v1 = _Vector2.new(1, 3)
      local v2 = _Vector2.new(4, 1)
      local f = _Vector2.dot(v1, v2)
      print(f)
  • + function mul(v1 : _Vector2, s : number[, out : _Vector2]) : _Vector2

    向量与浮点数的数量积。 若有第三个参数则不构造新_Vector2

    • 参数
    • v1 : 源向量
    • s : 浮点数
    • out : 结果向量

    • 返回

    • 源向量与浮点数的向量积结果向量。
      • 示例
    •  local v1 = _Vector2.new(3, 4)
      local v2 = _Vector2.mul(v1, 2)
      print(v2.x, v2.y)
  • + function sub(v1 : _Vector2, v2 : _Vector2[, out : _Vector2]) : _Vector2

    两个向量相减。 若有第三个参数则不构造新_Vector2

    • 参数
    • v1 : 源向量1
    • v2 : 源向量2
    • out : 结果向量

    • 返回

    • 想减运算的结果向量。
      • 示例
    •  local v1 = _Vector2.new(3, 0)
      local v2 = _Vector2.new(0, 4)
      local v3 = _Vector2.sub(v1, v2)
      print(v3.x, v3.y)

公共方法展开

  • + function absolute() : _Vector2

    取向量坐标的绝对值。

    • 返回
    • 取绝对值后的结果向量。
      • 示例
    •  local v = _Vector2.new(1, -1)
      v:absolute()
      print(v.x, v.y)
  • + function clone() : _Vector2

    复制向量

    示例

        local v1 = _Vector2.new(3, 4)
    local v2 = v1:clone()
    print(v2.x, v2.y)
  • + function cross(v1:_Vector2) : number

    叉乘向量。

    • 参数
    • v1 : 向量1
    • 返回
    • 叉乘运算的结果。
      • 示例
    •   local v1 = _Vector2.new(1, 5)
      local v2 = _Vector2.new(5, 1)
      local result = v1:cross(v2)
      print(result)
  • + function dot(v1:_Vector2) : _Vector2

    点乘向量。

    • 参数
    • v1 : 向量1
    • 返回
    • 点乘运算的结果向量。
      • 示例
    •  local v1 = _Vector2.new(3, 1)
      local v2 = _Vector2.new(1, 4)
      local result = v1:dot(v2)
      print(result)
  • + function magnitude (): number

    取向量的模。

    • 返回
    • 向量的模
      • 示例
    •  local v = _Vector2.new(3, 4)
      local f = v:magnitude()
      print(f)
  • + function normalize() : _Vector2

    标准化向量。

    • 返回
    • 标准化后的结果向量。
      • 示例
    •  local v = _Vector2.new(3, 4)
      v:normalize()
      print(v.x, v.y)
  • + function scale(f : number) : _Vector2

    缩放向量。

    • 参数
    • f : 浮点数,缩放后向量的模长
    • 返回
    • 缩放后的结果向量
      • 示例
    •  local v = _Vector2.new(3, 4)
      v:scale(10)
      print(v.x, v.y)
  • + function set(x : number, y : number)

    给向量赋值。

    • 参数
    • x : 浮点数1
    • y : 浮点数2
    • 返回
    • 赋值后的结果向量。
      • 示例
    •  local v = _Vector2.new()
      v:set(3, 4)
      print(v.x, v.y)
问题反馈(登录才可以发表哦!)