Главная | Статьи | WebGL : Frameworks


mjs

JavaScript-библиотека для работы с матрицами и векторами, оптимизированная для WebGL.

Summary
mjs JavaScript-библиотека для работы с матрицами и векторами, оптимизированная для WebGL.
Constants
MJS_VERSION0xaabbcc.
MJS_DO_ASSERT Включает или выключает утверждения.
MJS_FLOAT_ARRAY_TYPE Базовый тип массивов чисел с плавающей запятой (WebGLFloatArray ).
V3 Методы для работы с векторами, имеющими 3 элемента.
Functions
V3.$(x, y, z) Создает новый вектор с 3 элементами.
V3.clone(a) Возвращает копию вектора.
V3.add(a, b, r) Складывает два вектора r = a + b.
V3.sub(a, b, r) Вычитает два вектора r = a - b.
V3.neg(a, r) Выполняет r = - a.
V3.direction(a, b, r) Выполняет r = (a - b) / |a - b|.
V3.length(a) Выполняет r = |a|.
V3.lengthSquard(a)Выполняет r = |a|*|a|.
V3.normalize(a, r)Выполняет r = a / |a|.
V3.scale(a, k, r) Выполняет r = a * k.
V3.dot(a, b) Выполняет скалярное произведение r = dot(a, b).
V3.cross(a, b, r)Выполняет r = a x b.
V3.mul4x4(m, v, r)Выполняет r = m * v. Где m - матрица 4x4, v - 3-элементный вектор, r - результирующий вектор
M4x4 Методы для работы с матрицами 4x4.
Functions
M4x4.$
(m00, m01, m02, m03,
m04, m05, m06, m07,
m08, m09, m10, m11,
m12, m13, m14, m15)
Создает новую матрицу 4x4.
M4x4.I или
M4x4.identity
Создает единичную матрицу 4x4.
(1.0, 0.0, 0.0, 0.0,
0.0, 1.0, 0.0, 0.0,
0.0, 0.0, 1.0, 0.0,
0.0, 0.0, 0.0, 1.0)
M4x4.clone(m) Возвращает копию матрицы 4x4.
M4x4.topLeft3x3(m, r) Возвращает верхнюю левую матрицу 3x3 из матрицы 4x4.
M4x4.inverseOrthonormal(m, r) Возвращает обратную матрицу для ортонормальной матрицы m.
M4x4.inverseTo3x3(m, r) Вычисляет обратную матрицу, вычленяя из нее верхнюю левую матрицу 3x3.
M4x4.makeFrustum(left, right, bottom, top, znear, zfar, r) Возвращает матрицу проекции.
M4x4.makePerspective(fovy, aspect, znear, zfar, r) Возвращает матрицу проекции.
M4x4.makeOrtho(left, right, bottom, top, znear, zfar, r) Возвращает матрицу ортогональной проекции.
M4x4.makeOrtho2D(left, right, bottom, top, r) Возвращает матрицу ортогональной 2D проекции. Где znear и zfar равны -1 и 1 соответственно.
M4x4.mul(a, b, r) Выполняет r = a * b.
M4x4.mulOffset(a, b, r, o)Выполняет r' = a * b, где o - сдвиг в r, начиная с которого сохраняются результаты.
M4x4.mulAffine(a, b, r)Выполняет r = a * b, где a и b имеют элементы 3,7,11,15 = 0,0,0,1.
M4x4.mulAffineOffset(a, b, r, о)Выполняет r' = a * b, где a и b имеют элементы 3,7,11,15 = 0,0,0,1, а o - сдвиг в r, начиная с которого сохраняются результаты.
M4x4.makeRotate(angle, axis, r) Возвращает матрицу вращения вокруг 3-элементного вектора.
M4x4.rotate(angle, axis, m, r) Умножает на матрицу вращения.
M4x4.makeScale3(x, y, z, r) Возвращает матрицу масштабирования.
M4x4.makeScale1(k, r)
M4x4.makeScale3(k, k, k, r);
M4x4.makeScale(v, r)
M4x4.makeScale3(v[0], v[1], v[2], r);
M4x4.scale3(x, y, z, m, r) Масштабирует матрицу m. Матрица r - результат.
M4x4.scale1(k, m, r) Масштабирует матрицу m с использованием одного коэффициента k. Матрица r - результат.
M4x4.scale(v, m, r) Масштабирует матрицу m с использованием вектора. Матрица r - результат.
M4x4.makeTranslate3(x, y, z, r) Возвращает матрицу перемещения.
M4x4.makeTranslate1(k, r)
M4x4.makeTranslate3(k, k, k, r);
M4x4.makeTranslate(v, r)
 M4x4.makeTranslate3(v[0], v[1], v[2], r);
