TransformObject3d
Синтаксис
FLOAT TransformObject3d(HANDLE hSpace3d, HANDLE hObject2d, FLOAT Matrix)
Описание
Функция позволяет произвольно изменить трехмерный объект.
Параметры
hSpace3d Определяет дескриптор трехмерного пространства.
Hobject3d Определяет дескриптор трехмерного объекта.
Matrix Определяет номер матрицы трансформации.
Примечание
Матрица, задающая параметры трансформации, должна иметь размер (4*4), причем последний столбец должен быть таким, как показано на рисунке, иначе модификация объекта будет произведена некорректно.
Матрица задает трансформацию в текущей системе координат.
M[1,1] |
M[1,2] |
M[1,2] |
0 |
M[2,1] |
M[2,2] |
M[2,2] |
0 |
M[3,1] |
M[3,2] |
M[3,2] |
0 |
M[4,1] |
M[4,2] |
M[4,2] |
1 |
Возвращаемое значение
При успешном выполнении 1 или 0 в противном случае
Пример
// Реализация функции _ResizeObject3d
function
HANDLE PARAMETER hSpace3d,hObject,hBase
FLOAT PARAMETER ax,ay,az
if(hSpace3d && hObject)
rez:=PushCrdSystem3dPushCrdSystem3d (hSpace3d)
if(hBase)
rez:=SelectLocalCrd3dSelectLocalCrd3d (hSpace3d,hbase)
endif
matrix:=mcreateMCreate (0,1,4,1,4,1)
rez:=MputMPut (~matrix,4,4,1,1)
rez:=Mput(~matrix,1,1,ax,1)
rez:=Mput(~matrix,2,2,ay,1)
rez:=Mput(~matrix,3,3,az,1)
rez:=TransformObject3d(hSpace3d,hObject,matrix)
if(hBase)
rez:=PopCrdSystem3dPopCrdSystem3d (hSpace3d)
endif
rez:=MDeleteMDelete (matrix,1)
endif
return rez
Created with the Personal Edition of HelpNDoc: Make your documentation accessible on any device with HelpNDoc