@icanvas/maths v1.0.0-beta.0
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)
矩阵相乘