M4x4.translate3Self(x, y, z, m)
 Перемещает матрицу m.
M4x4.translate3(x, y, z, m, r) Перемещает матрицу m. Матрица r - результат.
M4x4.translate1(k, m, r)Перемещает матрицу m с использованием одного коэффициента k. Матрица r - результат.
M4x4.translate(v, m, r) Перемещает матрицу m с использованием вектора v. Матрица r - результат.
M4x4.translateSelf(v, m) Перемещает матрицу m с использованием вектора v.
M4x4.makeLookAt(eye, center, up, r) Возвращает матрицу преобразования, переводящую внешнюю систему координат в систему координат глаза.
M4x4.transpose(m, r) Заменяет строки на столбцы. Матрица r - результат.
M4x4.transposeSelf(m) Заменяет строки на столбцы.
M4x4.transformPoint (m, v, r) Применяет матрицу к вектору.
M4x4.transformLine (m, v, r) Применяет матрицу к линии.
M4x4.transformPointAffine (m, v, r) Применяет матрицу к вектору.
M4x4.transformLineAffine (m, v, r) Применяет матрицу к линии.

Constants

MJS_VERSION

mjs version number aa.bb.cc, encoded as an integer of the form

0xaabbcc.

MJS_DO_ASSERT

Включает или выключает утверждения выполнения.

MJS_FLOAT_ARRAY_TYPE

Базовый тип массивов чисел с плавающей запятой, по умолчанию WebGLFloatArray.

 

V3

Методы для работы с 3-элементными векторами, представленными 3-элементными массивами типа MJS_FLOAT_ARRAY_TYPE.

Summary
Functions
V3.$(x, y, z) Создает новый 3-элементный вектор.
V3.clone(a) Возвращает копию вектора.
V3.add(a, b, r)Выполняет r = a + b.
V3.sub(a, b, r)Выполняет r = a - b.
V3.neg(a, r)Выполняет r = - a.
V3.direction(a, b, r)Выполняет r = (a - b) / |a - b|.
V3.length(a) Выполняет r = |a|.
V3.lengthSquard(a)Выполняет r = |a|*|a|.
V3.normalize(a, r)Выполняет r = a / |a|.
V3.scale(a, k, r) Выполняет r = a * k.
V3.dot(a, b) Выполняет скалярное произведение r = dot(a, b).
V3.cross(a, b, r)Выполняет r = a x b.
V3.mul4x4(m, v, r)Выполняет r = m * v. Где m - матрица 4x4, v - 3-элементный вектор, r - результирующий вектор

Functions

V3.$

V3.$ = function V3_$(x,
y,
z)

Создает 3-элементный вектор.

Parameters

x,y,z элементы нового вектора. vector.

Returns

новый вектор.

V3.clone

V3.clone = function V3_clone(a)

Копирует вектор.

Parameters

a вектор для копирования.

Returns

копию вектора.

V3.add

V3.add = function V3_add(a,
b,
r)

Выполняет r = a + b.

Parameters

a первый вектор
b второй вектор
r результирующий вектор

Returns

Если r определен, возвращает r или возвращает новый вектор с результатом.

V3.sub

V3.sub = function V3_sub(a,
b,
r)

Выполняет r = a - b.

Parameters

aпервый вектор
bвторой вектор
rрезультирующий вектор

Returns

Если r определен, возвращает r или возвращает новый вектор с результатом.

V3.neg

V3.neg = function V3_neg(a,
r)

Выполняет r = - a.

Parameters

a исходный вектор
rрезультирующий вектор

Returns

Если r определен, возвращает r или возвращает новый вектор с результатом.

V3.direction

V3.direction = function V3_direction(a,
b,
r)

Выполняет r = (a - b) / |a - b|.  The result is the normalized direction from a to b.

Parameters

aпервый вектор
bвторой вектор
rрезультирующий вектор

Returns

