1.0.0-beta.0 • Published 5 years ago

@icanvas/maths v1.0.0-beta.0

Weekly downloads
-
License
GPL-3.0-or-later
Repository
github
Last release
5 years ago

iCanvas的数学功能包


Time 时间格式化工具实例

属性

Time.Date 时间

方法

Time.Set(value,format) 设置时间

Time.ToWeek(n) 将时间前往本周的某一天

Time.Get(format) 获取时间

Time.GetWeek(n,format) 将时间前往本周的某一天并获取时间

Time.OneDay(time1,time2,format1,format2) 比较日期同一天

Time.OneWeek(time1,time2,format1,format2) 比较日期同一周


Random 随机数字工具

Random(a=2,b=0) 获取随机值从b到a+b-1

Random.To(a,b) 获取随机值从a到b

Random.Array(arr) 从数组arr中获取一个随机值

Random.Array.Keys(arr,length =1) 从数组arr总获取length个长度的随机键

Random.Array.Values(arr,length =1) 从数组arr总获取length个长度的随机值


Color 颜色格式化工具

Color.hex2rgb() 16进制数字转10进制颜色数组

Color.hex2string() 16进制数字转16进制字符串颜色

Color.string2hex() 16进制字符串颜色转16进制数字

Color.rgb2hex() 10进制颜色数组转16进制数字


Position 坐标定位器工具

let Pos = new Position();

属性

Pos.width 全宽

Pos.height 全高

Pos.center 半宽只读

Pos.middle 半高只读

方法

Pos.getX(n) 按全宽的比例获取长度

Pos.getY(n) 按全高的比例获取长度


Array 扩展数组

let Arr = new Array();

属性

Arr.Int8Array 从本实例新建一个Int8Array数组

Arr.Uint8Array 从本实例新建一个Uint8Array数组

Arr.Uint8ClampedArray 从本实例新建一个Uint8ClampedArray数组

Arr.Int16Array 从本实例新建一个Int16Array数组

Arr.Uint16Array 从本实例新建一个Uint16Array数组

Arr.Int32Array 从本实例新建一个Int32Array数组

Arr.Uint32Array 从本实例新建一个Uint32Array数组

Arr.Float32Array 从本实例新建一个Float32Array数组

Arr.Float64Array 从本实例新建一个Float64Array数组

Arr.BigInt64Array 从本实例新建一个BigInt64Array数组

Arr.BigUint64Array 从本实例新建一个BigUint64Array数组

方法

Arr.set(n) 将本数组数据全部设置为n

Arr.setToArray(arr) 将本数组设置为arr数组的内容

Arr.setTo(...arg) 将本数组设置为实参数组的内容

Arr.clone(n) 复制一个本实例

Arr.equals(arr,absolute=true) 判断本数组是否与arr数组(相等/完全相同)

Arr.equalsSome(n) 判断本数组是否与实参数组完全相同


Vector 基础向量

继承自Array扩展数组

let Arr = new Vector();

方法

Arr.add(n) 类似Arr.set采用加法而不是覆盖

Arr.addToVector(arr) 类似Arr.setToArray采用加法而不是覆盖

Arr.addTo(...arg) 类似Arr.setTo采用加法而不是覆盖

Arr.sub(n) 类似Arr.set采用减法而不是覆盖

Arr.subToVector(arr) 类似Arr.setToArray采用减法而不是覆盖

Arr.subTo(...arg) 类似Arr.setTo采用减法而不是覆盖

Arr.mult(n) 类似Arr.set采用乘法而不是覆盖

Arr.multToVector(arr) 类似Arr.setToArray采用乘法而不是覆盖

Arr.multTo(...arg) 类似Arr.setTo采用乘法而不是覆盖

Arr.div(n) 类似Arr.set采用除法而不是覆盖

Arr.divToVector(arr) 类似Arr.setToArray采用除法而不是覆盖

Arr.divTo(...arg) 类似Arr.setTo采用除法而不是覆盖

Arr.zero() 将本数组内容全部设置为0


Vector2 二维向量

继承自Vector基础向量

let Arr = new Vector2(0,0);

属性

Arr.x 获取第一个参数

Arr.y 获取第二个参数

方法

Arr.rotate(n) 向量旋转

Arr.distTo(x,y) 计算到另一个坐标的距离

Arr.dist(vector2) 计算和另一个二维数组的距离

Arr.mag() 计算到原点的距离


Vector3 三维向量

继承自Vector基础向量

let Arr = new Vector3();

Arr.normalize() 归一化


Matrix3 二维矩阵

继承自Array扩展数组

let Arr = new Matrix3(1,0,0,1,0,0);

属性

Arr.a 获取第一个参数

Arr.b 获取第二个参数

Arr.c 获取第三个参数

Arr.d 获取第四个参数

Arr.tx 获取第五个参数

Arr.ty 获取第六个参数

方法

Arr.identity() 重置矩阵为1,0,0,1,0,0

Arr.translate(x,y) 二维矩阵位移

Arr.rotate(a) 二维矩阵旋转

Arr.scale(x,y) 二维矩阵缩放

Arr.skew(x,y) 二维矩阵斜切

Arr.invert() 设置为逆矩阵


Matrix4 三维矩阵

继承自Array扩展数组

let Arr = new Matrix4(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1);

方法

Arr.identity() 重置矩阵为1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1

Arr.multiply(matrix4) 矩阵相乘