Компьютерные модели

В нашем образовательном учреждении каждый год проходит научно практическая конференция «Студент. Время. Наука». Количество участников превышает 20 человек. Работа студентов группы 113 ПК  «Компьютерные модели» отмечена грамотами и сертификатами участника. Данное направление деятельности студентов является не только актуальным, но и довольно-таки интересным. В работе студенты поэтапно пробуют воссоздать аппликационную модель атома с помощь языка программирования паскаль.  Данной работой мы желаем...
Раздел Информатика
Класс -
Тип Другие методич. материалы
Автор
Дата
Формат docx
Изображения Есть
For-Teacher.ru - все для учителя
Поделитесь с коллегами:

Компьютерные моделиМинистерство общего и профессионального образования Свердловской области

Государственное бюджетное образовательное учреждение

среднего профессионального образования Свердловской области

«Слободотуринский аграрно - экономический техникум»










Компьютерные модели









Выполнили: студенты гр.113ПК

Бармин Александр

Домрачев Евгений

Руководитель: преподаватель














с. Туринская Слобода

2014 г.

Содержание



Введение

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

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

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

В основном это:

  • текстовые документы;

  • электронные таблицы;

  • презентации;

  • странички интернет ресурсов;

  • рисунки;

  • фото;

  • видеоролики.

Создавать текстовые документы, электронные таблицы, презентации, рисунки, фотографии и видео ролики мы можем.

А как создаются компьютерные модели? Это видео или рисунки, анимация или презентация. Сможем ли мы создать компьютерную модель не применяя специальных программ анимации, дизайна, 3D моделирования. Используя только инструментальную программу Паскаль.

Гипотеза. Если мы изучим основные аспекты построения компьютерной модели, то скорее всего мы сможем реализовать не сложный алгоритм в инструментальной программе Паскаль, то есть построить компьютерную модель.

Цель проекта построить компьютерную модель физического явления с помощью инструментальной программы Паскаль.

Для достижения цели нам необходима решить следующие задачи:

  • изучить принцип анимационных моделей;

  • построить экспериментальную модель;

  • построить модель физического явления.



Основная часть

Моделирование и его виды

Моделирование является одним из способов познания мира.

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

Для различных явлений и процессов бывают уместными разные способы моделирования с целью исследования и познания.

Объект, который получается в результате моделирования, называется моделью. Должно быть понятно, что это совсем не обязательно реальный объект. Это может быть математическая формула, графическое представление и т.п. Однако он вполне может заменить оригинал при его изучении и описании поведения.

Хотя модель и может быть точной копией оригинала, но чаще всего в моделях воссоздаются какие-нибудь важные для данного исследования элементы, а остальными пренебрегают. Это упрощает модель. Но с другой стороны, создать модель - точную копию оригинала - бывает абсолютно нереальной задачей. Например, если моделируется поведение объекта в условиях космоса. Можно сказать, что модель - это определенный способ описания реального мира.

Моделирование проходит три этапа:

  • Создание модели.

  • Изучение модели.

  • Применение результатов исследования на практике и/или формулирование теоретических выводов.

Видов моделирования огромное количество. Вот некоторые примеры типов моделей:

  • Математические модели. Это знаковые модели, описывающие определенные числовые соотношения.

  • Графические модели. Визуальное представление объектов, которые настолько сложны, что их описание иными способами не дает человеку ясного понимания. Здесь наглядность модели выходит на первый план.

  • Имитационные модели. Позволяют наблюдать изменение поведения элементов системы-модели, проводить эксперименты, изменяя некоторые параметры модели.

Над созданием модели могут работать специалисты из разных областей, т.к. в моделировании достаточно велика роль межпредметных связей.


Особенности компьютерного моделирования

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

Компьютерное моделирование - это в определенной степени, то же самое, описанное выше моделирование, но реализуемое с помощью компьютерной техники.

Для компьютерного моделирования важно наличие определенного программного обеспечения.

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

Очень часто компьютеры используются для математического моделирования. Здесь их роль неоценима в выполнении численных операций, в то время как анализ задачи обычно ложится на плечи человека.

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

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

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

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


Экспериментальная модель

Прежде чем приступить к построению компьютерной модели нам необходимо изучить технологию движения объектов в инструментальной программе Паскаль.

Паскаль (англ. Pascal) - язык программирования общего назначения. Один из наиболее известных языков программирования, используется для обучения программированию в старших классах и на первых курсах вузов, является базой для ряда других языков

Нарисуем объект (рис.1). Для этого в программе Паскаль напишем текст программы:

program krug; {Наименование программы}

uses GraphABC; {Подключаемые модули}

begin {Начало программы}