Если r определен, возвращает r или возвращает новый вектор с результатом.

V3.length

V3.length = function V3_length(a)

Выполняет r = |a|.

Parameters

a исходный вектор

Returns

Длину исходного вектора.

V3.lengthSquard

Выполняет r = |a|*|a|.

Parameters

a исходный вектор

Returns

Квадрат длины исходного вектора.

V3.normalize

V3.normalize = function V3_normalize(a,
r)

Выполняет r = a / |a|.

Parameters

a исходный вектор
rрезультирующий вектор

Returns

Если r определен, возвращает r или возвращает новый вектор с результатом.

V3.scale

V3.scale = function V3_scale(a,
k,
r)

Выполняет r = a * k.

Parameters

a исходный вектор
k скалярная величина
rрезультирующий вектор

Returns

Если r определен, возвращает r или возвращает новый вектор с результатом.

V3.dot

V3.dot = function V3_dot(a,
b)

Выполняет r = dot(a, b).

Parameters

a первый вектор
bвторой вектор

Returns

Скалярное произведение двух векторов.

V3.cross

V3.cross = function V3_cross(a,
b,
r)

Выполняет r = a x b.

Parameters

aпервый вектор
bвторой вектор
rрезультирующий вектор

Returns

Если r определен, возвращает r или возвращает новый вектор с результатом.

V3.mul4x4

V3.mul4x4 = function V3_mul4x4(m,
v,
r)

Выполняет r = m * v.

Parameters

mматрица
vвектор
rрезультирующий вектор

Returns

Если r определен, возвращает r или возвращает новый вектор с результатом.

M4x4

Методы для работы с матрицами 4x4. Матрица представляет собой 16-элементный массив типа MJS_FLOAT_ARRAY_TYPE.

Summary
Functions
M4x4.$
(m00, m01, m02, m03,
m04, m05, m06, m07,
m08, m09, m10, m11,
m12, m13, m14, m15)
Создает новую матрицу 4x4.
M4x4.I или
M4x4.identity
Создает единичную матрицу 4x4.
(1.0, 0.0, 0.0, 0.0,
0.0, 1.0, 0.0, 0.0,
0.0, 0.0, 1.0, 0.0,
0.0, 0.0, 0.0, 1.0)
M4x4.clone(m) Создает копию матрицы 4x4.
M4x4.topLeft3x3(m, r) Возвращает верхнюю левую матрицу 3x3 из матрицы 4x4.
M4x4.inverseOrthonormal(m, r)Возвращает обратную матрицу для ортонормальной матрицы m.
M4x4.inverseTo3x3(m, r)Вычисляет обратную матрицу, вычленяя из нее верхнюю левую матрицу 3x3.
M4x4.makeFrustum(left, right, bottom, top, znear, zfar, r) Возвращает матрицу проекции.
M4x4.makePerspective(fovy, aspect, znear, zfar, r)Возвращает матрицу проекции.
M4x4.makeOrtho(left, right, bottom, top, znear, zfar, r) Возвращает матрицу ортогональной проекции.
M4x4.makeOrtho2D(left, right, bottom, top, r)Возвращает матрицу ортогональной 2D проекции. Где znear и zfar равны -1 и 1 соответственно.
M4x4.mul(a, b, r) Выполняет r = a * b.
M4x4.mulOffset(a, b, r, o) Выполняет r' = a * b, где o - сдвиг в r, начиная с которого сохраняются результаты.
M4x4.mulAffine(a, b, r) Выполняет r = a * b, где a и b имеют элементы 3,7,11,15 = 0,0,0,1.
M4x4.mulAffineOffset(a, b, r, o) Выполняет r' = a * b, где a и b имеют элементы 3,7,11,15 = 0,0,0,1, а o - сдвиг в r, начиная с которого сохраняются результаты.
M4x4.makeRotate(angle, axis, r) Возвращает матрицу вращения вокруг 3-элементного вектора.
M4x4.rotate(angle, axis, m, r)Умножает на матрицу вращения.
M4x4.makeScale3(x, y, z, r) Возвращает матрицу масштабирования.
M4x4.makeScale1(k, r) M4x4.makeScale3(k, k, k, r);
M4x4.makeScale(v, r) M4x4.makeScale3(v[0], v[1], v[2], r);
M4x4.scale3(x, y, z, m, r)Масштабирует матрицу m. Матрица r - результат.
M4x4.scale1(k, m, r)Масштабирует матрицу m с использованием одного коэффициента k. Матрица r - результат.
M4x4. scale(v, m, r)Масштабирует матрицу m с использованием вектора. Матрица r - результат.
M4x4.makeTranslate3(x, y, z, r)Возвращает матрицу перемещения.
M4x4.makeTranslate1(k, r)M4x4.makeTranslate3(k, k, k, r);
M4x4.makeTranslate(v, r) M4x4.makeTranslate3(v[0], v[1], v[2], r);
M4x4.translate3Self(x, y, z, m) Перемещает матрицу m.
M4x4.translate3(x, y, z, m, r) Перемещает матрицу m. Матрица r - результат.
M4x4.translate1(k, m, r) Перемещает матрицу m с использованием одного коэффициента k. Матрица r - результат.
M4x4.translate(v, m, r)Перемещает матрицу m с использованием вектора v. Матрица r - результат.
M4x4.translateSelf(v, m) Перемещает матрицу m с использованием вектора v.
M4x4.makeLookAt(eye, center, up, r)Возвращает матрицу преобразования, переводящую внешнюю систему координат в систему координат глаза.
M4x4.transpose(m, r)Заменяет строки на столбцы. Матрица r - результат.
M4x4.transposeSelf(m) Заменяет строки на столбцы.
M4x4.transformPoint(m, v, r) Применяет матрицу к вектору.
M4x4.transformLine(m, v, r) Применяет матрицу к линии.
M4x4.transformPointAffine(m, v, r) Применяет матрицу к вектору.
M4x4.transformLineAffine(m, v, r) Применяет матрицу к линии.

