Функции работы с матрицами
За работу с матрицами отвечают функции 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 — ошибка
См. также[править | править код]
Функции аффинных преобразований