setbrushcolor(clblue); {Закрашиваем круг}

setpencolor(clblue); {Закрашиваем линию круга}

circle(100,200,30); {Координаты расположения круга и его радиус}

end. {Конец программы}

Компьютерные модели

Рисунок Объект

Основа движения- это повторяющееся объекты, поэтому изменим программу, чтобы объекты повторялись (рис.2).

Текст программы:

For i:=1 to 699 do {Задаем цикл для круга}

begin {Начало цикла}

setpencolor(clblue); {Закрашиваем линию круга}

circle(x,200,30); {Координаты расположения, размера и радиуса круга}

floodfill(x, 200,clblue); {Закрашиваем цвет круга}

x:=x+65; {Следующий шаг или сдвиг по оси Х}

end; {Конец цикла}

Компьютерные модели

Рисунок Объект повторения

Круги появляются постепенно, если закрашивать предыдущие, то появляется эффект движения (рис.3).

Дополним текст программы:

SetPenColor(clWhite); {Закрашиваем линию круга}

Компьютерные модели

Рисунок Объект движения

В компьютерной модели предполагается движение по окружности, для этого мы изучили построение основных математических функций синус, косинус и др. И наложили движение объекта на график математической функции (рис.4). В этом случае программа существенно усложнилась.

(полный текст программы представлен в приложении 1.)

Текст программы:

for x_ekr:=0 to 799 do { цикл от края до края экрана }

begin

x:=x_ekr-400; { вычисляем значение аргумента }

y:=Sin(x/50); { вычисляем значение функции }

y_ekr:=round(300-y*50); { переводим в "экранные" координаты }

putpixel(x_ekr,y_ekr,Clgreen); { рисуем точку на графике }

end; {Конец цикла}

begin

LockDrawing;

for x1:=0 to 799 do

begin

y1:=round(300+50*cos(x1/50));

SetPenColor(ClBlue);

Circle(x1,y1,10);

Redraw;

Sleep(25);

end. {Конец программы}

Компьютерные модели

Рисунок Функция синус

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

Компьютерная модель атома

Приступим к созданию модели атома. Рассмотрим существующие модели: ядро атома, обычно располагается в центре модели; электрон как правило движущийся объект, двигается по стационарной орбите вокруг ядра.

Такую не сложную модель атома возможно реализовать с помощью инструментальной программы Паскаль.

Сначала создадим изображение атома. Напишем алгоритм программы на языке программирования Паскаль (рис.5).

(полный текст программы представлен в приложении 2.)

Текст программы:

Program Atom1;

uses graphABC,crt;

const Ra=100; {радиус атома}

Rc=15; {радиус ядра}

Re=10; {радиус электрона}

var cx, cy :integer;

Компьютерные модели

Рисунок Ядро

Чтобы будущая модель имела более эффектный вид, из окружности сделаем эллипс, то получится эффект объемной модели. Дополним программу коэффициентом сжатия окружности (рис.6).

Заменим строчку circle(cx+100,cy,Re); на строчку Ellipse(cx-100,cy-40,cx+100,cy+40); (полный текст программы представлен в приложении 3.)

Компьютерные модели

Рисунок Атом в объёме

Придадим движение электрону по намеченной орбите, для этого дополним программу циклом повторения изображения электрона с точкой, точка обозначает орбиту вместо линии (рис.7).);

(полный текст программы представлен в приложении 4).

Текст программы:

while not keypressed do {повторять, пока не нажата любая клавиша }

begin

x:=round((Ra-Dr)*cos(I))+cx; y:=round(k*(Ra-Dr)*sin(i))+cy; {определить координаты электронов}

setpencolor(clBlue); {установить синий цвет и нарисовать электроны}

circle(x,y,Re);

setpencolor(clred);

circle(x,y,Re-5);

delay(Step);

setpencolor(clWhite); {нарисовать электроны цветом фона}

circle(x,y,Re);

i:=i+Step1; {задать изменение положения электронов}

end; {конец цикла}

Компьютерные модели

Рисунок Компьютерная модель атома

Данная модель может считаться простейшей компьютерной моделью атома.

Дополним модель электронами с разными орбитами и разной степенью сжатия орбиты (рис.8)).

(полный текст программы представлен в приложении 5).

Компьютерные модели

Рисунок Компьютерная модель атома Гелий



Заключение

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

В результате выполнения практического проекта мы полностью достигли заявленной цели: построили компьютерную модель физического явления с помощью инструментальной программы Паскаль. - мы построили компьютерную модель атома. Данную модель атома можно демонстрировать на уроках физики, химии, как в нашем образовательном учреждении, так и в школе.

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