Functions

M4x4.$

M4x4.$ = function M4x4_$(m00,
m01,
m02,
m03,
m04,
m05,
m06,
m07,
m08,
m09,
m10,
m11,
m12,
m13,
m14,
m15)

Создает новую матрицу 4x4.

Parameters

m00..m15 16 элементов новой матрицы.

Returns

Новую матрицу с указанными элементами.

M4x4.I

M4x4.identity = M4x4.I;

Создает единичную матрицу 4x4.

[1.0, 0.0, 0.0, 0.0,
0.0, 1.0, 0.0, 0.0,
0.0, 0.0, 1.0, 0.0,
0.0, 0.0, 0.0, 1.0]

Parameters

   

Returns

Единичную матрицу.

M4x4.clone

M4x4.clone = function M4x4_clone(m)

Копирует данную матрицу 4x4.

Parameters

m матрица 4x4 для копирования

Returns

Копию матрицы.

M4x4.topLeft3x3

M4x4.topLeft3x3 = function M4x4_topLeft3x3(m,
r)

Возвращает верхнюю левую матрицу 3x3 из матрицы 4x4.

Parameters

m матрица 4х4
r вехняя левая матрица 3x3

Returns

Если r определен, возвращает r или возвращает новую матрицу с результатом.

M4x4.inverseOrthonormal

M4x4.inverseOrthonormal = function M4x4_inverseOrthonormal(m,
r)

Возвращает обратную матрицу для ортонормальной матрицы m.

Parameters

m исходная матрица
r матрица 4х4 результата

Returns

Если r определен, возвращает r или возвращает новую матрицу с результатом.

M4x4.inverseTo3x3

M4x4.inverseTo3x3 = function M4x4_inverseTo3x3(m,
r)

Вычисляет обратную матрицу, вычленяя из нее верхнюю левую матрицу 3x3.

Parameters

m исходная матрица
r матрица 3x3 результата

Returns

Если r определен, возвращает r или возвращает новую матрицу с результатом.

M4x4.makeFrustum

M4x4.makeFrustum = function M4x4_makeFrustum(left,
right,
bottom,
top,
znear,
zfar,
r)

Возвращает матрицу проекции.

Parameters

left левая координата области видимости. right- правая координата области видимости
bottom нижняя координата области видимости
top верхняя координата области видимости
znear ближнее расстояние по оси z до области видимости
zfar дальнее расстояние по оси z до области видимости
r матрица проекции

Returns

Если r определен, возвращает r или возвращает новую матрицу с результатом.

M4x4.makePerspective

