Бугреев ПЗ (1231492), страница 10
Текст из файла (страница 10)
Рисунок 4.1 – Расположение светильников в помещении
Таким образом, рассчитав необходимое количество ламп для обеспечения заданного светового потока в рабочем помещении, мы оценили возможность использования тех или иных помещений для разработки имитационных моделей. В помещениях заданного размера, где не будут соблюдаться условия по освещенности, работать про-грамисту будет не безопасно и некомфортно.
Заключение
Ввиду возникновения в процессе разработки имитационной модели больших сложностей, связанных с описанием всевозможных нестандартных, критических ситуаций, которые могут возникать в реаль-ной жизни, разработка имитационной модели не закончена, а процесс её создания продолжается.
Увеличение функциональных возможностей модели несомненно вызовет не мало трудностей, требующих комплексного и системати-ческого подхода при их решении. Однако уже сейчас можно сказать, что произведенные исследования в области поиска метода аппроксимации и применение наиболее оптимальных из них в разрабатываемой имитационной модели, позволяют говорить о высоком качестве модели. Проводимые во время создания модели различные тесты и экспери-менты показали её высокое быстродействие и устойчивость.
Наличие в модели хорошо организованной структуры связи с другими модулями учебно-тренажерного комплекса посредством локальной вычислительной сети и базы данных позволяет относить дан-ную модель к сложным системам, аппелирующих большим количеством потоков данных.
В дальнейшем планируется доработка имитационной модели до конечного продукта, представляющего из себя модуль учебно-трена-жерного комплекса. Данный модуль будет установлен и связан в общую структуру комплекса и позволит приблизить завершение его разработки. Разработанный учебно-тренажерный комплекс позволит вывести качество подготовки персонала ОАО «РЖД» на более высокий уровень.
В разделе экономическая часть дипломного проекта был расчитан срок окупаемости разрабатываемой имитационной модели, который составил чуть более полугода.
В разделе охрана труда был произведен расчет искусственного освещения помещения, где будет разрабатываться имитационная модель.
Список используемых источников
1. Шикин, Е.В. Кривые и поверхности на экране компьютера [Текст]: руководство по сплайнам для пользователей / Е.В Шикин, Л.И. Плис. – М.: ДИАЛОГ-МИФИ, 1996 . – 240с.
2. Роджерс, Д.Ф. Алгоритмические основы машинной графики [Текст]: Пер. с англ. / Д.Роджерс. – М.: Мир, 1989. – 512 с.
3. Роджерс, Д.Ф. Математические основы машинной графики [Текст]: Пер. с англ. / Д.Роджерс, Дж.Адамс. – М.: Мир, 2001. – 604 с.
4. Дональд, Х. Компьютерная графика и стандарт OpenGL [Текст]: Пер. с англ. / Х.Дональд, М. Паулин Бейкер.— 3-е изд. — М.: Вильямс, 2005. — 1168 с.
5. Открытый Динамический Движок [Электронный ресурс]: руководство пользователя / Russell Smith – Версия 0.5. Режим доступа: http://www.ode.org/doc/russian/
6. Графский, О.А. Моделирование сплайнов [Текст]: учебное пособие / О.А. Графский. – Хабаровск : Изд-во ДВГУПС, 2010. – 75 с.
7. Меркулов, А.В. Применение компьютерных технологий при создании сложных информационно-управляющих систем на железнодорожном транспорте [Текст]: учеб. пособие в 2-х частях / А.В. Меркулов. – Хабаровск: Изд-во ДВГУПС, 2003. Часть 1. – 179 с.
8. Меркулов, А.В. Методы программирования и обработки данных [Текст]: методическое пособие / А. В. Меркулов. – Хабаровск : Изд-во ДВГУПС, 2005. 47 с.: ил.
9. Меркулов, А.В. Математическое моделирование и САПР [Текст] : учебное пособие / А. В. Меркулов. – Хабаровск : Изд-во ДВГУПС, 2007. – 124 с.: ил.
10. Давыдов, В.М.Синтез децентрализованного периодического управления нелинейно-нестационарным объектом с запаздываниями по состоянию [Текст] / В.М. Давыдов, А.И. Годяев, Е.А. Шеленок // Вестник Тихоокеанского государственного университета. – 2012. - №1(24). - С.23-32.
11. Жарков, Н.В. Полное руководство по системе автоматизированного проектирования AutoCAD 2013 [Текст]: /Н.В. Жарков. –М.: – Наука и Техника, 2013. –103с.
12. Тумали, Л.Е. Оценка экономической эффективности устройств железнодорожной автоматики и телемеханики [Текст]: метод. пособие по выполнению экономической части выпускной квалификационной работы специальности 190402.65 «Автоматика, телемеханика и связь на железнодорожном транспорте» / Л.Е. Тумали. – Хабаровск : Изд-во ДВГУПС, 2013. – 35 с. : ил.
13. Федеральный закон от 24.07.2009 № 212-ФЗ (ред. от 29.12.2015) - «О страховых взносах в Пенсионный фонд Российской Федерации, Фонд социального страхования Российской Федерации, Федеральный фонд обязательного медицинского страхования» [Электронный ресурс] // СПС КонсультантПлюс.– Режим доступа: https://www.consultant.ru/document/cons_doc_LAW_89925/0b4c377c2b70bf89704f7527d6844a2594ea9e9f/#dst617
14. Сайт «ПАО Дальневосточная Энергетическая Компания» [Электронный ресурс]: – Режим доступа: http://www.dvec.ru/khabsbyt/private_clients/tariffs/
15. Еременко, Б.А. Безопасность жизнедеятельности [Текст]: учебник для вузов / Б.А. Еременко. - М.: Юнити-Дана, 2007. – 280 с.
16.Тесленко, И.М. Освещение [Текст]: методические указания для студентов, изучающих курс “Безопасность жизнедеятельности” / И.М. Тесленко, Б.А. Мамот. – Хабаровск: Изд-во ДВГУПС, 2000. – 107 с.
17. Мамот, Б.А. Безопасность жизнедеятельности [Текст]: сборник лабораторных работ / под ред. Б.А. Мамота. – Хабаровск: Изд-во ДВГУПС, 2004. –100с.
18. СНиП 23-05-95. Естественное и искусственное освещение/ Минстрой России - М.: ГП «Информрекламиздат», 1995. – 35с.
Приложение А
Листинг основной программы
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Graphics,Forms, Dialogs, math,
ComCtrls, StdCtrls, Controls, ExtCtrls, Classes, Buttons, Grids, DBGrids,
DB, FIBDataSet, pFIBDataSet, FIBDatabase, pFIBDatabase, ExtDlgs, ImgList;
type
TForm2 = class(TForm)
Shape2: TShape; UpDown1: TUpDown; Edit1: TEdit; Button1: TButton; Button2: TButton;
Sb: TStatusBar; Button3: TButton; Button4: TButton;Button5: TButton; Edit2: TEdit;
Button6: TButton; Button7: TButton;Button8: TButton; Button9: TButton; Shape3:
TShape; ScrollBox1: TScrollBox;Panel1: TPanel; PaintBox1: TPaintBox; Shape1: TShape;
BitBtn1: TBitBtn;BitBtn22: TBitBtn; BitBtn2: TBitBtn; BitBtn7: TBitBtn; Timer6: TTimer;
Button10: TButton; SG2: TStringGrid; Edit5: TEdit; Label9: TLabel; Edit3: TEdit; Label10: TLabel;
Label11: TLabel; Edit4: TEdit; Memo1: TMemo; DT1: TpFIBTransaction; DS1: TpFIBDataSet;
DS2: TpFIBDataSet; DataSource1: TDataSource; DataSource2: TDataSource; DBG1: TDBGrid;
DBG2: TDBGrid; DB: TpFIBDatabase; Button14: TButton; Button15: TButton; CB2: TCheckBox;
DataSource3: TDataSource; Button17: TButton; DS3: TpFIBDataSet; DBGrid1: TDBGrid;
Label1: TLabel; Button16: TButton; Button11: TButton; OPD: TOpenPictureDialog; CB1: TCheckBox;
procedure Shape1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Shape1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Shape1MouseMove(Sender: TObject; Shift: TShiftState; X,Y: Integer);
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject);
procedure PaintBox1MouseMove(Sender: TObject; Shift: TShiftState; X,Y: Integer);
procedure Button3Click(Sender: TObject);procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);procedure Button6Click(Sender: TObject);
procedure Button7Click(Sender: TObject);procedure Button8Click(Sender: TObject);
procedure Button9Click(Sender: TObject);procedure BitBtn22Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject); procedure BitBtn2Click(Sender: TObject);
procedure BitBtn7Click(Sender: TObject); procedure Timer6Timer(Sender: TObject);
procedure Button10Click(Sender: TObject); procedure Button14Click(Sender: TObject);
procedure Button15Click(Sender: TObject); procedure Button17Click(Sender: TObject);
procedure Button16Click(Sender: TObject);procedure FormDestroy(Sender: TObject);
procedure Button11Click(Sender: TObject);procedure pb_Display_Paint(Sender: TObject;ii:integer);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;
type
T2DFace = Array [0..2] Of TPoint;
BMPPar = record
CenterX, CenterY: Integer;B : TBitmap;Value : Integer; PntArray, OrgPntArray : T2DFace;
end;
TVect = record
X,Y:real; L,F,dx:real; Next:integer;
end;
TDat = record
RealX,RealY:real; DeltX,DeltY:real; L,arc,t:real;
end;
TVagon = record
Pos:TPoint; ygol:real; PerT,ZadT:TPoint; Vector:TDat;
end;
TS = record
X,Y,L : Real; dx,dy,Len:real; NVec:integer; xx,yy : Integer; shape : Integer;
PtSp : Integer; // Spline point number;
Sp : Integer; // Spline Number; Edit1.Text:=IntToStr(UpDown1.Position);
Pos : Integer; // Point Position
Hint : string;
end;
Tp = array [1..4] of TPoint;
const CHRS : array [1..4] OF CHAR =('A','B','C','D') ; n=5;
var
Form2: TForm2; EnabledMove, DraggingPt : Boolean;
SH : array [0..100] of TShape; // Shapes
S : array [0..100] of TS; // Shapes prop
PB : array [0..100] of Tp; // Beziers
Vec: array [0..100] of TVect; // Вектора
PromDat: array [0..100] of TDat; Vagon: array [0..100] of TVagon;
qr: array [0..4]of Tpoint; Rop: array [0..100, 0..3] of Tpoint;Bbb : array [0..5] of BMPPar;
Cent: array [0..100] of Tpoint; dfi:real; rectan:Trect; Nos,kol,Popo,L,IndDraggingPt, r,rr:integer;
x0,y0,x1,y1,x2,y2,x3,y3,a1,b1,c1,d1,e1,f1,g1,h1,j1,k1,px,py:real;
q,qq,ww,ee,bb,cc,tyy,txx,w,e,arcc,ty,tx:real Step, t, x,y: single;
procedure apr(x0,y0,x1,y1,x2,y2,x3,y3:real;L:integer);forward;
implementation
{$R *.dfm}
uses Unit1, UnitGL;
### Функции и процедуры отрисовки вспомогательных линий ###
function PtEm(x, y: Integer; Pt: TPoint): Boolean;
begin
result := (Pt.X >= x-2) and (Pt.X <= x+2) and (Pt.y >= y-2) and (Pt.y <= y+2);
end;
procedure Mov(P: TPoint);
begin
Form2.PaintBox1.Canvas.MoveTo(P.x, P.Y);
end;
procedure Lin(PFrom: TPoint; PTo: TPoint; C: TColor);
begin
Form2.PaintBox1.Canvas.Pen.Color := C; Mov(PFrom);
Form2.PaintBox1.Canvas.LineTo(PTo.X, PTo.Y);
end;
procedure Des(P: TPoint; C: TColor; Brush: TColor);
begin
Form2.PaintBox1.Canvas.Pen.Color :=C; Form2.PaintBox1.Canvas.Brush.Color := Brush;
Form2.PaintBox1.Canvas.Rectangle(P.X-2, P.Y-2, P.X+2, P.Y+2);
end;
### Процедура рекурсивного алгоритма де Кастельжо ###
procedure apr(x0,y0,x1,y1,x2,y2,x3,y3:real;L:integer);
begin
a1:=(x0)+(x1-x0) / 2; b1:=(y0)+(y1-y0) / 2; c1:=(x1)+(x2-x1) / 2; d1:=(y1)+(y2-y1) / 2;
e1:=(x2)+(x3-x2) / 2; f1:=(y2)+(y3-y2) / 2; g1:=(a1)+(c1-a1) / 2; h1:=(b1)+(d1-b1) / 2;
j1:=(c1)+(e1-c1) / 2; k1:=(d1)+(f1-d1) / 2; pX:=(g1)+(j1-g1)/2; pY:=(h1)+(k1-h1)/2;
Form2.PaintBox1.Canvas.Brush.Color:=RGB(L*24,L*48,255);
Form2.PaintBox1.Canvas.Ellipse((Trunc(px)-10),
(Trunc(py)-10),(Trunc(px)+10),(Trunc(py)+10)); L:=L+1;
if L=n then exit;
apr(x0,y0,a1,b1,g1,h1,px,py,L);
a1:=(x0)+(x1-x0) / 2; b1:=(y0)+(y1-y0) / 2; c1:=(x1)+(x2-x1) / 2; d1:=(y1)+(y2-y1) / 2;
e1:=(x2)+(x3-x2) / 2; f1:=(y2)+(y3-y2) / 2; g1:=(a1)+(c1-a1) / 2; h1:=(b1)+(d1-b1) / 2;
j1:=(c1)+(e1-c1) / 2; k1:=(d1)+(f1-d1) / 2; pX:=(g1)+(j1-g1)/2; pY:=(h1)+(k1-h1)/2;
apr(px,py,j1,k1,e1,f1,x3,y3,L);
end;
### Установка опорных точек кривой Безье и вызов рекурсии ###
procedure SetSpline(n : Integer);
begin
x0:=PB[n,1].x; y0:=PB[n,1].y; x1:=PB[n,2].x; y1:=PB[n,2].y; x2:=PB[n,3].x;
y2:=PB[n,3].y; x3:=PB[n,4].x; y3:=PB[n,4].y; apr(x0,y0,x1,y1,x2,y2,x3,y3,L);















