_Vector3

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

属性展开

  • + x : number

    x坐标

    示例

        v.x = 3
  • + y : number

    y坐标

    示例

        v.y = 4
  • + z : number

    z坐标

    示例

        v.z = 5

构造方法展开

  • + function _Vector3() : _Vector3

    构造方法1

    示例

        v1 = _Vector3.new()
  • + function _Vector3(v : _Vector3) : _Vector3

    构造方法2

    示例

        v2 = _Vector3.new(v1)
  • + function _Vector3(x : number , y : number, z : number) : _Vector3

    构造方法3

    示例

        v3 = _Vector3.new(3, 4, 5)

静态方法展开

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

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

    示例

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

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

    示例

        v1 = _Vector3.new(1, 0, 0)
    v2 = _Vector3.new(0, 1, 0)
    v3 = _Vector3.cross(v1, v2)
    print(v3.x, v3.y, v3.z)
  • + function distance(v1 : _Vector3, v2 : _Vector3) : number

    两个向量的距离。

    示例

        v1 = _Vector3.new(3, 0, 0)
    v2 = _Vector3.new(0, 4, 0)
    f = _Vector3.distance(v1, v2)
    print(f)
  • + function dot(v1 : _Vector3, v2 : _Vector3) : number

    两个向量的点乘。

    示例

        v1 = _Vector3.new(1, 0, 0)
    v2 = _Vector3.new(0, 1, 0)
    f = _Vector3.dot(v1, v2)
    print(f)
  • + function equal(v1 : _Vector3, v2 : _Vector3) : bool

    两个向量是否相等。

    示例

        v1 = _Vector3.new(1, 0, 0)
    v2 = _Vector3.new(0, 1, 0)
    b = _Vector3.equal(v1, v2)
    print(b)
  • + 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。

    示例

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

公共方法展开

  • + 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)
问题反馈(登录才可以发表哦!)