M4x4.makePerspective = function M4x4_makePerspective (fovy,
aspect,
znear,
zfar,
r)

Возвращает матрицу проекции.

Parameters

fovy поле зрения по оси y в градусах
aspect соотношение сторон
znear ближнее расстояние по оси z проекции
zfar дальнее расстояние по оси z проекции
rматрица проекции

Returns

Если r определен, возвращает r или возвращает новую матрицу с результатом.

M4x4.makeOrtho

M4x4.makeOrtho = function M4x4_makeOrtho (left,
right,
bottom,
top,
znear,
zfar,
r)

Возвращает матрицу ортогональной проекции.

Parameters

leftлевая координата области видимости. right- правая координата области видимости
bottom нижняя координата области видимости
top верхняя координата области видимости
znearближнее расстояние по оси z до области видимости
zfar дальнее расстояние по оси z до области видимости
rматрица проекции

Returns

Если r определен, возвращает r или возвращает новую матрицу с результатом.

M4x4.makeOrtho2D

M4x4.makeOrtho2D = function M4x4_makeOrtho2D (left,
right,
bottom,
top,
r)

Возвращает матрицу ортогональной 2D проекции. Где znear и zfar равны -1 и 1 соответственно.

Parameters

leftлевая координата области видимости. right- правая координата области видимости
bottom нижняя координата области видимости
top верхняя координата области видимости
rматрица проекции

Returns

Если r определен, возвращает r или возвращает новую матрицу с результатом.

M4x4.mul

M4x4.mul = function M4x4_mul(a,
b,
r)

Выполняет r = a * b.

Parameters

a первая матрица
b вторая матрица
r матрица 4x4 с результатом

Returns

Если r определен, возвращает r или возвращает новую матрицу с результатом.

M4x4.mulOffset

M4x4.mulOffset = function M4x4_mulOffset(a,
b,
r,
о)

Выполняет r' = a * b, где o - сдвиг в r, начиная с которого сохраняются результаты.

Parameters

a первая матрица
b вторая матрица
о смещение в r, с которого начинается хранение результатов
r матрица 4x4 с результатом

Returns

Если r определен, возвращает r или возвращает новую матрицу с результатом.

M4x4.mulAffine

M4x4.mulAffine = function M4x4_mulAffine(a,
b,
r)

Выполняет r = a * b, где a и b имеют элементы 3,7,11,15 = 0,0,0,1.

Parameters

a первая матрица
b вторая матрица
r матрица 4x4 с результатом

Returns

Если r определен, возвращает r или возвращает новую матрицу с результатом.

M4x4.mulAffineOffset

M4x4.mulAffineOffset = function M4x4_mulAffineOffset(a,
b,
r,
о)

Выполняет r' = a * b, где a и b имеют элементы 3,7,11,15 = 0,0,0,1, а o - сдвиг в r, начиная с которого сохраняются результаты.

Parameters

a первая матрица
b вторая матрица
о смещение в r, с которого начинается хранение результатов
r матрица 4x4 с результатом

Returns

Если r определен, возвращает r или возвращает новую матрицу с результатом.

M4x4.makeRotate

M4x4.makeRotate = function M4x4_makeRotate(angle,
axis,
r)

Возвращает матрицу вращения вокруг 3-элементного вектора.

Parameters

angle угол вращения в радианах
axis ось вращения, представленная 3-элементным вектором
rматрица 4x4 с результатом

Returns

Если r определен, возвращает r или возвращает новую матрицу с результатом.

M4x4.rotate

M4x4.rotate = function M4x4_rotate(angle,
axis,
m,
r)

Умножает матрицу m на матрицу вращения.

Parameters

angleугол вращения в радианах
axisось вращения, представленная 3-элементным вектором
m матрица, объединяемая с вращением
rматрица 4x4 с результатом

Returns

Если r определен, возвращает r или возвращает новую матрицу с результатом.

M4x4.makeScale3

M4x4.makeScale3 = function M4x4_makeScale3(x,
y,
z,
r)

Возвращает матрицу масштабирования.

Parameters

x коэффициент масштабирования по оси x
y коэффициент масштабирования по оси y
z коэффициент масштабирования по оси z
rматрица 4x4 с результатом

Returns

Если r определен, возвращает r или возвращает новую матрицу с результатом.

M4x4.makeScale1

