Поделиться через


Matrix.MultiplyMM(Single[], Int32, Single[], Int32, Single[], Int32) Метод

Определение

Умножает две матрицы 4x4 вместе и сохраняет результат в третьей матрице 4x4.

[Android.Runtime.Register("multiplyMM", "([FI[FI[FI)V", "")]
public static void MultiplyMM (float[]? result, int resultOffset, float[]? lhs, int lhsOffset, float[]? rhs, int rhsOffset);
[<Android.Runtime.Register("multiplyMM", "([FI[FI[FI)V", "")>]
static member MultiplyMM : single[] * int * single[] * int * single[] * int -> unit

Параметры

result
Single[]

Массив float, содержащий результат.

resultOffset
Int32

Смещение в массиве результатов, в котором хранится результат.

lhs
Single[]

Массив float, содержащий левую матрицу.

lhsOffset
Int32

Смещение в массиве lhs, где хранятся lhs

rhs
Single[]

Массив с плавающей точкой, содержащий матрицу справа.

rhsOffset
Int32

Смещение в массиве rhs, где хранится rhs.

Атрибуты

Исключения

Значение , если result, lhs или rhs имеют значение NULL или значение resultOffset + 16 > result.length или lhsOffset + 16 > lhs.length или rhsOffset + 16 > rhs.length.

Комментарии

Умножает две матрицы 4x4 вместе и сохраняет результат в третьей матрице 4x4. В матричной нотации: result = lhs x rhs. Из-за того, как работает матричное умножение, результирующий матрица будет иметь тот же эффект, что и сначала умножение на матрицу rhs, а затем умножение на матрицу lhs. Это противоположно тому, что вы можете ожидать.

Один и тот же массив с плавающей точкой может быть передан для результатов, lhs и (или) rhs. Эта операция, как ожидается, будет правильно выполняться, если результирующие элементы перекрываются с элементами lhs или rhs.

Документация по Java для android.opengl.Matrix.multiplyMM(float[], int, float[], int, float[], int).

Части этой страницы являются изменениями, основанными на работе, созданной и совместно используемой проектом Android и используемой в соответствии с условиями, Creative Commons 2.5 Attribution License.

Применяется к