В дальнейшем мы планируем продолжить изучение данного направления, но с использованием специального программного обеспечения.



Литература


  1. В.В. Александрова, И.В. Симонова, О.А. Тарасова «Компьютерное моделирование пространственных форм», BHV-СПб, 2011;

  2. Л.Н. Бахвалов «Компьютерное моделирование», М., «МЦНМО», 2009;

  3. А.В. Немухин «Компьютерное моделирование в нашей жизни», М, 2005;

  4. images.yandex.ru;

  5. ru.wikipedia.org.



Приложение 1

Текст программы движения объекта

по графику математической функции y=sin x

program sin_y; {Наименование программы}

uses GraphABC; {Подключаемый модуль}

var {Переменные}

x,y : real; {Переменные с }

x1,y1 : integer;

cx, cy, x_ekr,y_ekr : integer; {Переменные с целыми числами}

begin {Начало программы}

setfontsize(20); {Размер шрифта}

textout(380,10,'y'); {Подпись оси У}

textout(780,270,'x'); {Подпись оси Х}

textout(410,305,'0'); {Начало координат}

textout(40,40,'y=sin x'); {Наименование графика}

setpenwidth(2); {Толщина линий}

SetPenColor(ClBlue); { цвет линий }

Line(10,300,790,300); { ось Ox }

Line(790,300,770,290); {Стрелочка оси Х}

Line(790,300,770,310);

Line(400,10,400,590); { ось Oy }

Line(400,10,390,30); {Стрелочка оси У}

Line(400,10,410,30);

for x_ekr:=0 to 799 do { цикл от края до края экрана }

begin

x:=x_ekr-400; { вычисляем значение аргумента }

y:=Sin(x/50); { вычисляем значение функции }

y_ekr:=round(300-y*50); { переводим в "экранные" координаты }

putpixel(x_ekr,y_ekr,Clgreen); { рисуем точку на графике }

end; {Конец цикла}

begin

LockDrawing;

for x1:=0 to 799 do

begin

y1:=round(300+50*cos(x1/50));

SetPenColor(ClBlue);

Circle(x1,y1,10);

Redraw;

Sleep(25);

end;

end;

end. {Конец программы}



Приложение 2

Текст программы изображения атома

Program Atom1;

uses graphABC,crt;

const Ra=100; {радиус атома}

Rc=15; {радиус ядра}

Re=10; {радиус электрона}

var cx, cy :integer;

begin

cx:=windowwidth div 2; {определить центр экрана- положение ядра}

cy:=windowheight div 2;

setfontsize(15); //пишем текст

SetFontColor(clGreen);

SetFontStyle(fsBold);

textout(cx-65,20,'Модель атома');

setbrushcolor(clYellow);

circle(cx,cy,Rc);//наисовать ядро атома

setpencolor(clRed); //нарисум плюс

setpenwidth(3);

line(cx-7, cy, cx+7, cy);

line(cx, cy-5, cx, cy+5);

setbrushstyle(bsClear);

setpencolor(clBlue);//Нарисуем орбиту электрона

setpenwidth(1);

circle(cx,cy,Ra);

setpencolor(clBlue); //наисовать Элекрон

setbrushcolor(clWhite);

setpenwidth(2);

circle(cx+100,cy,Re);

setpencolor(clRed);//минус

setpenwidth(2);

line(cx+95, cy, cx+105, cy);

setbrushstyle(bsClear);

end.




Приложение 3

Текст программы изображения атома в объеме.

Program Atom2;

uses graphABC,crt;

const Ra=100; {радиус атома}

Rc=15; {радиус ядра}

Re=7; {радиус электрона}

Dr=30; {параметр изменения координат электрона}

var cx, cy:integer;

begin

cx:=windowwidth div 2; {определить центр экрана- положение ядра}

cy:=windowheight div 2;

setfontsize(15); //пишем текст

SetFontColor(clGreen);

SetFontStyle(fsBold);

textout(cx-65,20,'Модель атома');

setbrushcolor(clYellow); //нарисовать ядро атома

circle(cx,cy,Rc);

setpencolor(clRed);// Плюс

setpenwidth(3);

line(cx-7, cy, cx+7, cy);

line(cx, cy-5, cx, cy+5);

setbrushstyle(bsClear);

setpencolor(clBlue); //нарисуем орбиту

setpenwidth(1);

Ellipse(cx-100,cy-40,cx+100,cy+40);

setpencolor(clBlue); //Нарисуем электрон

setbrushcolor(clWhite);

setpenwidth(2);

circle(cx+100,cy,Re);

setpencolor(clRed); //Напишем минус

setpenwidth(2);

line(cx+95, cy, cx+105, cy);

setbrushstyle(bsClear);

