上次更新日期:
Apr 29, 2021 08:03:22 AM GMT
描述
Matrix 类表示一个转换矩阵,它确定如何将点从一个坐标空间映射到另一个坐标空间。
您可以对显示对象执行各种图形变换,如下所示:
- 设置一个 Matrix 对象的属性
- 将该 Matrix 对象应用到一个 Transform 对象的 matrix 属性
- 作为显示对象的 transform 属性应用该 Transform 对象。
这些转换函数包括平移(x 和 y 重新定位)、旋转和缩放。
转换矩阵
这些转换类型统称为仿射转换。仿射转换在转换时将保持直线的平直度,以便平行线仍保持平行。
转换矩阵对象是一个具有如下内容的 3 x 3 矩阵:
| a c tx | | b d ty | | u v w |
在传统的转换矩阵中,u、v 和 w 属性具有其他功能。Matrix 类仅适用于二维空间。因此它始终是假定属性值 u 和 v 为 0.0,属性值 w 为 1.0。矩阵的有效值如下所示:
| a c tx | | b d ty | | 0 0 1 |
语法
new flwebgl.geom.Matrix(values)
参数
名称 | 类型 | 描述 |
---|---|---|
values | 数字[] | (可选)按格式 [a b c d tx ty] 来定义矩阵值的一个数组。如未指定,则将此矩阵设为单位矩阵。 |
方法
clone()
说明
此方法返回 Matrix 实例的一个副本。
返回值
- Matrix 实例的一个副本。
- 类型 - Matrix
concat(matrix)
说明
此方法将提供的矩阵与当前矩阵连接,从而将这两个矩阵的几何效果有效地结合在一起。
参数
返回值
- 此矩阵。它对于串接方法调用非常有用。
- 类型 - Matrix
示例
此例将一个旋转矩阵和一个缩放矩阵连接在一起。
名称 | 类型 | 描述 |
---|---|---|
matrix | Matrix | 要相乘的矩阵 |
var m1 = new flwebgl.geom.Matrix(); m1.rotate(45 * Math.PI / 180); var m2 = new flwebgl.geom.Matrix(); m2.scale(2, 2); m1.concat(m2);
copy(matrix)
equals(mat)
getValues()
说明
此方法返回矩阵中元素的值。
返回值
- 按格式 [a b c d tx ty] 来定义矩阵值的一个数组。
- 类型 - 数字[]
示例
此例获取矩阵的值并进行修改,使其按因子 0.5 倾斜。
var m = new flwebgl.geom.Matrix(); var arr = m.getValues(); arr[1] = 0.5; m.setValues(arr);
identity()
说明
此方法将矩阵设置为单位矩阵。
返回值
- 此矩阵。它对于串接方法调用非常有用。
- 类型 - Matrix
invert()
说明
此方法将矩阵反转。实际上,反转后的矩阵将应用相反的转换。
返回值
- 此矩阵。它对于串接方法调用非常有用。
- 类型 - Matrix
isIdentity()
说明
如果矩阵为单位矩阵,此方法将返回“true”。
返回值
- 类型 - 布尔值
rotate(angle)
说明
此方法对矩阵应用旋转变换。
参数
返回值
- 此矩阵。它对于串接方法调用非常有用。
- 类型 - Matrix
示例
此例创建一个新的 Matrix 实例,它被初始化为单位矩阵并旋转 45 度。
名称 | 类型 | 描述 |
---|---|---|
angle | 数字 | 以弧度为单位的角度。要换算为“度”,则乘以 Math.PI/180。 |
var m = new flwebgl.geom.Matrix(); m.rotate(45 * Math.PI / 180);
scale(x, y)
说明
此方法对矩阵应用缩放变换。
参数
返回值
- 此矩阵。它对于串接方法调用非常有用。
- 类型 - Matrix
示例
此例创建一个新的 Matrix 实例,它被初始化为单位矩阵并沿水平和垂直方向各放大 2 倍。
名称 | 类型 | 描述 |
---|---|---|
x | 数字 | 水平缩放因子。 |
y | 数字 | 垂直缩放因子。 |
var m = new flwebgl.geom.Matrix(); m.scale(2, 2);
setValues(values)
transformPoint(point)
transformRect(rect)
translate(dx, dy)
说明
此方法沿 x 和 y 轴平移矩阵。
参数
返回值
- 此矩阵。它对于串接方法调用非常有用。
- 类型 - Matrix
名称 | 类型 | 描述 |
---|---|---|
dx | 数字 | 沿 X 轴向右移动的量。 |
dy | 数字 | 沿 Y 轴向下移动的量。 |
登录到您的帐户