Анализ графиков релаксации напряжений с использованием Delphi 2011

Проблема обработки экспериментальных данных при изучении кривых релаксации эпоксидных полимеров. Рассмотрение графиков зависимости напряжения от времени. Разработка алгоритма нахождения координат узловых точек для анализа экспериментальных данных.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 02.02.2019
Размер файла 374,7 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Анализ графиков релаксации напряжений с использованием Delphi 2011

Жунисбеков Т.М., Шевцов А.Н., Джакияев Д.К., Юсупова Л.Х., ТарГУ им. М.Х. Дулати, Тараз

При изучении кривых релаксации эпоксидных полимеров часто возникает проблема обработки экспериментальных данных [1]. Рассмотрим графики зависимости напряжения от времени (Рис.1.). Отсканируем график, для его последующего компьютерного анализа.

релаксация эпоксидный напряжение полимер

Рис. 1. Отсканированные графики релаксации напряжений

Как видно из графика: напряжения заданы в пределе от 0 до 5000 на вертикальной координате, а время в пределах от 1 до 8. Причем есть два графика и узловые точки каждого графика.

Разработаем алгоритм нахождения координат узловых точек. Для этого пометим один пиксель каждой узловой точки 1-го графика - синим цветом, 2-го графика - красным цветом, а точки на координатных осях - зеленым (Рис.2.). Составим программу на языке Delphi-2011 для поиска пикселей красного, зеленого и синего цветов. После того как найденны координаты каждого цветного пикселя, необходимо найти точку начала координат, определить масштаб по осям Ох и Оу и перевести координаты всех узловых точек в масштаб координатных осей графика.

Рис. 2. Разноцветные пиксели на отсканированном графике

Создадим форму, разместим на ней кнопку и три компонента Memo - для сохранения найденных координат точек (Рис.3.).

Рис. 3. Окно программы

Получим следующий алгоритм программы:

procedure TForm1.Button1Click(Sender: TObject);

type

TRGB = record B, G, R: Byte;

end;

pRGB = ^TRGB;

var bit:tbitmap;

i,j:integer;

Dest: pRGB;

begin

bit:=tbitmap.Create;

bit.LoadFromFile('0 001.bmp');

memo1.Clear; memo2.Clear; memo3.Clear;

image1.Picture.Bitmap:=bit;

for I := 0 to bit.Height - 1 do

begin

Dest := Bit.ScanLine[i];

for j := 0 to bit.Width - 1 do

begin

if (Dest^.r=0)and(Dest^.g=255)and(Dest^.b=0) then

memo1.Lines.Add(floattostr(round((j-57)/112))+' '+floattostr(5000*round((bit.Height-i-48)/578)));

if (Dest^.r=0)and(Dest^.g=0)and(Dest^.b=255) then

memo2.Lines.Add(floattostr(round(100*(j-57)/112)/100)+' '+floattostr(round(5000*(bit.Height-i-48)/578)));

if (Dest^.r=255)and(Dest^.g=0)and(Dest^.b=0) then

memo3.Lines.Add(floattostr(round(100*(j-57)/112)/100)+' '+floattostr(round(5000*(bit.Height-i-48)/578)));

Inc(Dest);

end;

end;

Button2.Click;

bit.Free;

end;

Создаем тип в формате RGB

Задаем переменные

Загружаем отсканированное изображение

Очищаем Memo

Сканируем изображение на наличие цветных точек

Сохраняем координаты:

найденной зеленой точки,

синей точки,

красной точки

Сортируем координаты по возрастанию

Процедура сортировки:

procedure TForm1.Sort(memo:tmemo);

var

xmin, I,k,xt: Integer;

begin

memo4.Clear;

xmin:=1;

for k := 1 to 900 do

begin

for I := 0 to memo.Lines.Count - 1 do

begin

xt:=trunc(100*strtofloat(GetToken(memo.Lines.Strings[i],' ',1)));

if xmin=xt then memo4.Lines.Add(memo.Lines.Strings[i]);

end;

Inc(xmin);

end;

memo.Text:=memo4.Text;

end;

procedure TForm1.Button2Click(Sender: TObject);

var

xmin, I,k,xt: Integer;

begin

memo4.Clear;

xmin:=strtoint(GetToken(memo1.Lines.Strings[0],' ',1));

for k := 1 to 8 do

begin

for I := 0 to memo1.Lines.Count - 1 do

begin

xt:=strtoint(GetToken(memo1.Lines.Strings[i],' ',1));

if xmin=xt then memo4.Lines.Add(memo1.Lines.Strings[i]);

end;

Inc(xmin);

end;

memo1.Text:=memo4.Text;

Sort(memo2);

Sort(memo3);

end;

Получим координаты узловых точек в масштабе осей графика (Рис.3.). Полученные данные, в дальнейшем, можно будет аппроксимировать для получения аналитического вида функции релаксации напряжений.

Разработанная программа позволяет анализировать любой график, находить координаты узловых точек, и отображать их в масштабе анализа экспериментальных данных.осей графика, что дает исследователю мощный алгоритм

Рис. 4. Результаты компьютерного анализа графиков

Литература

1. Джунисбеков Т.М., Кестельман В.Н., Малинин Н.И.. Релаксация напряжений в вязкоупругих материалах. - Алматы: ?ылым, 1998. -308с.

2. Nevzorov V. Delphi Russian Knowledge Base. -Chicago, USA. -2007, more than 4000 p.

Размещено на Allbest.ru


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.