end.




Приложение 4

Текст программы компьютерной модели атома

Program Atom3;

uses graphABC,crt;

const Ra=200; {радиус атома}

Rc=15; {радиус ядра}

Re=6; {радиус электрона}

k=0.5; {коэффициент сжатия орбит электронов}

Dr=50; {параметр изменения координат электрона}

Step1=0.1; {шаг изменения положения электрона}

Step=50; {время задержки - скорость движения электронов}

var cx, cy, y, y1, y2, x, x1, x2, x3,y3:integer;

I, I1, I2, I3: real; gd, gm: integer;

begin

cx:=windowwidth div 2; {определить центр экрана- положение ядра}

cy:=windowheight div 2;

setfontsize(15); //пишем текст

SetFontColor(clGreen);

SetFontStyle(fsBold);

textout(cx-65,20,'Модель атома');

setbrushcolor(clYellow); //нарисовать ядро атома

circle(cx,cy,Rc);

setpencolor(clRed);

setpenwidth(3);

line(cx-7, cy, cx+7, cy);

line(cx, cy-5, cx, cy+5);

setbrushstyle(bsClear);

while not keypressed do {повторять, пока не нажата любая клавиша }

begin

x:=round((Ra-Dr)*cos(I))+cx; y:=round(k*(Ra-Dr)*sin(i))+cy; {определить координаты электронов}

setpencolor(clBlue); {установить синий цвет и нарисовать электроны}

circle(x,y,Re);

setpencolor(clred);

circle(x,y,Re-5);

delay(Step);

setpencolor(clWhite); {нарисовать электроны цветом фона}

circle(x,y,Re);

i:=i+Step1; {задать изменение положения электронов}

end; {конец цикла}

end.



Приложение 5

Текст программы компьютерной модели атома

(4 электрона)

Program Atom4;

uses graphABC,crt;

const Ra=100; {радиус атома}

Rc=15; {радиус ядра}

Re=8; {радиус электрона}

k=0.5; {коэффициент сжатия орбит электронов}

Dr=30; {параметр изменения координат электрона}

Step1=0.2; {шаг изменения положения электрона}

Step=100; {время задержки - скорость движения электронов}

var cx, cy, y, y1, y2, x, x1, x2, x3,y3:integer;

I, I1, I2, I3: real; gd, gm: integer;

begin

cx:=windowwidth div 2; {определить центр экрана- положение ядра}

cy:=windowheight div 2;

setfontsize(15); //пишем текст

SetFontColor(clGreen);

SetFontStyle(fsBold);

textout(cx-65,20,'Модель атома');

setbrushcolor(clYellow);//нарисовать ядро атома

circle(cx,cy,Rc);

setpencolor(clRed);//нарисум плюс

setpenwidth(3);

line(cx-7, cy, cx+7, cy);

line(cx, cy-5, cx, cy+5);

i:=pi/4; {задать начальное положение 4 электронов}

i1:=-pi/4;

i2:=-pi/2;

i3:=pi/2;

setbrushstyle(bsClear);

while not keypressed do {повторять, пока не нажата любая клавиша }

begin

x:=round(Ra*cos(i))+cx; Y:=round(k+Ra*sin(i))+cy; {определить координаты электронов}

x1:=round((Ra+Dr)*cos(i1))+cx; y1:=round(k*(Ra+Dr)*sin(i1))+cy;

x2:=round((Ra-Dr)*cos(I2))+cx; y2:=round(k*(Ra-Dr)*sin(i2))+cy;

x3:=round((Ra-Dr)*cos(I3)*2.3)+cx; y3:=round (k*(Ra-Dr)*sin(I3)*2.3) +cy;

setpencolor(clBlue); {установить синий цвет и нарисовать электроны}

setpenwidth(3);

circle(x,y,Re);

setpencolor(clred);

circle(x,y,Re-7);

setpenwidth(3);

circle(x1,y1,Re);

setpencolor(clGreen);

circle(x1,y1,Re-7);

setpenwidth(3);

circle(x2,y2,Re);

setpencolor(clFuchsia);

circle(x2,y2,Re-7);

setpenwidth(3);

circle(x3,y3,Re);

setpencolor(clPurple);

circle(x3,y3,Re-7);

delay(Step);

setpenwidth(3);

setpencolor(clWhite); {нарисовать электроны цветом фона}

circle(x,y,Re);

circle(x1,y1,Re);

circle(x2,y2,Re);

circle(x3,y3,Re);

i:=i+Step1; {задать изменение положения электронов}

i1:=i1-Step1;

i2:=i2+Step1;

i3:=i3+Step1;

end; {конец цикла}

end.


© 2010-2022