maratThesis214

реклама
Учащийся школьного технопарка
СГТУ имени Гагарина Ю.А.
Марат Цконян
Руководитель:
доцент кафедры РТ
Трефилов П.А.
Реконструкция битвы при Марафоне средствами Processing 2.1.1
Введение
Марафонская битва — одно из крупнейших сухопутных сражений
греко-персидских войн, состоявшееся 12 сентября 490 г. до н. э .неподалёку
от греческого города Марафон.
В битве при Марафоне персидская армия потерпела сокрушительное
поражение.
Рис.1. Расстановка греков и персов
Боевые порядки греков и персов
Рис.2. Боевые порядки греков и персов
Войско персов состояло из представителей множества народов и
племён, подвластных империи Ахеменидов. Воины каждой народности
имели собственное оружие и доспехи. Подробное описание Геродота
утверждает, что персы и мидяне носили мягкие войлочные шапки, штаны и
пёстрые хитоны. Доспехи их были собраны из железных чешуек наподобие
рыбьей чешуи, щиты сплетены из прутьев. На вооружении они имели
короткие копья и большие луки с камышовыми стрелами. На правом бедре
находился меч-кинжал (акинак).
Греческая фаланга представляла собой плотное боевое построение
тяжеловооружённых воинов в несколько шеренг. Во время боя главной
задачей являлось сохранение её целостности: место павшего воина занимал
другой, стоявший за ним. Главным фактором, оказавшим влияние на
развитие фаланги, стало применение большого круглого щита (гоплона) и
закрытого шлема коринфского типа.
Как мы делали наш проект
Наименование
Греческ
ий воин
Персид
ский
воин с
мечом
Персид
ский
лучник
Конница
персов
Графический объект
Описание на языке Processing 2.1.1
void spart (float x,float y)
{
ellipse (x,y,af*7.5,bf*7.5);
line (x-af*4,y+bf*0.6,x+af*6,y+bf*0.6);
triangle (x+af*8,y+bf*0.6,x+af*6,y+bf*0.3,x+af*6,y+bf*1.2);
triangle (x+af*5,y+bf*2.4,x+af*1.6,y+bf*2.8,x+af*1.6,y+bf*2);
line (x+af*1.6,y+bf*3.4,x+af*1.6,y+bf*1.4);
}
void pers1(float x, float y, float c)
{
//fill(c);
triangle(x,y,x+a*4,y-8*b,x+8*a,y);
line(x+a,y-2*b,x-2*a,y-5*b);
line(x-2*a,y-5*b,x-0.4*a,y-b);
line(x-2*a,y-5*b,x-0.4*a,y-3.6*b);
//fill(cb);
}
void pers2(float x, float y, float c)
{
//fill(c);
triangle(x,y,x+a*4,y-8*b,x+8*a,y);
triangle(x+0.4*a,y-2*b,x+2*a,y-5*b,x+5*a,y-3.6*b);
line(x+5*a,y-1.6*b,x-a,y-4.8*b);
//fill(cb);
}
void horse (float x,float y)
{
triangle (x,y,x+a*3,y,x+a*1.5,y-b*4);
triangle (x-a*2,y,x+a*5,y,x+a*1.5,y+b*6);
ellipse (x+a*0.5,y+b*6,af*2,bf*2);
ellipse (x+a*2.5,y+b*6,af*2,bf*2);
line (x-a*2,y,x-a*13,y);
triangle (x-a*12,y,x-a*18,y,x-a*15,y+b*4);
triangle (x-a*12,y,x-a*13,y,x-a*12.5,y+b*6);
triangle (x-a*17,y,x-a*18,y,x-a*17.5,y+b*6);
triangle (x-a*17,y,x-a*17,y-b*4,x-a*18.5,y-b*2);
Боевой
слон
triangle (x-a*16.5,y-b*3.5,x-a*16.5,y-b*4.5,x-a*17,y-b*4);
triangle (x-a*17.2,y-b*2.5,x-a*17.7,y-b*2.5,x-a*17.3,y-b*0.5);
line (x+a*1,y-b*2,x-a*2,y-b*6);
line (x+a*1,y-b*2.5,x-a*1.6,y-b*6.3);
line (x-a*2,y-b*6,x-a*1.6,y-b*6.3);
triangle (x-a*4,y-b*8,x-a,y-b*8,x-a*2.5,y-bf*6);
}
void elephant (float x,float y)
{
ellipse (x+50,y+100,a*15,b*12);
triangle (x+a*11,y+100,x+a*8.5,y+b*32.5,x+a*12.5,y+b*32.5);
triangle (x+a*2,y+100,x-a*0.5,y+b*32.5,x+a*3.5,y+b*32.5);
ellipse (x-a*4,y+b*20,a*5.5,b*10);
triangle (x-a*5,y+b*18,x-a*5.5,y+b*20,x-a*4.5,y+b*20);
line (x-a*6.5,y+b*22,x-a*10.5,y+b*29);
line (x-a*10.5,y+b*29,x-a*9.5,y+b*30);
line (x-a*5.5,y+b*24,x-a*9.5,y+b*30);
line (x-a*5,y+b*23,x-a*5.5,y+b*23);
quad (x-a*3,y+b*14,x-a*3,y+b*18,xa*3,y+b*18,x+a*0.02,y+b*17);
}
Основное построение войск на поле битвы
Рис.3. Основное построение войск на поле битвы
Заключение
По окончанию моей работы над проектом, я увидел что мир пикселей
очень разнообразен и с его помощью можно нарисовать интересные и
забавные 2D постановки и в моем случае даже выполнить реконструкцию
исторического сражения . В ходе работы над проектом я научился
программировать на интересном языке Processing 2.1.1. Это была новая
ступень в моем изучении языков программирования, а также позволило
повысить уровень знания английского языка.
Скачать