Приложение 1
Таблица 1
Структурные схемы манипуляционных систем
№ | Код |
Приложение 2
Таблица 2
Таблица ориентаций локальных систем координат
№ | Положение локальной системы Si | Положение локальной системы Si* | Матрица ориентации систем | Код |
1 0 0 0 1 0 0 0 1 | ||||
0 1 0 0 0 1 1 0 0 | ||||
0 0 1 1 0 0 0 1 0 | ||||
0 1 0 0 0 1 1 0 0 | ||||
0 0 1 1 0 0 0 1 0 | ||||
1 0 0 0 1 0 0 0 1 |
Приложение 3
Продолжение прил. 3
Приложение 4
Подпрограммы реализующие операции над матрицами
//---------------------------------------------------------------------------
// Операции над матрицами (4х4)
#pragma hdrstop
//---------------------------------------------------------------------------
#pragma argsused
#include <stdio.h> // for printf()
|
|
#include <conio.h> // for getch()
// Сложение матриц (4х4)A+B=C
SumMatrix4(double A[][4], double B[][4], double C[][4])
{
int i, j;
for (i=0; i<4; i++)
for (j=0; j<4; j++)
C[i][j]= A[i][j]+B[i][j];
return 0;
}
// Вычитание матриц(4х4)A-B=C
int SubMatrix4(double A[][4], double B[][4], double C[][4])
{
int i, j;
for (i=0; i<4; i++)
for (j=0; j<4; j++)
C[i][j]= A[i][j]-B[i][j];
return 0;
}
// Транспонирование матриц(4х4)
int TranMatrix4(double A[][4], double A_transp[][4])
{
int i, j;
for (i=0; i<4; i++)
for (j=0; j<4; j++)
A_transp[i][j]= A[j][i];
return 0;
}
Продолжение прил. 4
// След матрицы (4х4)(Сумма диагональных элементов)
double TrailMatrix4(double M[][4])
{
int i;
double TrM=0.;
for (i=0; i<4; i++) TrM=TrM+M[i][i];
return TrM;
}
// Умножение матриц (4х4)AB=C
int MultiMatrix4(double A[][4], double B[][4], double C[][4])
{
int i, j, l;
for (i=0; i<4; i++)
for (j=0; j<4; j++)
{
C[i][j]= 0.;
for (l=0; l<4; l++)
C[i][j]= C[i][j]+A[i][l]*B[l][j];
}
return 0;
}
// Умножение матрицы (4х4)на вектор AV=W
int MultiVMatrix4(double A[][4], double V[4], double W[4])
{
int i, j, l;
for (i=0; i<4; i++)
{
W[i]= 0.;
for (j=0; j<4; j++)W[i]= W[i]+A[i][j]*V[j];
}
return 0;
}
// Вывод переменной на "консоль"
int PrintfVar(double c)
{
printf ("%4.0f",c);
printf ("\n\n");
getch();
return 0;
}
Продолжение прил. 4
// Вывод вектора(4х1)на "консоль"
int PrintfVect4(double V[4])
{
int i;
for (i=0; i<4; i++){printf ("%4.0f", V[i]); printf ("\n");};
printf ("\n");
getch();
return 0;
}
// Вывод матрицы(4х4)на "консоль"
int PrintfMatrix4(double M[][4])
{
int i, j;
for (i=0; i<4; i++)
{
for (j=0; j<4; j++)
printf ("%4.0f", M[i][j]);
printf ("\n");
}
printf ("\n");
getch();
return 0;
}
//-----------------------------------------------------------------------------
int main()
{
double TrA;
double C[4][4], M_transp[4][4], W[4];
double V[4]={1., 1., 1., 1.}; // Инициализация вектора V
double A[4][4]={3., 3., 3., 3., // Инициализация матрицы A
3., 3., 3., 3.,
3., 3., 3., 3.,
3., 3., 3., 3.};
double B[4][4]={2., 2., 2., 2., // Инициализация матрицы B
2., 2., 2., 2.,
2., 2., 2., 2.,
2., 2., 2., 2.};
double M[4][4]={1., 2., 3., 4., // Инициализация матрицы M
|
|
Продолжение прил. 4
1., 2., 3., 4.,
1., 2., 3., 4.,
1., 2., 3., 4.};
SumMatrix4(A,B,C); // Сложение матриц A+B=C
PrintfMatrix4(C);
SubMatrix4(A,B,C); // Вычитание матриц A-B=C
PrintfMatrix4(C);
MultiMatrix4(A,B,C); // Умножение матриц AB=C
PrintfMatrix4(C);
MultiVMatrix4(A,V,W); // Умножение матрицы А на вектор V: AV=W
PrintfVect4(W);
TranMatrix4 (M, M_transp); // Транспонирование матрицы M
PrintfMatrix4(M_transp);
TrA=TrailMatrix4(A); // След матрицы A
PrintfVar(TrA);
return 0;
}
//---------------------------------------------------------------------------
Программирование и основы алгоритмизации [Текст]+ [Электронный ресурс]: методические указания к выполнению курсовой работы для студентов очной формы обучения по направлению 221000.62 – «Мехатроника и робототехника».
КРАХМАЛЕВ ОЛЕГ НИКОЛАЕВИЧ
Научный редактор Д.И. Петрешин
Редактор издательства Л.И. Афонина
Компьютерный набор О.Н. Крахмалев
Темплан 2015 г., п.__
__________________________________________________________
Подписано в печать __.__.15 Формат 60×84 1/16
Бумага офсетная. Офсетная печать
Усл.печ.л. 1,3 Уч.-изд.л. 1,3 Тираж 30 экз. Заказ ___ Бесплатно.
__________________________________________________________
Брянский государственный технический университет.
241035, Брянск, бульвар 50-летия Октября, 7, БГТУ, 58–82–49.
Лаборатория оперативной полиграфии БГТУ, ул. Институтская, 16