猫史档案馆


Box3API Box3Vector3部分函数含义

用户:AbnormalLOGAbnormalLOG查看:3 回复:5 评论:3 创建时间:2022-02-11T09:19:19


1.new Box3Vector3().set

用于设置向量,set要传入三个参数:x,y,z

内部代码:

set(x, y, z) {
        this.x = +x;
        this.y = +y;
        this.z = +z;
        return this;
    }

 

2.new Box3Vector3().copy

用于把本体的xyz值设置为另一个向量对象的xyz值,有三个参数x,y,z

内部代码:

copy(v) {
        this.x = v.x;
        this.y = v.y;
        this.z = v.z;
        return this;
    }

3.new Box3Vector3().add

用于把一个向量与另一个向量相加,参数:v

内部代码:

add(v) {
        return new Box3Vector3(this.x + v.x, this.y + v.y, this.z + v.z);
}

4.new Box3Vector3().sub

用于把一个向量与另一个向量相减,参数:v

内部代码:

    sub(v) {
        return new Box3Vector3(this.x - v.x, this.y - v.y, this.z - v.z);
    }

5.new Box3Vector3().towards()

和sub相似,参数:v

内部代码:

 towards(v) {
        return v.sub(this);
    }

6.new Box3Vector3().mul

用于把一个向量另一个向量相乘,参数:v

内部代码:

 mul(v) {
        return new Box3Vector3(this.x * v.x, this.y * v.y, this.z * v.z);
}

7.new Box3Vector3().div

用于把一个向量与另一个向量相除,参数:v

v的每一项都不能为0(虽然可以判断但是还是建议不要这样

内部代码:

div(v) {
        return new Box3Vector3(v.x === 0 ? 0 : this.x / v.x, v.y === 0 ? 0 : this.y / v.y, v.z === 0 ? 0 : this.z / v.z);
    }

8.new Box3Vector3().addEq

用于把自己和v向量相加,参数:v

内部代码:

 addEq(v) {
        this.x += v.x;
        this.y += v.y;
        this.z += v.z;
        return this;
    }

9.new Box3Vector3().subEq

用于把自己和v向量相减,参数:v

内部代码:

 subEq(v) {
        this.x -= v.x;
        this.y -= v.y;
        this.z -= v.z;
        return this;
    }

10.new Box3Vector3().mulEq

用于把自己和v向量相乘,参数:v

内部代码:

  mulEq(v) {
        this.x *= v.x;
        this.y *= v.y;
        this.z *= v.z;
        return this;
    }

11.new Box3Vector3().divEq

用于把自己和v向量相除,参数:v

内部代码:

divEq(v) {
        this.x = v.x === 0 ? 0 : this.x / v.x;
        this.y = v.y === 0 ? 0 : this.y / v.y;
        this.z = v.z === 0 ? 0 : this.z / v.z;
        return this;
    }

12.new Box3Vector3().scale

用于把自己的xyz乘上参数n,然后返回一个新的Box3Vector3对象

内部代码:

scale(n) {
        return new Box3Vector3(this.x * n, this.y * n, this.z * n);
}

13.new Box3Vector3().distance

向量和向量之间的距离,参数:v

内部代码:

 distance(v) {
        return this.sub(v).mag();
    }

14.new Box3Vector3().toString

把自己转换为字符串输出,没有参数

内部代码:

toString() {
        return `{ x:${this.x}, y:${this.y}, z:${this.z} }`;
    }

15.new Box3Vector3().clone

克隆出一个一模一样的Box3Vector3对象

内部代码:

clone() {
        return new Box3Vector3(this.x, this.y, this.z);
    }

 

(这只是一部分,如果有不齐全的在评论区说(

内部代码都是用world.say显示再用F12复制的((((emotion_doge

 

下次如果有机会的话可以出一下Box3RGBColor或者Box3RGBAColor

开发文档:https://docs.box3.codemao.cn/box3vector3.html


回复

上一页1 页 / 共 1下一页
编码喵编码喵

沙发

点赞0


评论


AbnormalLOGAbnormalLOG

点赞0


评论


小苏打_小苏打_

Box3Quaternion

、、、

点赞0


评论


星星上的雪花星星上的雪花

cross:从一个向量到另一个向量的方向(可用于发射武器)

点赞0


评论


AbnormalLOGAbnormalLOG

翻一下陈年老贴

这个帖子是旧岛三还在的时候发的,那时候我还不知道什么是向量什么是四元数……

现在上了高中,这些都懂了。但是当年的岛三,还回得来吗……

点赞0


评论