_Vector3

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

属性展开

  • + x : number

    x坐标

    • 示例

       v.x = 3
  • + y : number

    y坐标

    • 示例

       v.y = 4
  • + z : number

    z坐标

    • 示例

       v.z = 5

构造方法展开

  • + function _Vector3() : _Vector3

    构造方法1

  • + function _Vector3(v : _Vector3) : _Vector3

    构造方法2

  • + function _Vector3(x : number , y : number, z : number) : _Vector3

    构造方法3

静态方法展开

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

    两个向量相加。若无第三个参数则会构造新Vector3。

  • + function cross(v1 : _Vector3, v2 : _Vector3[, out : _Vector3]) : _Vector3

    两个向量的叉乘。若无第三个参数则会构造新Vector3。

  • + function distance(v1 : _Vector3, v2 : _Vector3) : number

    两个向量的距离。

  • + function dot(v1 : _Vector3, v2 : _Vector3) : number

    两个向量的点乘。

  • + function equal(v1 : _Vector3, v2 : _Vector3) : bool

    两个向量是否相等。

  • + function mul(v1 : _Vector3, f : number[, out : _Vector3]) : _Vector3

    向量与浮点数的数量积。若无第三个参数则会构造新Vector3。

    • 示例

       v1 = _Vector3.new(3, 4, 5)
      v2 = _Vector3.mul(v1, 2)
      print(v2.x, v2.y, v2.z)
  • + function sub(v1 : _Vector3, v2 : _Vector3[, out : _Vector3]) : _Vector3

    两个向量相减。若无第三个参数则会构造新Vector3。

公共方法展开

  • + function absolute() : _Vector3

    取向量坐标的绝对值。

    • 示例

       v = _Vector3.new(1, -1, 0)
      v:absolute()
      print(v.x, v.y, v.z)
  • + function add(v1 : _Vector3 | x : float, y : float, z : float) : _Vector3

    向量相加。

    • 示例

       v1 = _Vector3.new(3, 0, 0)
      v2 = _Vector3.new(0, 4, 0)
      v3 = v2:add(v1)
      print(v3.x, v3.y, v3.z)
  • + function clone() : _Vector3

    复制向量。

    • 示例

       v1 = _Vector3.new(3, 4, 5)
      v2 = v1:clone()
      print(v2.x, v2.y, v2.z)
  • + function cross(v1 : _Vector3 | x : float, y : float, z : float) : _Vector3

    向量叉乘。

    • 示例

       v1 = _Vector3.new(3, 0, 0)
      v2 = _Vector3.new(0, 4, 0)
      v3 = v2:cross(v1)
      print(v3.x, v3.y, v3.z)
  • + function dot(v1 : _Vector3 | x : float, y : float, z : float) : float

    向量点乘。

    • 示例

       v1 = _Vector3.new(3, 0, 0)
      v2 = _Vector3.new(0, 4, 0)
      f = v2:dot(v1)
      print(f)
  • + function equal(v1 : _Vector3 | x : float, y : float, z : float ) : bool

    两个向量是否相等。

    • 示例

       v2 = _Vector3.new(0, 1, 0)
      b = v2:equal(1,2,3)
      print(b)
  • + function magnitude() : number

    取向量的模。

    • 示例

       v = _Vector3.new(3, 4, 0)
      f = v:magnitude()
      print(f)
  • + function mul(f: float) : _Vector3

    向量与浮点数的数量积。

    • 示例

       v1 = _Vector3.new(3, 4, 5)
      v2 = v1:mul(2)
      print(v2.x, v2.y, v2.z)
  • + function normalize() : _Vector3

    标准化向量。

    • 示例

       v = _Vector3.new(3, 4, 0)
      v:normalize()
      print(v.x, v.y, v.z)
  • + function scale(f : number) : _Vector3

    缩放向量使其模长变为f。

    • 示例

       v = _Vector3.new(3, 4, 0)
      v:scale(10)
      print(v.x, v.y, v.z)
  • + function set(x : number , y : number, z : number)

    给向量赋值。

    • 示例

       v = _Vector3.new()
      v:set(3, 4, 5)
      print(v.x, v.y, v.z)
  • + function sub(v1 : _Vector3 | x : float, y : float, z : float) : _Vector3

    向量相减。

    • 示例

       v1 = _Vector3.new(3, 0, 0)
      v2 = v1:sub(0, 2, 4)
      print(v2.x, v2.y, v2.z)

代码示例

    v1 = _Vector3.new()
    v2 = _Vector3.new(v1)
    v3 = _Vector3.new(3, 4, 5)
    print(v3.x, v3.y, v3.z)
问题反馈(登录才可以发表哦!)