M4x4.makeScale1 = function M4x4_makeScale1(k,
r)

M4x4.makeScale3(k, k, k, r);

Parameters

kкоэффициент масштабирования
rматрица 4x4 с результатом

Returns

Если r определен, возвращает r или возвращает новую матрицу с результатом.

M4x4.makeScale

M4x4.makeScale = function M4x4_makeScale(v,
r)

M4x4.makeScale3(v[0], v[1], v[2], r);

Parameters

v 3-элементный вектор, содержащий коэффициенты масштабирования.
rматрица 4x4 с результатом

Returns

Если r определен, возвращает r или возвращает новую матрицу с результатом.

M4x4.scale3

M4x4.scale3 = function M4x4_scale3(x,
y,
z,
m,
r)

Масштабирует матрицу m. Матрица r - результат.

Parameters

x коэффициент масштабирования по оси x
y коэффициент масштабирования по оси y
z коэффициент масштабирования по оси z
m масштабируемая матрица
rматрица 4x4 с результатом

Returns

Если r определен, возвращает r или возвращает новую матрицу с результатом.

M4x4.scale1

M4x4.scale1 = function M4x4_scale1(k,
m,
r)

Масштабирует матрицу m с использованием одного коэффициента k. Матрица r - результат.

Parameters

k коэффициент масштабирования
m масштабируемая матрица
rматрица 4x4 с результатом

Returns

Если r определен, возвращает r или возвращает новую матрицу с результатом.

M4x4.scale

M4x4.scale1 = function M4x4_scale(v,
m,
r)

Масштабирует матрицу m с использованием вектора. Матрица r - результат.

Parameters

v 3-элементный вектор, содержащий коэффициенты масштабирования.
m масштабируемая матрица
rматрица 4x4 с результатом

Returns

Если r определен, возвращает r или возвращает новую матрицу с результатом.

M4x4.makeTranslate3

M4x4.makeTranslate3 = function M4x4_makeTranslate3(x,
y,
z,
r)

Возвращает матрицу перемещения.

Parameters

x смещение по оси x
y смещение по оси y
z смещение по оси z
rматрица 4x4 с результатом

Returns

Если r определен, возвращает r или возвращает новую матрицу с результатом.

M4x4.makeTranslate1

M4x4.makeTranslate1 = function M4x4_makeTranslate1 (k,
r)

M4x4.makeTranslate3(k, k, k, r);

Parameters

k смещение по осям
rматрица 4x4 с результатом

Returns

Если r определен, возвращает r или возвращает новую матрицу с результатом.

M4x4.makeTranslate

M4x4.makeTranslate = function M4x4_makeTranslate (v,
r)

M4x4.makeTranslate3(v[0], v[1], v[2], r);

Parameters

v 3-элементный вектор, содержащий смещения по осям.
rматрица 4x4 с результатом

Returns

Если r определен, возвращает r или возвращает новую матрицу с результатом.

M4x4.translate3Self

<
M4x4.translate3Self = function M4x4_translate3Self (x,
y,
z,
m
)

Перемещает матрицу m.

Parameters

x смещение по оси x
y смещение по оси y
z смещение по оси z
m исходная матрица

Returns

Возвращает новую матрицу с результатом.

M4x4.translate3

M4x4.translate3 = function M4x4_translate3 (x,
y,
z,
m,
r)

Перемещает матрицу m. Матрица r - результат.

Parameters

x смещение по оси x
y смещение по оси y
z смещение по оси z
m исходная матрица
rматрица 4x4 с результатом

Returns

Если r определен, возвращает r или возвращает новую матрицу с результатом.

M4x4.translate1

M4x4.translate1 = function M4x4_translate1 (k,
m,
r)

Перемещает матрицу m с использованием одного коэффициента k. Матрица r - результат.

Parameters

k смещение по осям
m исходная матрица
rматрица 4x4 с результатом

Returns

Если r определен, возвращает r или возвращает новую матрицу с результатом.

M4x4.translate

M4x4.translate = function M4x4_translate (v,
m,
r)

Перемещает матрицу m с использованием вектора v. Матрица r - результат.

Parameters

v 3-элементный вектор, содержащий смещения по осям
m исходная матрица
rматрица 4x4 с результатом

Returns

Если r определен, возвращает r или возвращает новую матрицу с результатом.

M4x4.translateSelf

M4x4.translateSelf = function M4x4_translateSelf (v,
m
)

Перемещает матрицу m с использованием вектора v.

Parameters

v 3-элементный вектор, содержащий смещения по осям
m исходная матрица

Returns

Возвращает новую матрицу с результатом.

M4x4.makeLookAt

M4x4.makeLookAt = function M4x4_makeLookAt (eye,
center,
up,
r)

Возвращает матрицу преобразования, переводящую внешнюю систему координат в систему координат глаза.

Parameters

eye 3-элементный вектор позиции наблюдателя
center 3-элементный вектор позиции объекта
up 3-элементный вектор направления проекции

Returns

Если r определен, возвращает r или возвращает новую матрицу с результатом.

M4x4.transpose

M4x4.transpose = function M4x4_transpose (m,
r)

Заменяет строки на столбцы. Матрица r - результат.

Parameters

m исходная матрица
r матрица 4х4 с результатом

Returns

Если r определен, возвращает r или возвращает новую матрицу с результатом.

M4x4.transpose

M4x4.transpose = function M4x4_transpose (m,
r)

Заменяет строки на столбцы. Матрица r - результат.

Parameters

m исходная матрица
r матрица 4х4 с результатом

Returns

Если r определен, возвращает r или возвращает новую матрицу с результатом.

M4x4.transposeSelf

M4x4.transposeSelf = function M4x4_transposeSelf (m
)

Заменяет строки на столбцы.

Parameters

m исходная матрица

Returns

Возвращает новую матрицу с результатом.

M4x4.transformPoint

M4x4.transformPoint = function M4x4_transformPoint (m,
v,
r)

Применяет матрицу к вектору.

var v0 = v[0], v1 = v[1], v2 = v[2];

    r[0] = m[0] * v0 + m[4] * v1 + m[8] * v2 + m[12];
    r[1] = m[1] * v0 + m[5] * v1 + m[9] * v2 + m[13];
    r[2] = m[2] * v0 + m[6] * v1 + m[10] * v2 + m[14];
    var w = m[3] * v0 + m[7] * v1 + m[11] * v2 + m[15];

    if (w != 1.0) {
        r[0] /= w;
        r[1] /= w;
        r[2] /= w;
    }

    return r;

 

Parameters

m матрица
v вектор
r вектор с результатом

Returns

Если r определен, возвращает r или возвращает новый вектор с результатом.

M4x4.transformLine

M4x4.transformLine = function M4x4_transformLine (m,
v,
r)

Применяет матрицу к линии.

var v0 = v[0], v1 = v[1], v2 = v[2];
    r[0] = m[0] * v0 + m[4] * v1 + m[8] * v2;
    r[1] = m[1] * v0 + m[5] * v1 + m[9] * v2;
    r[2] = m[2] * v0 + m[6] * v1 + m[10] * v2;
    var w = m[3] * v0 + m[7] * v1 + m[11] * v2;

    if (w != 1.0) {
        r[0] /= w;
        r[1] /= w;
        r[2] /= w;
    }

    return r;

 

Parameters

m матрица
v линия
r линия с результатом

Returns

Если r определен, возвращает r или возвращает новую линию с результатом.

M4x4.transformPointAffine

M4x4.transformPointAffine = function M4x4_transformPointAffine (m,
v,
r)

Применяет матрицу к вектору.

var v0 = v[0], v1 = v[1], v2 = v[2];

    r[0] = m[0] * v0 + m[4] * v1 + m[8] * v2 + m[12];
    r[1] = m[1] * v0 + m[5] * v1 + m[9] * v2 + m[13];
    r[2] = m[2] * v0 + m[6] * v1 + m[10] * v2 + m[14];

    return r;

 

Parameters

m матрица
v вектор
r вектор с результатом

Returns

Если r определен, возвращает r или возвращает новый вектор с результатом.

M4x4.transformLineAffine

M4x4.transformLineAffine = function M4x4_transformLineAffine (m,
v,
r)

Применяет матрицу к линии.

var v0 = v[0], v1 = v[1], v2 = v[2];
    r[0] = m[0] * v0 + m[4] * v1 + m[8] * v2;
    r[1] = m[1] * v0 + m[5] * v1 + m[9] * v2;
    r[2] = m[2] * v0 + m[6] * v1 + m[10] * v2;

    return r;

 

