Функции работы с матрицами

Материал из K3-Macro
Макро | Математические функции | Алгебраические и тригонометрические функции | Функции работы с матрицами | Функции аффинных преобразований | Работа с векторами | Функции геометрических вычислений | Преобразование координат точек и векторов | Работа с битовыми масками

За работу с матрицами отвечают функции Getucsmat, GetLCSMatr, GetLCSMatr1, GetGeoMatr

GetUCSMatr[править | править код]

LOGICAL GetUCSMatr(double ARRAY <Matr[9]>)

Функция заносит в массив <Matr> текущее положение ПСК относительно ГСК.

Для восстановления ПСК в ранее запомненное положение достаточно выполнить команду:

setucs matr[1], matr[2], matr[3] matr[4], matr[5], matr[6] matr[7], matr[8], matr[9];

На выходе в массив <Matr> помещаются:

Matr[1] - Matr[3] — координаты положения начала ПСК в ГСК;

Matr[4] - Matr[6] — координаты на положительной полуоси OX ПСК в ГСК;

Matr[6] - Matr[9] — координаты на положительной полуоси OY ПСК в ГСК;

Функция возвращает:

0 — ошибка
1 — успешно

Пример:

Defarr a[9];
=GetUCSMatr(a);
1

GetLCSMatr[править | править код]

INT GetLCSMatr(OBJECT <Obj>, double ARRAY <Matr[9]>)

Функция запоминает текущее положение локальной системы координат (ЛСК) объекта <Obj> относительно глобальной системы координат (ГСК) и записывает его в массив <Matr[9]>.

На выходе в массив <Matr[9]> помещаются:

Matr[1] - Matr[3] — координаты положения начала ЛСК объекта <Obj> в ГСК;

Matr[4] - Matr[6] — координаты на положительной полуоси OX ЛСК объекта <Obj> в ГСК;

Matr[7] - Matr[9] — координаты на положительной полуоси OY ЛСКобъекта <Obj> в ГСК;

Функция возвращает:

0 — ошибка
1 — успешно
-1 — у объекта <Obj> нет матрицы ЛСК

GetLCSMatr1[править | править код]

INT GetLCSMatr1(OBJECT <Obj>, double ARRAY <Matr[9]>)

Функция запоминает текущее положение локальной системы координат (ЛСК) объекта <Obj> относительно текущей пользовательской системы координат (ПСК) и записывает его в массив <Matr[9]>.

На выходе в массив <Matr[9]> помещаются:

Matr[1] - Matr[3] — координаты положения начала ЛСК объекта <Obj> в ПСК;

Matr[4] - Matr[6] — координаты на положительной полуоси OX ЛСК объекта <Obj> в ПСК;

Matr[7] - Matr[9] — координаты на положительной полуоси OY ЛСКобъекта <Obj> в ПСК;

Функция возвращает:

0 — ошибка
1 — успешно
-1 — у объекта <Obj> нет матрицы ЛСК

GetGeoMatr[править | править код]

Int GetGeoMatr(OBJECT <Obj>, double ARRAY <Matr[16]>| double ARRAY <Matr[4,4]>)

Функция заполняет массив <Matr> матрицей положения объекта <Obj>. Для некоторых объектов значение некоторых элементов массива может содержать произвольное значение. Функция возвращает:

1 — успешно
2 — у объекта нет матрицы
0 — ошибка

См. также[править | править код]

Функции аффинных преобразований


Макро | Математические функции | Алгебраические и тригонометрические функции | Функции работы с матрицами | Функции аффинных преобразований | Работа с векторами | Функции геометрических вычислений | Преобразование координат точек и векторов | Работа с битовыми масками