Учащийся школьного технопарка СГТУ имени Гагарина Ю.А. Марат Цконян Руководитель: доцент кафедры РТ Трефилов П.А. Реконструкция битвы при Марафоне средствами 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. Это была новая ступень в моем изучении языков программирования, а также позволило повысить уровень знания английского языка.