Parameters

m матрица
v линия
r линия с результатом

Returns

Если r определен, возвращает r или возвращает новую линию с результатом.

V3.$ = function V3_$(x,
y,
z)
Creates a new 3-element vector with the given values.
V3.clone = function V3_clone(a)
Clone the given 3-element vector.
V3.add = function V3_add(a,
b,
r)
Выполняет r = a + b.
V3.sub = function V3_sub(a,
b,
r)
Выполняет r = a - b.
V3.neg = function V3_neg(a,
r)
Выполняет r = - a.
V3.direction = function V3_direction(a,
b,
r)
Выполняет r = (a - b) / |a - b|.
V3.length = function V3_length(a)
Выполняет r = |a|.
V3.normalize = function V3_normalize(a,
r)
Выполняет r = a / |a|.
V3.scale = function V3_scale(a,
k,
r)
Выполняет r = a * k.
V3.dot = function V3_dot(a,
b)
Выполняет r = dot(a, b).
V3.cross = function V3_cross(a,
b,
r)
Выполняет r = a x b.
M4x4.$ = function M4x4_$(m00,
m01,
m02,
m03,
m04,
m05,
m06,
m07,
m08,
m09,
m10,
m11,
m12,
m13,
m14,
m15)
Creates a new 4x4 matrix with the given values.
M4x4.clone = function M4x4_clone(m)
Clone the given 4x4 matrix.
M4x4.topLeft3x3 = function M4x4_topLeft3x3(m,
r)
Return the top left 3x3 matrix from the given 4x4 matrix m.
M4x4.inverseOrthonormal = function M4x4_inverseOrthonormal(m,
r)
Computes the inverse of the given matrix m, assuming that the matrix is orthonormal.
M4x4.inverseTo3x3 = function M4x4_inverseTo3x3(m,
r)
Computes the inverse of the given matrix m, but calculates only the top left 3x3 values of the result.
M4x4.makeFrustum = function M4x4_makeFrustum(left,
right,
bottom,
top,
znear,
zfar,
r)
Creates a matrix for a projection frustum with the given parameters.
M4x4.makePerspective = function M4x4_makePerspective (fovy,
aspect,
znear,
zfar,
r)
Creates a matrix for a perspective projection with the given parameters.
M4x4.makeOrtho = function M4x4_makeOrtho (left,
right,
bottom,
top,
znear,
zfar,
r)
Creates a matrix for an orthogonal frustum projection with the given parameters.
M4x4.mul = function M4x4_mul(a,
b,
r)
Выполняетs r = a * b.
M4x4.makeRotate = function M4x4_makeRotate(angle,
axis,
r)
Creates a transformation matrix for rotation by angle radians about the 3-element vector axis.
M4x4.rotate = function M4x4_rotate(angle,
axis,
m,
r)
Concatenates a rotation of angle radians about the axis to the give matrix m.
M4x4.makeScale3 = function M4x4_makeScale3(x,
y,
z,
r)
Creates a transformation matrix for scaling by 3 scalar values, one for each of the x, y, and z directions.
M4x4.makeScale1 = function M4x4_makeScale1(k,
r)
Creates a transformation matrix for a uniform scale by a single scalar value.
M4x4.makeScale = function M4x4_makeScale(v,
r)
Creates a transformation matrix for scaling each of the x, y, and z axes by the amount given in the corresponding element of the 3-element vector.
M4x4.scale3 = function M4x4_scale3(x,
y,
z,
m,
r)
M4x4.scale1 = function M4x4_scale1(k,
m,
r)
M4x4.makeTranslate3 = function M4x4_makeTranslate3(x,
y,
z,
r)
M4x4.makeTranslate1 = function M4x4_makeTranslate1 (k,
r)
M4x4.makeTranslate = function M4x4_makeTranslate (v,
r)
M4x4.translate3 = function M4x4_translate3 (x,
y,
z,
m,
r)
M4x4.translate1 = function M4x4_translate1 (k,
m,
r)
M4x4.translate = function M4x4_translate (v,
m,
r)
M4x4.makeLookAt = function M4x4_makeLookAt (eye,
center,
up,
r)
M4x4.transpose = function M4x4_transpose (m,
r)
Close