W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
java.lang.Object
|---ohos.agp.utils.Matrix44
public class Matrix44
extends Object
表示一個 4x4 矩陣。
這個類包含一個包含 16 個浮點(diǎn)數(shù)的數(shù)組來描述 4x4 矩陣。
Since:
4
構(gòu)造函數(shù) | 描述 |
---|---|
Matrix44() | 用于創(chuàng)建 Matrix44 實例的默認(rèn)構(gòu)造函數(shù)。 |
Matrix44(Matrix44 srcMatrix) | 用于使用現(xiàn)有矩陣創(chuàng)建 Matrix44 實例的構(gòu)造函數(shù)。 |
Matrix44(Matrix44 matrixA, Matrix44 matrixB) | 用于使用兩個指定矩陣創(chuàng)建 Matrix44 實例的構(gòu)造函數(shù)。 |
修飾符和類型 | 方法 | 描述 |
---|---|---|
double | determinant() | 計算此 Matrix44 的行列式。 |
float | get(int row, int col) | 獲取此 Matrix44 中指定位置的值,并返回一個浮點(diǎn)數(shù)。 |
double | getDouble(int row, int col) | 獲取此 Matrix44 中指定位置的雙精度值。 |
float | getFloat(int row, int col) | 獲取此 Matrix44 中指定位置的浮點(diǎn)值。 |
boolean | hasPerspective() | 檢查此 Matrix44 是否包含透視元素。 |
boolean | invert(Matrix44 inverse) | 反轉(zhuǎn)此 Matrix44。 |
boolean | isIdentity() | 檢查此 Matrix44 是否為單位矩陣。 |
boolean | isScale() | 檢查此 Matrix44 是否包含縮放或是否為單位矩陣。 |
boolean | isScaleTranslate() | 檢查此 Matrix44 是否僅包含平移和縮放,或者它是否為單位矩陣。 |
boolean | isTranslate() | 檢查此 Matrix44 是否包含平移或是否為單位矩陣。 |
void | postConcat(Matrix44 matrixM) | 將此 Matrix44 與指定矩陣進(jìn)行后乘,并將乘法結(jié)果保存在此 Matrix44 中。 |
void | postScale(float scale) | 將此 Matrix44 后乘以指定的比例。 |
void | postScale(float sx, float sy, float sz) | 將此 Matrix44 后乘以指定的比例。 |
void | postTranslate(float dx, float dy, float dz) | 將此 Matrix44 與指定的平移進(jìn)行后乘。 |
void | preConcat(Matrix44 matrixM) | 將此 Matrix44 與指定矩陣預(yù)乘,并將乘法結(jié)果保存在此 Matrix44 中。 |
void | preScale(float scale) | 將此 Matrix44 預(yù)乘以指定的比例。 |
void | preScale(float sx, float sy, float sz) | 將此 Matrix44 預(yù)乘以指定的比例。 |
void | preTranslate(float dx, float dy, float dz) | 將此 Matrix44 與指定的翻譯預(yù)乘。 |
void | reset() | 將此 Matrix44 重置為單位矩陣。 |
void | set(int row, int col, float value) | 為此 Matrix44 中的指定位置設(shè)置浮點(diǎn)類型的值。 |
void | setConcat(Matrix44 matrixA, Matrix44 matrixB) | 將此 Matrix44 設(shè)置為兩個指定矩陣的乘法結(jié)果。 |
void | setDouble(int row, int col, double value) | 為此 Matrix44 中的指定位置設(shè)置雙精度值。 |
void | setFloat(int row, int col, float value) | 設(shè)置此 Matrix44 中指定位置的浮點(diǎn)值。 |
void | setIdentity() | 將此 Matrix44 設(shè)置為單位矩陣。 |
void | setRotateAbout(float x, float y, float z, float radians) | 圍繞向量 [x, y, z] 旋轉(zhuǎn)指定的弧度。 |
void | setRotateAboutUnit(float x, float y, float z, float radians) | 圍繞向量 [x, y, z] 作為單位向量旋轉(zhuǎn)指定的弧度。 |
void | setRotateDegreesAbout(float x, float y, float z, float degrees) | 圍繞向量 [x, y, z] 旋轉(zhuǎn)指定角度。 |
void | setScale(float scale) | 按指定大小縮放此 Matrix44。 |
void | setScale(float sx, float sy, float sz) | 按指定大小縮放此 Matrix44。 |
void | setTranslate(float dx, float dy, float dz) | 用指定的長度翻譯這個 Matrix44。 |
void | transpose() | 轉(zhuǎn)置此 Matrix44。 |
從類 java.lang.Object 繼承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
public Matrix44()
用于創(chuàng)建 Matrix44 實例的默認(rèn)構(gòu)造函數(shù)。
Since:
4
public Matrix44(Matrix44 srcMatrix)
用于使用現(xiàn)有矩陣創(chuàng)建 Matrix44 實例的構(gòu)造函數(shù)。
具體來說,現(xiàn)有矩陣的值被復(fù)制到創(chuàng)建的 Matrix44 實例中。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
srcMatrix | 表示現(xiàn)有矩陣。 |
Since:
4
public Matrix44(Matrix44 matrixA, Matrix44 matrixB)
用于使用兩個指定矩陣創(chuàng)建 Matrix44 實例的構(gòu)造函數(shù)。
具體而言,將指定的兩個矩陣相乘,并將乘積的值復(fù)制到創(chuàng)建的 Matrix44 實例中。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
matrixA | 表示一個指定的乘法矩陣。 |
matrixB | 表示另一個指定的乘法矩陣。 |
Since:
4
public boolean isIdentity()
檢查此 Matrix44 是否為單位矩陣。
返回:
如果矩陣是單位矩陣,則返回 true; 否則返回 false。
Since:
4
public boolean isTranslate()
檢查此 Matrix44 是否包含平移或是否為單位矩陣。
返回:
如果矩陣包含平移或者它是一個單位矩陣,則返回 true; 否則返回 false。
Since:
4
public boolean isScaleTranslate()
檢查此 Matrix44 是否僅包含平移和縮放,或者它是否為單位矩陣。
返回:
如果矩陣包含平移和縮放或者它是單位矩陣,則返回 true; 否則返回 false。
Since:
4
public boolean isScale()
檢查此 Matrix44 是否包含縮放或是否為單位矩陣。
返回:
如果矩陣包含縮放或者它是單位矩陣,則返回 true; 否則返回 false。
Since:
4
public boolean hasPerspective()
檢查此 Matrix44 是否包含透視元素。
返回:
如果矩陣包含透視元素,則返回 true; 否則返回 false。
Since:
4
public void setIdentity()
將此 Matrix44 設(shè)置為單位矩陣。
Since:
4
public void reset()
將此 Matrix44 重置為單位矩陣。
Since:
4
public float get(int row, int col)
獲取此 Matrix44 中指定位置的值,并返回一個浮點(diǎn)數(shù)。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
row | 表示指定位置的行。 |
col | 表示指定位置的列。 |
返回:
返回指定位置的值。
Since:
4
public void set(int row, int col, float value)
為此 Matrix44 中的指定位置設(shè)置浮點(diǎn)類型的值。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
row | 表示指定位置的行。 |
col | 表示指定位置的列。 |
value | 表示要設(shè)置的值。 |
Since:
4
public double getDouble(int row, int col)
獲取此 Matrix44 中指定位置的雙精度值。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
row | 表示指定位置的行。 |
col | 表示指定位置的列。 |
返回:
返回指定位置的雙精度值。
Since:
4
public void setDouble(int row, int col, double value)
為此 Matrix44 中的指定位置設(shè)置雙精度值。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
row | 表示指定位置的行。 |
col | 表示指定位置的列。 |
value | 指示要設(shè)置的雙精度值。 |
Since:
4
public float getFloat(int row, int col)
獲取此 Matrix44 中指定位置的浮點(diǎn)值。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
row | 表示指定位置的行。 |
col | 表示指定位置的列。 |
返回:
返回指定位置的浮點(diǎn)值。
Since:
4
public void setFloat(int row, int col, float value)
設(shè)置此 Matrix44 中指定位置的浮點(diǎn)值。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
row | 表示指定位置的行。 |
col | 表示指定位置的列。 |
value | 指示要設(shè)置的浮點(diǎn)值。 |
Since:
4
public void setTranslate(float dx, float dy, float dz)
用指定的長度翻譯這個 Matrix44。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
dx | 指示要在 x 軸上平移的長度。 |
dy | 指示要在 y 軸上平移的長度。 |
dz | 指示要在 z 軸上平移的長度。 |
Since:
4
public void preTranslate(float dx, float dy, float dz)
將此 Matrix44 與指定的翻譯預(yù)乘。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
dx | 指示要在 x 軸上平移的長度。 |
dy | 指示要在 y 軸上平移的長度。 |
dz | 指示要在 z 軸上平移的長度。 |
Since:
4
public void postTranslate(float dx, float dy, float dz)
將此 Matrix44 與指定的平移進(jìn)行后乘。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
dx | 指示要在 x 軸上平移的長度。 |
dy | 指示要在 y 軸上平移的長度。 |
dz | 指示要在 z 軸上平移的長度。 |
Since:
4
public void setScale(float sx, float sy, float sz)
按指定大小縮放此 Matrix44。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
sx | 指示要在 x 軸上縮放的大小。 |
sy | 指示要在 y 軸上縮放的大小。 |
sz | 指示要在 z 軸上縮放的大小。 |
Since:
4
public void preScale(float sx, float sy, float sz)
將此 Matrix44 預(yù)乘以指定的比例。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
sx | 指示要在 x 軸上縮放的大小。 |
sy | 指示要在 y 軸上縮放的大小。 |
sz | 指示要在 z 軸上縮放的大小。 |
Since:
4
public void postScale(float sx, float sy, float sz)
將此 Matrix44 后乘以指定的比例。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
sx | 指示要在 x 軸上縮放的大小。 |
sy | 指示要在 y 軸上縮放的大小。 |
sz | 指示要在 z 軸上縮放的大小。 |
Since:
4
public void setScale(float scale)
按指定大小縮放此 Matrix44。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
scale | 指示要縮放的大小。 該值由 x、y 和 z 軸共享。 |
Since:
4
public void preScale(float scale)
將此 Matrix44 預(yù)乘以指定的比例。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
scale | 指示要縮放的大小。 該值由 x、y 和 z 軸共享。 |
Since:
4
public void postScale(float scale)
將此 Matrix44 后乘以指定的比例。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
scale | 指示要縮放的大小。 該值由 x、y 和 z 軸共享。 |
Since:
4
public void setRotateDegreesAbout(float x, float y, float z, float degrees)
圍繞向量 [x, y, z] 旋轉(zhuǎn)指定角度。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
x | 指示要旋轉(zhuǎn)的向量的第一個元素。 |
y | 指示要旋轉(zhuǎn)的向量的第二個元素。 |
z | 指示要旋轉(zhuǎn)的向量的第三個元素。 |
degrees | 指示要旋轉(zhuǎn)的度數(shù)。 |
Since:
4
public void setRotateAbout(float x, float y, float z, float radians)
圍繞向量 [x, y, z] 旋轉(zhuǎn)指定的弧度。 如果向量 [x, y, z] 不是單位向量,則會自動調(diào)整大小。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
x | 指示要旋轉(zhuǎn)的向量的第一個元素。 |
y | 指示要旋轉(zhuǎn)的向量的第二個元素。 |
z | 指示要旋轉(zhuǎn)的向量的第三個元素。 |
radians | 指示要旋轉(zhuǎn)的弧度數(shù)。 |
Since:
4
public void setRotateAboutUnit(float x, float y, float z, float radians)
圍繞向量 [x, y, z] 作為單位向量旋轉(zhuǎn)指定的弧度。 此方法不檢查向量長度。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
x | 指示要旋轉(zhuǎn)的向量的第一個元素。 |
y | 指示要旋轉(zhuǎn)的向量的第二個元素。 |
z | 指示要旋轉(zhuǎn)的向量的第三個元素。 |
radians | 指示要旋轉(zhuǎn)的弧度數(shù)。 |
Since:
4
public void setConcat(Matrix44 matrixA, Matrix44 matrixB)
將此 Matrix44 設(shè)置為兩個指定矩陣的乘法結(jié)果。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
matrixA | 表示一個乘法矩陣。 |
matrixB | 表示用于乘法的另一個矩陣。 |
Since:
4
public void preConcat(Matrix44 matrixM)
將此 Matrix44 與指定矩陣預(yù)乘,并將乘法結(jié)果保存在此 Matrix44 中。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
matrixM | 表示指定的矩陣。 |
Since:
4
public void postConcat(Matrix44 matrixM)
將此 Matrix44 與指定矩陣進(jìn)行后乘,并將乘法結(jié)果保存在此 Matrix44 中。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
matrixM | 表示指定的矩陣。 |
Since:
4
public boolean invert(Matrix44 inverse)
反轉(zhuǎn)此 Matrix44。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
inverse | 指示要保存此 Matrix44 的逆矩陣的矩陣。 |
返回:
如果此 Matrix44 可逆,則返回 true; 否則返回 false。
Since:
4
public void transpose()
轉(zhuǎn)置此 Matrix44。
Since:
4
public double determinant()
計算此 Matrix44 的行列式。
返回:
返回行列式。
Since:
4
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: