36
УНИВЕРЗИТЕТ У НОВОМ САДУ ФАКУЛТЕТ ТЕХНИЧКИХ НАУКА У НОВОМ САДУ Никола Кустудић ПРОЦЕДУРАЛНА ГЕНЕРАЦИЈА У ПРОЈЕКТОВАЊУ ЕНТЕРИЈЕРА МАСТЕР РАД Нови Сад, 2018

ПРОЦЕДУРАЛНА ГЕНЕРАЦИЈА У ПРОЈЕКТОВАЊУ …iaus.ac.rs/upload/download/Nagrade koje dodeljuje... · Teorija umetnosti ima zlatni presek, harmoniĉne

  • Upload
    others

  • View
    25

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ПРОЦЕДУРАЛНА ГЕНЕРАЦИЈА У ПРОЈЕКТОВАЊУ …iaus.ac.rs/upload/download/Nagrade koje dodeljuje... · Teorija umetnosti ima zlatni presek, harmoniĉne

УНИВЕРЗИТЕТ У НОВОМ САДУ

ФАКУЛТЕТ ТЕХНИЧКИХ НАУКА У НОВОМ САДУ

Никола Кустудић

ПРОЦЕДУРАЛНА ГЕНЕРАЦИЈА У ПРОЈЕКТОВАЊУ ЕНТЕРИЈЕРА

МАСТЕР РАД

Нови Сад, 2018

Page 2: ПРОЦЕДУРАЛНА ГЕНЕРАЦИЈА У ПРОЈЕКТОВАЊУ …iaus.ac.rs/upload/download/Nagrade koje dodeljuje... · Teorija umetnosti ima zlatni presek, harmoniĉne

УНИВЕРЗИТЕТ У НОВОМ САДУ ФАКУЛТЕТ ТЕХНИЧКИХ НАУКА

21000 НОВИ САД, Трг Доситеја Обрадовића 6

КЉУЧНА ДОКУМЕНТАЦИЈСКА ИНФОРМАЦИЈА

Редни број, РБР:

Идентификациони број, ИБР:

Тип документације, ТД: Монографска документација

Тип записа, ТЗ: Текстуални штампани материјал

Врста рада, ВР: Завршни мастер рад

Аутор, АУ: Никола Кустудић

Ментор, МН: Др Јелена Атанацковић-Јеличић

Наслов рада, НР: Процедурална генерација у пројектовању ентеријера

Језик публикације, ЈП: Српски / латиница

Језик извода, ЈИ: Српски

Земља публиковања, ЗП: Република Србија

Уже географско подручје, УГП: АП Војводина, Нови Сад

Година, ГО: 2018.

Издавач, ИЗ: Ауторски репринт

Место и адреса, МА: Нови Сад; трг Доситеја Обрадовића 6

Физички опис рада, ФО: (поглавља/страна/ цитата/табела/слика/графика/прилога)

(17/32/7/3/7/7/4)

Научна област, НО: Архитектура

Научна дисциплина, НД: Архитектонско и алгоритамско пројектовање

Предметна одредница/Кључне речи, ПО: Процедурална генерација, алгоритам, пројектовање ентеријера

УДК

Чува се, ЧУ: У библиотеци Факултета техничких наука, Нови Сад

Важна напомена, ВН:

Извод, ИЗ: Различити типови процедуралне генерације који се примењују у компјутерским и друштвеним играма се анализирају како би се дошло до алгоритма који распоређује елементе ентеријера у празан простор стамбене јединице. Анализом активности које се обављају унутар апартмана се долази до нумеричких података који се користе као улазни параметри. Из резултујућег алгоритма је формиран код који je описан у наставку рада. На крају рада су представљена решења добијена применом тог кода.

Датум прихватања теме,ДП:

Датум одбране, ДО:

Чланови комисије, КО: Председник:

Члан: Потпис ментора

Члан, ментор:

Page 3: ПРОЦЕДУРАЛНА ГЕНЕРАЦИЈА У ПРОЈЕКТОВАЊУ …iaus.ac.rs/upload/download/Nagrade koje dodeljuje... · Teorija umetnosti ima zlatni presek, harmoniĉne

UNIVERSITY OF NOVI SADFACULTY OF TECHNICAL SCIENCES

21000 NOVI SAD, Trg Dositeja Obradovića 6

KEY WORDS DOCUMENTATION

Accession number, ANO:

Identification number, INO:

Document type, DT: Monographic publication

Type of record, TR: Textual printed material

Contents code, CC: Master Thesis

Author, AU: Nikola Kustudić

Mentor, MN: Dr Jelena Atanacković-Jeličić

Title, TI: Procedural generation in interior design

Language of text, LT: Serbian

Language of abstract, LA: Serbian

Country of publication, CP: Republic of Serbia

Locality of publication, LP: Vojvodina, Novi Sad

Publication year, PY: 2018.

Publisher, PB: Author’s reprint

Publication place, PP: Novi Sad, Dositeja Obradovica sq. 6

Physical description, PD: (chapters/pages/ref./tables/pictures/graphs/appendixes)

(17/32/7/3/7/7/4)

Scientific field, SF: Architecture

Scientific discipline, SD: Architectural and algorithmic design

Subject/Key words, S/KW: Procedural generation, algorithm, interior design

UC

Holding data, HD: The Library of Faculty of Technical Sciences, Novi Sad, Serbia

Note, N:

Abstract, AB: Various types of procedural generation used in video and board games are analyzed in order to formulate an algorithm that will generate selected elements of an interior into an empty space of an apartment. Numerical data that will be used as the algorithms input is defined through analyzing activities that occur in the apartment. This is followed by an elaboration of the code formed from the resulting algorithm. The paper is concluded with examples of interiors generated through use of the code.

Accepted by the Scientific Board on, ASB:

Defended on, DE:

Defended Board, DB: President:

Member: Menthor's sign

Member, Mentor:

Page 4: ПРОЦЕДУРАЛНА ГЕНЕРАЦИЈА У ПРОЈЕКТОВАЊУ …iaus.ac.rs/upload/download/Nagrade koje dodeljuje... · Teorija umetnosti ima zlatni presek, harmoniĉne

УНИВЕРЗИТЕТ У НОВОМ САДУ ФАКУЛТЕТ ТЕХНИЧКИХ НАУКА

21000 НОВИ СА Д, Трг Д осите ја Обрадов и ћа 6

Број:

ЗАДАТАК ЗА ИЗРАДУ МАСТЕР РАДА Датум:

(Податке уноси предметни наставник - ментор)

Врста студија: Мастер академске студије

Студијски програм: Архитектура Руководилац студијског програма:

Др Јелена Атанацковић Јеличић

Студент: Никола Кустудић Број индекса: А1 59/2016

Област: Архитектонско пројектовање

Ментор: Др Јелена Атанацковић-Јеличић

НА ОСНОВУ ПОДНЕТЕ ПРИЈАВЕ, ПРИЛОЖЕНЕ ДОКУМЕНТАЦИЈЕ И ОДРЕДБИ СТАТУТА ФАКУЛТЕТАИЗДАЈЕ СЕ ЗАДАТАК ЗА МАСТЕР РАД, СА СЛЕДЕЋИМ ЕЛЕМЕНТИМА:

- проблем – тема рада; - начин решавања проблема и начин практичне провере резултата рада, ако је таква провера

неопходна; - литература

НАСЛОВ МАСТЕР РАДА:

ПРОЦЕДУРАЛНА ГЕНЕРАЦИЈА У ПРОЈЕКТОВАЊУ ЕНТЕРИЈЕРА

ТЕКСТ ЗАДАТКА: Користећи принципе процедуралне генерације, дефинисати алгоритам који елементе ентеријера уцртава у основу стамбене јединице, тако да резултат формира функционалан склоп.

Руководилац студијског програма: Ментор рада:

Примерак за: - Студента; -Ментора

Page 5: ПРОЦЕДУРАЛНА ГЕНЕРАЦИЈА У ПРОЈЕКТОВАЊУ …iaus.ac.rs/upload/download/Nagrade koje dodeljuje... · Teorija umetnosti ima zlatni presek, harmoniĉne

0

1.Uvod 1

2. Tipovi proceduralne generacije 2

2.1 Distribucija 3

2.2 Parametrijska metoda 3

2.3 „Tile-based“ metoda 4

2.4 Gramatika 6

2.5 „Constraint solvers“ 6

2.6 Agenti i simulacije 7

3. „Dwarf Fortress“ kao primer mogućnosti proceduralne generacije 8

4. Definisanje strukture 11

5. Hronološka analiza aktivnost 12

6. Analiza kuhinja 16

7. Definisanje osnove 19

8, Elementi 22

9. Kod 24

10. Zaključak 30

11. Literatura 31

Page 6: ПРОЦЕДУРАЛНА ГЕНЕРАЦИЈА У ПРОЈЕКТОВАЊУ …iaus.ac.rs/upload/download/Nagrade koje dodeljuje... · Teorija umetnosti ima zlatni presek, harmoniĉne

1

1. Uvod

Proceduralna generacija je algoritamsko stvaranje sadržaja video igre sa

ograničenim ili indirektnim korisničkim unosom podataka. Drugim rečima, proceduralna generacija se odnosi na kompjuterski softver koji sadržaj igre može stvoriti sam, kao i zajedno sa jednim ili više ljudskih igrača ili dizajnera. ( Togelius, 2011)

Proceduralna generacija je u računarstvu nastala 1970-ih godina, kao rešenje za izuzetno ograničavajuće mogućnosti memorije kompjutera. U godinama koje su

najpoznatije po igrama poput „Asteroida“ i „Space Invaders“-a, neki razvojni timovi

su sebi zadali dosta kompleksniji zadatak. „RPG“ (eng. Role-playing game; igra

uloga) je vrsta društvene igre u kojima učesnici preuzimaju uloge likova u priči koju vodi „game master“, iliti gospodar igre. Taj gospodar igre ostalim igračima detaljno prezentuje fantastični svet u kojem se njegova priča odvija, situacije u kojima se njihovi likovi nalaze, ostavljajući na igračima odluke koje određuju dalji sled

događaja. Ideja je bila da kompjuter bude taj koji vodi igru, da tekstualno i vizuelno

predstavlja priču koja se dešava, bića koja igrač susreće, blago koje nalazi. Ovo je

zahtevalo ogromnu količinu sadržaja, što nije bilo moguće predefinisati sa tadašnjom kompjuterskom memorijom. Ovaj problem je rešen tako što se sav sadržaj stvarao tokom same igre. Svi elementi tih svetova su definisani kroz nizove numeričkih vrednosti čijim je menjanjem dobijan veoma velik broj drugačijih elemenata i njihovih

spojeva. Na ovaj način je kompjuter uspešno preuzeo ulogu naratora. Vodeći igrača kroz generisani svet, uvek mu zadavajući drugačije zadatke, koji su dobijali razne forme tokom procesa igranja, prenet je doživljaj poput onog koji se dobija čitanjem dela epske fantastike.

Proceduralna generacija nije ograničena samo za stvaranje fantazije. Njeni principi se mogu koristiti i za dobijanje praktičnih rešenja. U ovom radu će se ti principi

primeniti u projektovanju enterijera apartmana. Kroz pregled različitih tipova proceduralne generacije analiziraju se načini na koji funkcionišu, rezultati koji se

njihovom primenom dobijaju, kao i njihova ograničenja. Zatim se kroz analizu

apartmana i procesa koji se u njemu obavljaju, dobijaju numerički podaci o odnosima između elemenata enterijera. U poslednjem delu rada je predstavljen

algoritam koji je napravljen po modelu nastalog prethodnim istraživanjima. Numerički

podaci o odnosima elemenata za se koriste kao unosni podaci algoritma , a kao

rezultat se dobijaju postavljeni elementi enterijera u prazan prostor apartmana,

dajući funkcionalno rešenje.

Page 7: ПРОЦЕДУРАЛНА ГЕНЕРАЦИЈА У ПРОЈЕКТОВАЊУ …iaus.ac.rs/upload/download/Nagrade koje dodeljuje... · Teorija umetnosti ima zlatni presek, harmoniĉne

2

2. Tipovi proceduralne generacije

U nekim poljima postoje napisani okviri koji opisuju principe funkcionisanja pri

stvaranju. Muzička teorija predložila je dosta pravila sastava, na primer, za džez improvizaciju, Bahov stil harmonije ili pop pesme. Teorija umetnosti ima zlatni presek,

harmonične boje i kompoziciju.

Kejt Kompton, članica razvojnog tima igara poput „Spore“ (Electronic Arts, 2008) i „Sim City“ (Maxis, 1989), koje dosta svojih karakterističnih odlika postižu putem proceduralne generacije, objašnjava proces kojim se dolazi do okvira za ovakav vid stvaralaštva:

„Korisno je pri pravljenju generatora sesti s nekim kome je struka praviti vrstu

artefakata koje želite generisati, kako bi vas proveli kroz proces stvaranja nečega. Kakva pitanja postavljaju sebi pri tom procesu? Kako donose odluke? Kako valorizuju

izbore? Kako opisuju različite probleme koje treba imati na umu? Kako nazivaju sve delove onoga što rade i sve odnose između njih?“ (Kompton, 2016)

Nažalost, znajući kako će čovek napraviti nešto nije isto što i sposobnost podučavanja računara kako to učiniti. Ljudi su dobri u proceni, nagađanju i sintetiziranju puno znanja iz prošlih situacija. Računari znaju samo ono što im kažete, a mnogi problemi zahtevaju više implicitno znanje nego što mislimo. Kompjuteri su zato dobri u izvođenju brojnih računa i isprobavanju brojnih mogućnosti. Tako metode

koje se koriste moraju pružiti način da računar reši probleme poput čoveka, ili barem na način da odražava neke od ljudskih sposobnosti. Kako tvrdi Kejt Kompton, metode koje su posebno dobre za pravljenje generatora (generativne metode) daju

računaru neke od sledećih veština:

• Enkapsuliranje znanja o mogućnostima

• Pravljenje neke strukture

• Kodiranje uslovnih pravila za opcije

• Stvaranje varijabilnosti u strukturi

• Mogućnost da postavi sebi pitanje o svojim ograničenjima (da li je problem rešen?)

U nastavku poglavlja će se analizirati različiti tipovi proceduralne generacije vodeći se sa ovih pet principa, sagledavajući načine kojima je definisan stvoreni prostor, njegovi činioci, odnosi koji te činioce međusobno povezuju, kao i njihovu vezu sa

prostorom.

Page 8: ПРОЦЕДУРАЛНА ГЕНЕРАЦИЈА У ПРОЈЕКТОВАЊУ …iaus.ac.rs/upload/download/Nagrade koje dodeljuje... · Teorija umetnosti ima zlatni presek, harmoniĉne

3

2.1 Distribucija

Ovo je najjednostavnija vrsta generativne metode. Na početku se kreće od interaktivnih elemenata igre i prostora i/ili vremena u kojima te elemente treba

rasporediti. Metode distribucije obično nemaju puno ukupne strukture, ali često su sofisticirane s mogućnošću odabira svake opcije . Nekad se pri distribuciji koristi nasumičnost, sa ili bez dodavanja dodatnih parametara, ili korišćenjem opcija nekim redosledom, izbacujući ih iz opticaja kada se iskoriste, time sprečavajući repetitivnost. Uslovna pravila takođe mogu biti vrlo složena, ali je u praksi teško implementirati određivanje proizvoljnih uslova. Većina sistema imaju pažljivo odabrane parametre koji se mogu postaviti za svaku opciju, a uslovne funkcije mogu

samo uporediti fiksne parametre kako bi se odabrali.

Na primeru „RPG“-a, lutajuća čudovišta se distribuiraju po područjima koja su im predodređena. Bića koja plivaju će se uvek nalaziti u područjima vode, podzemna bića nikad neće biti na površini. Postoji struktura u tome kako se distribuiraju, poput

nekoliko slabijih verzija čudovišta koja vode do najjače verzije, koja služi kao završetak poglavlja avanture. Blago se takođe distribuira; u oblastima gde je veća opasnost, veće su šanse da se dobija vrednije blago, nego u onima gde je

verovatnoća za sukobom manja.

2.2 Parametrijska metoda

U igri „No Man's Sky“ (Hello Games, 2016) ovakvom metodom je postignut velik spektar različitih vrsta životinja iz nekoliko detaljno razrađenih početnih modela. Svaki od tih početnih modela je podeljen na segmente, koji se putem algoritma na definisane načine mogu spajati i utapati jedne u druge. Takva varijabilnost je samo uz fiksne jednodimenzionalne numeričke puteve, a pritom uopšte nema varijabilnosti strukture. Može se stvoriti nešto "novo", ali ne i nešto iznenađujuće. Sofisticirani oblik parametrijskih metoda koristi druge oblike unosa podataka, a može generisati nove artefakte na temelju ne samo numeričkih, već i tačaka utemeljenih na putu i na temelju grafova. Drugi algoritmi za punjenje prostora i puteva su Voronoi obrasci1 ,

Perlin / Simplex noise (šum), triangulacijski algoritmi, 3D ekstruzija ili rotacija i dijamantni kvadratni algoritam za fraktalni teren. Ovi algoritmi su posebno pogodni

za interaktivne generatore, jer korisnik može pružiti ulazne parametre za generator.

1 U matematici, Voronojev dijagram je particionisanje ravni u oblasti zasnovano na udaljenosti od

tačaka iz određene podskupa ravni. Ovaj skup tačaka (zvanih semena, položaji ili generatori) unapred je određen, a za svakog generatora postoji odgovarajuća oblast koja se sastoji od svih tačaka bliže tom generatoru od bilo kojeg drugog. Ta područja nazivaju se Voronojeve ćelije.

Page 9: ПРОЦЕДУРАЛНА ГЕНЕРАЦИЈА У ПРОЈЕКТОВАЊУ …iaus.ac.rs/upload/download/Nagrade koje dodeljuje... · Teorija umetnosti ima zlatni presek, harmoniĉne

4

1 - Voronojev dijagram 2 - Perlin noise (šum)

2.3 „Tile-based“ metoda

„Tile-based“ pristup u prevodu znači „zasnovan na pločicama“. Polazna tačka ovakvog načina je segmentacija prostora na modularnu veličinu, i pravljenje niza različitih ručno izrađenih rešenja koja mogu ispuniti te segmente. Stvoreni prostor je samo različito postavljen skup prethodno izrađenih rešenja. Poznati primeri su društvene igre poput „Settlers of Catan“ (Kosmos, 1995) i „Betrayal at the House on the Hill“ (Avalon Hill, 2004). Ostrvo „Catan-a“, kao i vila u drugoj igri, su izgrađeni iz istih pločica svaki put, ali različito postavljenih, što u potpunosti menja tok igre. Neki od najstarijih oblika generativnog sadržaja su „Musikalisches Würfelspiel“ (sa nemačkog prevedeno kao „muzička igra sa kockicama“) iz 18og veka. Izum same igre se pripisuje Mocartu, iako ta činjenica nije potvrđena. Muzičke particije su numerisane, a svirane redosledom brojeva koji su dobijeni bacanjem kockica,

stvarajući igriv valcer.

Metode na bazi pločica izvrsne su za malu strukturu jer su same pločice predodređene, ali nemaju fleksibilnost za male strukture iz istog razloga. Strukture

velikih razmera je teže kontrolisati: može biti potpuno nasumična. Postoji više naprednih ograničenja oko kojih se pločice mogu nalaziti pored drugih pločica, ali je

tada potreban složeni algoritam za rešavanje kompatibilnih izgleda ("Plaža se može nalaziti pokraj džungle, ali ne može biti udaljena manje od dve pločice do rečne pločice... "). Pojedinačne pločice imaju vrlo čvrstu kapsulaciju mogućih opcija , jer svaka moguća pločica mora biti manuelno napravljena. Ovakvi sistemi nemaju

dovoljno znanja da sami dođu do dobrih novih pločica. Tile-based metode

funkcionišu za probleme koji se mogu razbiti u male delove gde je unutrašnja

Page 10: ПРОЦЕДУРАЛНА ГЕНЕРАЦИЈА У ПРОЈЕКТОВАЊУ …iaus.ac.rs/upload/download/Nagrade koje dodeljuje... · Teorija umetnosti ima zlatni presek, harmoniĉne

5

struktura važna, ali koja još uvek može stvoriti inovativna (ali ne i ograničavajuća) ponašanja kada se kombinuju različitim redosledima.

3 - "Settlers of Catan" društvena igra 4 - "Musikalisches Würfelspiel"

2.4 Gramatika

Gramatika je računarsko-naučni način kojim se govori da su velike složene stvari izrađene od drugih stvari, a te druge stvari mogu same biti napravljene od još jednostavnijih stvari. „Nested“ (Orteil, 2011) je primer ovoga. Svemir je napravljen od galaksija napravljenih od planeta koje su napravljene od kontinenata punih ljudi koji

su puni misli i snova, sećanja i atoma. Svaki elemenat ima raspodelu podelemenata od kojih bi mogao biti sastavljen. Nedostatak gramatike je to što nema načina rešavanja ograničena, osim ako su ograničenja implicitno kodirana u samoj gramatici (naprimer, ako se krevet može nalaziti samo u kući, samo kuća može imati krevet kao podelemenat). Teško je samo gramatičkim jezicima kodirati visok nivo odnosa između različitih stvari generisanih na različitim mestima u gramatici. Ovakvom metodom se može stvarati i geometrija, putem L-sistema. L-sistem ili

Lindenmajerov sistem je formalna gramatika koja je najpoznatija po primeni

modelovanja rasta procesa razvoja biljaka, ali i za modelovanje morfologije raznih

organizama. L-sistemi se mogu koristiti i za generisanje fraktala.

Page 11: ПРОЦЕДУРАЛНА ГЕНЕРАЦИЈА У ПРОЈЕКТОВАЊУ …iaus.ac.rs/upload/download/Nagrade koje dodeljuje... · Teorija umetnosti ima zlatni presek, harmoniĉne

6

2.5 „Constraint solvers“

„Constraint solvers“ (rešavači ograničenja) se u proceduralnoj generaciji koriste u

slučaju puno teških ograničenja, puno fleksibilne i složene strukture,a da se pritom ne zna struktura koja će sigurno rešiti ograničenja.

Najstarija, najjednostavnija verzija ovoga je „brute force“ (sirova snaga, eng.). Pravljenjem svake moguće varijante sadržaja, probavanjem svake opcije, testiranjem ograničenja dok se ne pronađe ono koje funkcioniše. Ovo je održivo rešenje za neke probleme, ali previše izbora će stvoriti niz mogućih artefakata za pretraživanje kojih može biti više od broja atoma u svemiru. I to će biti sporo. Kako bi se taj proces ubrzao, smišljeni su „rešavači opšte namene“ (general purpose solvers). Unošenjem ograničenja, kao i strukture i opcija (na jeziku koji ti rešavači mogu razumeti), naći će se sve prečice za skraćivanje vremena rešavanja „brute force“ načinom.

Ograničenja koja se koriste u ovoj metodi obično su putem nekih specifičnih domena. Nek popularni domeni su:

Bulijanovi (Boolean) domeni, gde su primenjiva samo „True/False“ ograničenja Celobrojni ili intidžer domeni, kao i racionalni domeni

Linearni domeni, gde se opisuju i analiziraju samo linearne funkcije (iako

postoje i pristupi nelinearnim problemima)

Konačni domeni, gde su ograničenja definisana preko konačnih skupova

Mešoviti domeni, koji uključuju dva ili više od gore navedenih

Page 12: ПРОЦЕДУРАЛНА ГЕНЕРАЦИЈА У ПРОЈЕКТОВАЊУ …iaus.ac.rs/upload/download/Nagrade koje dodeljuje... · Teorija umetnosti ima zlatni presek, harmoniĉne

7

2.6 Agenti i simulacije

Postoje algoritmi koji rešavaju probleme temeljene na kolonijalnom ponašanju mrava, ili društvenim komunikacijama svitaca. Mnogi drugi agenti i simulacije svoju inspiraciju crpe iz drugih delova prirode, poput jata ptica, evolucije, bakterija,

neurona i gradova.

Genetski algoritam je pretraživačka heuristika koja oponaša proces prirodne selekcije. Ova heuristika (takođe ponekad nazivana metaheuristika) se rutinski koristi da generiše korisna rešenja za optimizaciju i probleme pretrage . Oni generišu rešenja za optimizaciju problema korišćenjem tehnika insprisanih prirodnom evolucijom, kao što su nasleđivanje, mutacija, selekcija... Zahtevaju tri elementa:

elemant koji se može izmeniti ('genotip'), element koji se analizira ('fenotip') i način prevođenja prvog u drugi.

Ćelijski automat se sastoji od pravilne mreže ćelija, od kojih je svaka u jednom od stanja čiji je broj ograničen poput uključeno (1) i isključeno (0). Mreža može biti u bilo kojoj dimenziji, ali broj takvih dimenzija takođe nije beskonačan. Za svaku ćeliju, niz ćelija nazvanih njezinim susedstvom definiše se u odnosu na navedenu ćeliju. Početno stanje određuje se odabirom statusa za svaku od ćelija. Nova generacija se stvara prema nekom fiksnom tj. tačno određenom i nepromenjivom pravilu (uglavnom matematička funkcija) koje određuje novo stanje svake od ćelija zavisno od trenutnog stanja ćelije i stanja ćelija u njenom susedstvu. Najčešće, pravilo za "ažuriranje" ćelijskog stanja jednako je za svaku ćeliju i ne menja se tokom vremena i istovremeno se odnosi na celu mrežu. Međutim, postoje izuzeci; na primer, stohastički ćelijski automat i asinhroni ćelijski automat. Kanonski primer ćelijskih automata je „Game of Life“, tvorca Džona Konveja, u kojoj mnogi sitni automati u mreži, svaki sa vrlo jednostavnim ponašanjem, mogu dovesti do velikog broja čudnih ponašanja i pojava.

5 - kadar iz "Game of Life" simulacije

Page 13: ПРОЦЕДУРАЛНА ГЕНЕРАЦИЈА У ПРОЈЕКТОВАЊУ …iaus.ac.rs/upload/download/Nagrade koje dodeljuje... · Teorija umetnosti ima zlatni presek, harmoniĉne

8

3. „Dwarf Fortress“ kao primer mogućnosti proceduralne generacije

Da bi se pojasnilo do kog nivoa može ići proceduralna generacija putem kombinacije različitih metoda, kakve sve sklopove može stvarati, i kakve detalje može sadržati, analiziraće se jedna od kanonskih igara svog žanra, „Dwarf fortress“.

„Dwarf Fortress“ ( U prevodu Tvrđava patuljaka) je delom simulacija izgradnje i upravljanja, delom roguelike2 video igra koju su stvorili Tarn i Zach Adams. Igra je

besplatna, u razvoju od 2002. godine, a prva verzija je objavljena 2006. godine i

stekla je pažnju kao dvogodišnji projekat koji preživljava isključivo na donacijama. Primarni način igranja postavljen je u proceduralno generisanom fantastičnom svetu u kojem igrač posredno kontroliše skupinu patuljaka i pokušava izgraditi uspešnu i bogatu podzemnu tvrđavu. Kritičari hvale kompleksnu, imerzivnu igrivost, ali su imali

mešovite reakcije na njenu težinu. Igra je bila jak uticaj na dosta poznatiji Minecraft (Mojang, 2011).

Igra je jednostavne, tekstualne grafike i bez glavnih ciljeva. Pre igranja, igrač mora pokrenuti proces koji generiše svet sa kontinentima, okeanima i istorijom civilizacija tog sveta zadavanjem željenih početnih uslova iz ponude. Glavni način igre, „Fortress mode“ , sastoji se od odabira prikladnog mesta u generisanom svetu, uspostavljanja uspešne kolonije ili tvrđave, borbe protiv pretnji poput invazije goblina, stvaranja bogatstava i zbrinjavanja patuljaka. Svakom patuljku je generisana

jedinstvena ličnost, šta voli i šta ne voli, i poseduje specifične veštine koje mogu napredovati na različite načine (patuljci i ostala vića su agenti simulacije). Drugi glavni način igre, „Adventure mode“, igrač počinje kao pustolov u svetu i slobodan je istraživati proceduralno generisane tamnice, rešavati zadatke, ili čak i posećivati stare napuštene tvrđave, koje je u prethodnim ciklusima igranja pravio. Zadaci i

tamnice su generisani u zavisnosti od početnog terena, kao i „istorije“ sveta, distributivnom metodom. Način na koji se igrač bori protiv neprijatelja je veoma anatomski detaljan, ispisujući u „dnevnicima“ borbi događaje kao što su probijanja određenih organa, pravljenja masnica udarcima i lomljenja udova (gramatička metoda).

Prvi korak u igri je stvaranje sveta u kojem će se igra odvijati. Igrač može prilagoditi određene parametre koji regulišu veličinu, „divljaštvo“, mineralne pojave i trajanje istorije.Na mapi se prikazuju simboli koji predstavljaju ceste, brda, gradove i gradove

različitih civilizacija i menja se tokom generacije. Proces uključuje proceduralno generisane osnovne elemente (putem perlin noise-a) kao što su visine terena, 2 Roguelike je podžanr video-igara u kojima igrač preuzima ulogu junaka koji zalazi u dubine tamnica.

Podrazumeva proceduralno generisane nivoe,igranje po potezima, „tile-based“ grafiku i trajnu smrt karaktera. Većina roguelike igara temelji se na visokoj fantazijskoj priči, na kojoj se odražava uticaj društvenih igara kao što su Dungeons & Dragons (Wizards of the Coast, 1974)

Page 14: ПРОЦЕДУРАЛНА ГЕНЕРАЦИЈА У ПРОЈЕКТОВАЊУ …iaus.ac.rs/upload/download/Nagrade koje dodeljuje... · Teorija umetnosti ima zlatni presek, harmoniĉne

9

padavine, mineralnu raspodelu, drenažu tla i temperature . Na osnovu tih početnih parametara se ispunjavanjem uslova teren dalje razvija. Na primer, područje s velikim količinama padavina i slabom drenažom bi stvorilo močvaru. Područja se nakon toga kategorišu u biome koji imaju dve varijable: divljaštvo i moralno opredeljenje (dobri ili zli). Biomi imaju vlastite vrste biljnih i životinjskih populacija. Sledeća faza je erozija - koju simulira drenaža. Reke su stvorene praćenjem njihovih

staza od planina (koje su erodirane) do ušća, koji je obično okean; neke se pretvaraju u jezera, u zavisnosi od drugih faktora. Polje slanosti definiše okeane, mangrove ili aluvijalne ravne. Ĉak se i imena generišu za biome i reke. Imena zavise

od područja sa dobrom ili zlom varijablom. Iako se tokom igre zovu na engleskom jeziku, izvorno se nazivaju jezicima jedne od četiri glavne rase u igri: patuljaka, vilenjaka, ljudi i goblina.

6 - generisanje sveta u igri "Dwarf Fortress"

Page 15: ПРОЦЕДУРАЛНА ГЕНЕРАЦИЈА У ПРОЈЕКТОВАЊУ …iaus.ac.rs/upload/download/Nagrade koje dodeljuje... · Teorija umetnosti ima zlatni presek, harmoniĉne

10

Nakon generacije svet je naseljen bićima (agentima) i njegova se istorija razvija za količinu godina u prethodno odabranom istorijskom parametru. Civilizacija, rase i religije se šire, a ratovi se događaju, dok se brojčano "stanovništvo" i "smrtnost" povećavaju. Proces se zaustavlja na prethodno određenoj vrednosti „trenutne godine“ , u kojem trenutku svet može biti korišćen u bilo kojem od tri načina igre.

Celokupan svet sastavljen iz fragmenata informacija putem algoritma koji ih „slaže“ u skladu sa njihovim uslovima, kao rezultat stvarajući jednu kohezivnu formu i priču.

U martu 2013. godine Muzej moderne umetnosti u New Yorku izložio je „Dwarf Fortress“ između ostalih odabranih igara koje prikazuju istoriju video igara. Budući da izlaze novi dodaci igre, Muzej moderne umetnosti odmah ih preuzima i arhivira na

njihovom serveru.

Page 16: ПРОЦЕДУРАЛНА ГЕНЕРАЦИЈА У ПРОЈЕКТОВАЊУ …iaus.ac.rs/upload/download/Nagrade koje dodeljuje... · Teorija umetnosti ima zlatni presek, harmoniĉne

11

4. Definisanje strukture

Kako je cilj ovog rada postaviti elemente koji su standardizovanih dimenzija i osobina

u relativno mali predefinisani prostor, koristiće se pristup nasličniji onom razmatranog u poglavlju 2.3; prostor će se segmentisati na osnovu dimenzija najmanjeg činioca, a njegov oblik će biti generisan na osnovu međusobnih odnosa tih činilaca.

Kako bi se došlo do algoritma za proceduralnu generaciju koji bi raspoređivao

elemente enterijera, stvarajući ih u prostoru na odgovarajući način, potrebno je

precizno definisati željene osobine tih objekata. Određivanje potrebne pozicije određenog elementa treba svesti na numerički problem, kako bi se od ponuđenih pozicija tačno mogla odrediti ona koja najbolje ispunjava uslove. Analizom funkcija

koje su sadržane u apartmanu odrediće se odnosi između pojedinačnih elemenata na takav način da se dobiju numerički podaci, kako bi se oni mogli porediti.

Prostor koji će algoritam formirati je dosta precizno definisan: to je apartman koji se

nalazi na primorju, sa konkretnom funkcijom privremenog stanovanja tokom letnje

sezone. Ovako usko određena tipologija, kao i relativno male dimenzije zadatog

prostora su pogodne za analizu zbog malog broja različitih aktivnosti koje se mogu

odvijati u periodu korišćenja.

7 - osnova analiziranog apartmana

Page 17: ПРОЦЕДУРАЛНА ГЕНЕРАЦИЈА У ПРОЈЕКТОВАЊУ …iaus.ac.rs/upload/download/Nagrade koje dodeljuje... · Teorija umetnosti ima zlatni presek, harmoniĉne

12

5. Hronološka analiza aktivnosti

Aktivnosti tokom boravka su podeljene na one koje se obavljaju unutar apartmana i

na one koje se dešavaju van njega. Svako obavljanje ( ili ne obavljanje) jedne

aktivnosti je u uzročno-posledičnoj vezi sa ostalima, u zavisnosti od samog čina, kao i doba dana u kojem se dešava. Kao aktivnosti unutar apartmana se u nastavku rada

smatraju odmor (podrazumeva se popodnevni odmor kao i noćni, budući da se moraju obavljati u istom delu prostora zbog njegovih dimenzija) i obedovanje, to jest

korišćenje kuhinje i trpezarije za jelo i pripremu hrane (korišćenje kuhinje makar za

uzimanje escajga ili tanjira). Korišćenje kupatila se ne uzima u obzir kao aktivnost, već kao posledica pri obavljanju drugih radnji (pri povratku sa plaže, pred spavanje...)

Aktivnosti van apartmana su:

Odlazak na plažu

Odlazak u prodavnicu

Kafić

Restoran

Klub

Celodnevni izlet

Kako bi se kvantifikovala učestalost obavljanja određenih funkcija u toku dana primenjen je Zipfov zakon3 (grafički prilog 8). Verovatnoća obavljanja funkcije je podeljena u tri kategorije: velike, srednje i male verovatnoće, od koje je svaka duplo većeg intenziteta od sledeće. (grafički prilog 9)

3 George Kingsley Zipf je bio američki lingvista i filolog koji je studirao statističke pojave na različitim jezicima. Istraživao distribuciju reči u tekstu, i ustanovio da se mali broj reči pojavljuje vrlo često. Ako se reči poređaju po frekvenciji pojavljivanja onda je umnožak redosleda pojavljivanja sa frekvencijom pojavljivanja konstantan.

8 – Zipfov zakon

Page 18: ПРОЦЕДУРАЛНА ГЕНЕРАЦИЈА У ПРОЈЕКТОВАЊУ …iaus.ac.rs/upload/download/Nagrade koje dodeljuje... · Teorija umetnosti ima zlatni presek, harmoniĉne

13

Na isti način se kvantifikuju verovatnoće aktivnosti van apartmana u toku celokupnog boravka u njemu; smatra se da će korisnici odlaziti na plažu svaki dan, stavljajući plažu u prvu kategoriju; u drugoj kategoriji su prodavnica, kafić, klub, ili restoran (kafić klub i restoran će se računati kao ista aktivnost), a izlet spada u treću kategoriju.

9 - odnos verovatnoće obavljanja određene aktivnosti u odnosu na sate u toku dana

Page 19: ПРОЦЕДУРАЛНА ГЕНЕРАЦИЈА У ПРОЈЕКТОВАЊУ …iaus.ac.rs/upload/download/Nagrade koje dodeljuje... · Teorija umetnosti ima zlatni presek, harmoniĉne

14

Aktivnosti koje su razmatrane podrazumevaju manje-više određen proces kojim se one obavljaju ili proces koji se odvija nakon što su te aktivnosti obavljene. Taj proces

se odvija korišćenjem određenih delova apartmana. Naprimer, prilikom obedovanja, u kuhinji se priprema obrok (čak i u slučaju donošenja kupljenih obroka je potreban neki pribor iz kuhinje), pre pripreme i/ili konzumacije će se u kupatilu oprati ruke. Sam obrok će se pojesti u trpezariji, nakon toga će se u kuhinji oprati sudovi. Nakon

obroka će se u kupatilu oprati ruke, a posle toga će se nastaviti neka druga aktivnost. Ta aktivnost može biti odmor u dnevnoj sobi, ili neka aktivnost van

apartmana, što opet verovatno podrazumeva presvlačenje ili neku drugu pripremu u dnevnoj sobi. Grafički prikaz ovakvih procesa se nalazi na slici broj 10, sa

napomenom da se trpezarija posmatra kao deo kuhinje, budući da se ona isključivo koristi kad i kuhinja.

10 - redosled korišćenja prostorija pri ili nakon obavljanja određenih aktivnosti

Množenjem ukupne verovatnoće za određenu aktivnost sa grafika sa slike broj 9

(sabiranjem verovatnoće po svakom satu, a uzimanje vrednosti 3 za veliku, 2 za

srednju, a 1 za malu verovatnoću) sa brojem veza između prostorija prikazanih na slici 4, dobija se numerički odnos koji pokazuje koje prostorije se najčešće koriste jedna nakon druge prilikom boravka u apartmanu. Funkcionalna šema i tabelarni prikaz ovih odnosa je prikazan na prilogu broj 11.

Page 20: ПРОЦЕДУРАЛНА ГЕНЕРАЦИЈА У ПРОЈЕКТОВАЊУ …iaus.ac.rs/upload/download/Nagrade koje dodeljuje... · Teorija umetnosti ima zlatni presek, harmoniĉne

15

11 – grafički i tabelarni prikaz odnosa funkcionalnih celina

Podaci dobijeni ovom analizom jasno pokazuju na koji način prostorije u apartmanu trebaju da budu povezane, formirajući funkcionalnu šemu koja se ne razlikuje od rešenja kojim se dolazi heurističkim pristupom na kojem se zasniva arhitektonsko

projektovanje. Najbliže ulazu se postavlja kupatilo, koje ima najjaču vezu sa kuhinjom. Dnevna soba, iako dosta povezana sa kupatilom, ali u manjoj meri nego

kuhinja, ima slabije veze sa ulazom, samim tim, ne mora da bude u neposrednoj

blizini. Direktna veza između dnevne sobe i ulaza je uglavnom prilikom napuštanja stana, dok je veza između ulaza i kuhinje prilikom povratka u apartman iz prodavnice

sa namirnicama, koje treba ostaviti u ostavi ili frižideru.

Na ovaj način se dolazi do rasporeda kojim algoritam treba generisati prostorije:

1. Ulaz (koji je predefinisan osnovom)

2. Kupatilo

3. Kuhinja sa trpezarijom

4. Dnevna soba

Page 21: ПРОЦЕДУРАЛНА ГЕНЕРАЦИЈА У ПРОЈЕКТОВАЊУ …iaus.ac.rs/upload/download/Nagrade koje dodeljuje... · Teorija umetnosti ima zlatni presek, harmoniĉne

16

6. Analiza kuhinje

Kuhinja predstavlja najsloženi sklop u svim stambenim jedinicama. Njen oblik je kroz

istoriju često trpeo promene. U antičkoj Grčkoj, sobe u kućama su bile orijentisane ka atrijumu. U većem delu kuća, kuhinja je bila samo natkriveni deo tog atrijuma, u kom se hrana pripremala na otvorenoj vatri. Bogatiji pojedinci su za te potrebe imali

odvojenu prostoriju, ali je imala isti sadržaj. Uz tu prostoriju se često nalazila mala ostva za hranu i kuhinjski pribor. Sličan kuhinjski sklop se koristio i u antičkom Rimu. Rimske vile su sadržale kuhinju koja je bila odvojena od ostalih prostorija iz više razloga: pored toga što su kuhinju koristili robovi, iz kuhinje se širio dim prouzrokovan otvorenom vatrom. U tom periodu nisu postojali dimnjaci. U srednjem veku, problem

dima je rešen sa otvorom u najvišem delu krova, postavljajući ognjište u centralni deo objekta. „Kuhinjska zona“ se nalazila između tog ognjišta i ulaza. U dvorcima i manastirima tog perioda, kuhinje su često odvajane u zasebne objekte, tako da nisu

imale ni sekundarnu funkciju koja se u većini kuća podrazumevala: grejanje prostorija u kojima se živelo. U Japanu su tada nastali prvi vid kuhinjskih rerni zvanih „kamado“, napravljenih od maltera i gline. Sa izumom dimnjaka, toplotni izvor je

pomeren iz centra prostorije na jedan zid. Bez dima i prljavštine, ovo je omogućilo i definisanje dnevne sobe kao prostorije za socijalnu aktivnost i prikazivanje bogatstva

vlasnika (Thompson, 1992). Tek sa procesom industrijalizacije u osamnaestom veku je

kuhinja dobijala novu formu, putem različitih tehonoloških dostignuća. Pojavile su se gvozdene peći koje su u potpunosti zatvarale vatru. U devetnaestom veku domovi su počeli dobijati vodovodne instalacije, kao i gasno grejanje. Početkom dvadesetog veka je u domove uvedena struja, polako zamenjujući dotadašnje izvore toplote. U kuhinjama su se pojavili i ugradni kredenci koji su rešili problem skladištenja. U ovom periodu je počela optimizacija u industriji. Studije vremena i kretanja su korištene kako bi se skratio proces proizvodnje. (Taylor, 1911) Ovaj trend je

primenjen i na kuhinje u domaćinstvima, formirajući oblik kuhinje kakav danas poznajemo.

Analiza kuhinje koja sledi je inspirisana tejlorizmom, posmatrajući procese koji se svakodnevno obavljaju. Kako su za potrebe algoritma potrebni numerički pokazatelji kojim bi se formirali odnosi između pojedinačnih elemenata kuhinje, uzet je niz recepata sa kulinarskog web-sajta, deleći jela na deset kategorija pronađenih na sajtu. Prolazeći kroz recepte je beležena svaka interakcija između parova kuhinjskih elemenata. Naprimer, uzimanje jaja iz frižidera da bi ih skuvali, podrazumeva uzimanje lonca, sipanje vode u njega, stavljanje na ringlu, zatim uzimanje jaja iz

frižidera kako bi se stavila u lonac. Beleži se redom interakcija između radne površine

sa loncem i sudopere, zatim sudopere i ringle, ringle i frižidera i opet od frižidera do ringle. Kuhinjski elementi sami po sebi su uzeti kao predefinisani, sa unapred

određenim sadržajem koji se u njima nalazi: u radnoj površini se nalazi sav escajg,

pribor i lonci; u ostavi se nalazi hrana koja ne treba da stoji u fižideru; čaše su iznad

Page 22: ПРОЦЕДУРАЛНА ГЕНЕРАЦИЈА У ПРОЈЕКТОВАЊУ …iaus.ac.rs/upload/download/Nagrade koje dodeljuje... · Teorija umetnosti ima zlatni presek, harmoniĉne

17

sudopere, a začini se nalaze na polici iznad šporeta. Grafički prikaz analize recepata se nalazi na prilogu broj 12.

12 - redosled korišćenja određenih elemenata prilikom pripreme posmatranih jela

Page 23: ПРОЦЕДУРАЛНА ГЕНЕРАЦИЈА У ПРОЈЕКТОВАЊУ …iaus.ac.rs/upload/download/Nagrade koje dodeljuje... · Teorija umetnosti ima zlatni presek, harmoniĉne

18

Putem brojeva dobijenih iz ove analize se formira funkcionalna šema na isti način kao i prilikom analize odnosa veza između prostorija u prethodnom poglavlju. Šema i tabelarni prikaz se nalaze na slici broj 13.

13 – grafički i numerički prikaz odnosa između kuhinjskih elemenata

Zaključuje se sledeće: frižider treba da bude pored radne površine, dok sa njene druge strane treba da se nalazi sudopera, posle toga šporet. Sa strane frižidera treba da bude ostava. Početak pripreme većine jela se počinje uzimanjem sastojaka iz frižidera, a kako je najjača veza između kuhinje sa kupatilom, prema rezultatima

dobijenih u prvom poglavlju, frižider treba da bude postavljen sa orijentacijom ka

kupatilu. Ovo takođe odgovara i odnosu frižidera ,kao i ostave pored njega, sa ulazom; nakon svakog povratka iz prodavnice, u njima je potrebno odložiti kupljene namirnice.

Page 24: ПРОЦЕДУРАЛНА ГЕНЕРАЦИЈА У ПРОЈЕКТОВАЊУ …iaus.ac.rs/upload/download/Nagrade koje dodeljuje... · Teorija umetnosti ima zlatni presek, harmoniĉne

19

7. Definisanje osnove

Analizama iz prethodnih poglavlja utvrđena je struktura koja se treba formirati putem

algoritma. Generacija je moguća ukoliko se još definiše prostor u kojem će se elementi generisati, kao i uslovi koje elementi moraju ispunjavati kako bi bilo

omogućeno njihovo funkcionalno korišćenje.

Kako su elementi enterijera jedini činioci koji će ispunjavati prazan prostor apartmana, potrebno je sam apartman definisati tako da odgovara tim svojim

podelementima. Primeniće se ustaljeno rešenje u arhitektonskom projektovanju, modul 60 sa 60 centimetara, koji odgovara najmanjem elementu koji treba

generisati. Stan je podeljen na 12 vertikalnih i 11 horizontalnih osa, formirajući matricu. Sve dalje provere uslova će se obavljati putem podataka koji se nalaze u

tim matricama čija su polja preseci osa. Zidovi, vrata i prozori su formirani ne kao

elementi, već kao uslovi koji omogućavaju ili ne omogućavaju generisanje zadanih elemenata enterijera.

14 - ose rastera formiraju matricu

Page 25: ПРОЦЕДУРАЛНА ГЕНЕРАЦИЈА У ПРОЈЕКТОВАЊУ …iaus.ac.rs/upload/download/Nagrade koje dodeljuje... · Teorija umetnosti ima zlatni presek, harmoniĉne

20

Definisanje svih osobina posmatrane osnove je obavljeno putem 6 različitih matrica. Svaka matrica ima svoj tip uslova koje različiti elementi zahtevaju kako bi bili generisani, samim tim i funkcionalno postavljeni u enterijeru. Pregled svih matrica sa

uslovima se nalazi na slici broj 15.

Matrica „I“ je ispunjena karakterima „o“ i „x“. Simboli „x“ definišu gabarit prostora, u slučaju preseka osa 9 do 12 u vertikali sa osama 1 do 5 u horizontali. Ostalih šest polja obeleženih sa „x“ definišu prostor koji je potreban da bi se otvarala vrata. Ulazna

vrata su u presecima osa 1 i 2 vertikale i horizontale, vrata kupatila su definisana sa 4

polja koja se nalaze odmah do ulaznih. Vrata od balkona oduzimaju samo dva polja,

pošto se otvaraju ka spolja, tako da je potrebno manje prostora za njihovo

korišćenje. Simboli „o“ predstavljaju slobodan prostor koji je pogodan za generaciju elemenata, tako da će ovako obeležena polja preći u razmatranje u sledećoj matrici.

Matrica „II“ predstavlja zone koje su definisane za određenu funkciju. Simboli „w“ obeležavaju prostor kupatila, koji ne može da varira pošto je u odvojenoj prostoriji. Simboli „k“,“t“ i „d“ redom označavaju kuhinju, trpezariju i dnevnu sobu. Ove tri zone

nisu fiksno određene, njihov prostor nije definisan zidovima, već je aproksimativno zadata površina koju bi te zone mogle zauzimati u odnosu na celokupnu površinu prostorije, raspoređene redom koji je dobijen iz hronološke analize u poglavlju broj 5.

U trećoj matrici su upisane instalacije koje su potrebne za funkcionisanje određenih elemenata: sudopere, kade, lavaboa... Simbol „v“ predstavlja polje koje se nalazi uz zid koji poseduje vodovodne instalacije. Simbol „k“ definiše prostor uz zid koji pored

vodovodih instalacija poseduje i kanalizacione.

Ĉetvrta matica uz prazna polja koja su u svim matricama definisana sa slovom „o“ sadrži „z“, slovo koje obeležava modularni segment prostora koji se nalazi uz zid.

Peta matrica je ispunjena brojevima koji obeležavaju udaljenost tačaka od ulaza. Pomoću nje se određuju distance između elemenata kako bi se oni generisali po paramatrima koji su dobijeni iz analiza obavljenih u prethodnim poglavljima. U ovom

algoritmu su distance manuelno unete, budući da je prostor jednostavnog oblika.

Prepreke koje predstavljaju zidovi se dešavaju samo u manjem delu prostora, i to u onom koji je definisan kao ulaz, koji se ne ispunjava elementima i kupatilu koje je

zasebna prostorija, tako da se uticaj zidova na distancu koja se mora preći do željenog elementa može zanemariti.

Poslednja matrica je prazna, ispunjena samo simbolima „o“. U tu matricu će se redom upisivati elementi koji su ispunili uslove iz prethodnih pet, menjajući simbole „o“ sa sopstvenim simbolima, popunjavajući taj segment, i time onemogućavajući sledećem elementu da bude postavljen na tom istom mestu.

Page 26: ПРОЦЕДУРАЛНА ГЕНЕРАЦИЈА У ПРОЈЕКТОВАЊУ …iaus.ac.rs/upload/download/Nagrade koje dodeljuje... · Teorija umetnosti ima zlatni presek, harmoniĉne

21

15 - matrice sa uslovima

Page 27: ПРОЦЕДУРАЛНА ГЕНЕРАЦИЈА У ПРОЈЕКТОВАЊУ …iaus.ac.rs/upload/download/Nagrade koje dodeljuje... · Teorija umetnosti ima zlatni presek, harmoniĉne

22

8. Elementi

Elementi enterijera su takođe formulisani kao određeni broj modula obeleženih slovima. Broj modula je definisan veličinom samih objekata. U obzir se takođe uzela površina koja je potrebna za pristup i funkcionisanje tih elemenata, koja u nekim

slučajevima, pored gabarita samih objekata, onemogućava generisanje drugih. Način na koji su formulisani elementi se vidi na prilogu broj 16. Slova kojim su elementi

predstavljeni su jedinstveni za svaki element, „+“ predstavlja površinu potrebnu za njegovo korišćenje, a „z“ kod nekih elemenata predstavlja jedan od uslova koji

element mora ispunjavati: mora biti postavljen uz zid.

16 - definisanje elemenata simbolima

Page 28: ПРОЦЕДУРАЛНА ГЕНЕРАЦИЈА У ПРОЈЕКТОВАЊУ …iaus.ac.rs/upload/download/Nagrade koje dodeljuje... · Teorija umetnosti ima zlatni presek, harmoniĉne

23

Elementi koji zauzimaju prostor koji je veći od jednog modula se postavljaju u odnosu na njihovu najveću koordinatu (najdalju od ulaza), ostale pozicije popunjavajući sledećim principom, definisanog u kodu u slučaju plakara:

{ new Coordinates(0,0),'P' }, { new Coordinates(-1,0),'P' }, { new Coordinates(-2,0),'P' },

{ new Coordinates(-3,0),'P' },{ new Coordinates(0,-1),'+' }, { new Coordinates(-1,-1),'+'},

{ new Coordinates(-2,-1),'+' }, { new Coordinates(-3,-1),'+' }

Prva koordinata je numerisana sa “0,0“, dok se ostale koordinate smanjuju. Stvara se

četiri modula obeležena slovom „P“, predstavljajući gabarit samog plakara, dok četiri polja sa plusem predstavljaju prostor u kom se vrata plakara otvaraju, kao i prostor gde korisnik mora stajati kako bi iz oramara uzimao odeću.

Odnos između elemenata i šest matrica koje definišu osnovu apartmana je tabelarno prikazan na prilogu broj 17. U toj tabeli se nalaze svi uslovi koji elementi

moraju ispunjavati u određenoj matrici kako bi koordinate obeležene zadatim simbolima prešle u sledeću iteraciju, sve dok ne budu svedene na jednu poziciju, na

kojoj će se taj element i generisati.

17 -prikaz odnosa elemenata i matrica

Page 29: ПРОЦЕДУРАЛНА ГЕНЕРАЦИЈА У ПРОЈЕКТОВАЊУ …iaus.ac.rs/upload/download/Nagrade koje dodeljuje... · Teorija umetnosti ima zlatni presek, harmoniĉne

24

9. Kod

Algoritam se definiše kao procedura za rešavanje problema. Postupak koji se sastoji iz precizno definisanih koraka koji vode do rešenja. U računarstvu, algoritam je implementiran ili simuliran od strane programa. Algoritmi često imaju korake koji se ponavljaju (iteriraju) ili zahtevaju odluke putem logičkih operacija ili poređenja. Jednostavan oblik algoritma je množenje dva broja: na prvim kompjuterima koji su imali slabe procesore, do proizvoda se dolazilo rutinom koja je sabirala jedan činilac brojem puta definisanim drugim činiocem. Algoritam je prevodio metodu u kompjuterske komande. Algoritmi su suštinski način kompjuterske obrade podataka, budući da je program zapravo algoritam koji govori kompjuteru koje korake preduzima u određenom redosledu kako bi se izvršio zadatak. Samim tim se algoritmom smatra bilo koja sekvenca operacija koja može biti izvedena Turingovom mašinom. (Savage, 1987) U većini slučajeva, kad se algoritam vezuje za obradu podataka, informacije se učitavaju iz ulaznog izvora ili uređaja, zapisuju se u izlaznim podacima ili uređajima sa ili bez skladištenja za dalju obradu. Skladišteni podaci se smatraju delom unutrašnjeg entiteta koji obavlja algoritam. Za svaki takav proces, algoritam mora biti rigorozno definisan, formulisan na takav način da se može primeniti u svim mogućim okolnostima. To jest, svaki mogući korak mora imati

sistematski pristup pri njegovom rešavanju; u svim mogućim slučajevima kriterijumi moraju biti jasni i podložni proračunima. (Gurevič, 2000.)

Sam algoritam kojim elementi enterijera popunjavaju prostor se deli u 3 segmenta.

Prvi deo je prikupljanje podataka iz matrica (matrice od I do V iz sedmog poglavlja).

Ti podaci popunjavaju listu koja definiše svaki uneti karakter sa tri koordinate: prva koordinata je broj matrice, a preostale dve su pozicija znaka unutar same matrice.

Zatim se prelazi u sledeći korak; za svaki od jedanaest objekata koje je potrebno

generisati se prolazi kroz podatke od svih unetih matrica, iterirajući kroz njih dok se za svaki elemenat ne dobije jedinstvena pozicija. U poslednjem koraku se sva validna

rešenja ucrtavaju u praznu matricu formiranu u prvom koraku postupka. Grafički prikaz algoritma se nalazi na prilogu broj 18.

Page 30: ПРОЦЕДУРАЛНА ГЕНЕРАЦИЈА У ПРОЈЕКТОВАЊУ …iaus.ac.rs/upload/download/Nagrade koje dodeljuje... · Teorija umetnosti ima zlatni presek, harmoniĉne

25

18- pseudokod

Page 31: ПРОЦЕДУРАЛНА ГЕНЕРАЦИЈА У ПРОЈЕКТОВАЊУ …iaus.ac.rs/upload/download/Nagrade koje dodeljuje... · Teorija umetnosti ima zlatni presek, harmoniĉne

26

Kako bi se dodatno pojasnio proces kroz koji se prolazi da bi se došlo do odgovarajuće pozicije elementa, na prilogu broj 19 se nalaze svih 6 matrica kroz koje

se iterira, predstavljajući ceo proces kroz koji se prolazi, kao i broj elemenata koji iz

jedne iteracije prelazi u sledeću.

Kao što je napomenuto, znak „x“ u prvoj matrici predstavlja prostor u kojem nije moguće postavljanje nijednog elementa, samim tim sva slova „o“ će preći kao validne pozicije u sledeću iteraciju. Sto dva od ukupno sto trideset dva polja

ispunjavaju uslov.

Druga matrica definiše zone određenih funkcija. U slučaju pretrage za pozicijom kade se posmatra kupatilo, tražeći simbol „w“ u matrici. Od 102 polja koja su izašla kao validna iz prve matrice, spalo je na 20 mogućih pozicija: 24 pozicije koje obeležavaju kupatilo umanjene za 4 modula koji predstavljaju prostor koji je potreban za otvaranje vrata od kupatila.

Treća matrica određuje vodovodne instalacije u zidovima koje su potrebne da bi kada funkcionisala, Broj mogućih pozicija spada na 6, a taj broj ostaje isti u sledećoj iteraciji; kako su instalacije postavljene u zidu između horizontalnih osa broj 4 i 5,

samim tim prolazi uslove zadane u matrici broj četiri.

U petoj matrici se pozicija kade određuje na osnovu analiza iz početnih poglavlja; u kupatilu se najviše koristi lavabo, zatim wc šolja, a na kraju kada. Samim tim kada treba da bude na najdaljoj tački kupatila. Broj rešenja postaje unikatan, prelazi se u

poslednju matricu, koja je do tada bila prazna, popunjavajući pozicije koje zauzima kada i prostor koji je potreban da bi se ona koristila:

{ new Coordinates(0,0),'k' },{ new Coordinates(-1,0), 'k' }, { new Coordinates(-2,0), '+' },

{ new Coordinates(1,0), '+' },{ new Coordinates(0,1), '+' },{ new Coordinates(-1,1), '+'},

{ new Coordinates(0,-1),'k' }, { new Coordinates(-1,-1), 'k' }, { new Coordinates(-2,-1),

'+' }, { new Coordinates(1,-1), '+' },{ new Coordinates(0,-2),'k' }, { new Coordinates(-1,-

2), 'k' }, { new Coordinates(-2,-2), '+' }, { new Coordinates(1,-2), '+' },{ new

Coordinates(0,-3),'+' }, { new Coordinates(-1,-3), '+' }

Page 32: ПРОЦЕДУРАЛНА ГЕНЕРАЦИЈА У ПРОЈЕКТОВАЊУ …iaus.ac.rs/upload/download/Nagrade koje dodeljuje... · Teorija umetnosti ima zlatni presek, harmoniĉne

27

19 - iteriranje mogućih pozicija kade kroz matrice

Page 33: ПРОЦЕДУРАЛНА ГЕНЕРАЦИЈА У ПРОЈЕКТОВАЊУ …iaus.ac.rs/upload/download/Nagrade koje dodeljuje... · Teorija umetnosti ima zlatni presek, harmoniĉne

28

Kao finalno rešenje koje algoritam iscrtava se dobija osnova apartmana sa ucrtanim elementima. Poređani rasporedom koji je određen analizama sprovedenim na funkcijama koje se obavljaju unutar stambene jedinice, ispunjavajući uslove koji su zadati za svaki element, formirana je funkcionalna celina. Osnova dobijena putem

ovog algoritma se nalazi na slici broj 20.

20 - popunjena osnova apartmana

Page 34: ПРОЦЕДУРАЛНА ГЕНЕРАЦИЈА У ПРОЈЕКТОВАЊУ …iaus.ac.rs/upload/download/Nagrade koje dodeljuje... · Teorija umetnosti ima zlatni presek, harmoniĉne

29

Algoritam je primenjen i na druge osnove koje su na isti način definisane. Kao što se vidi na slici broj 21, elementi enterijera su postavljeni na zadovoljavajući način.

21 - Nove matrice i osnova sa postavljenim elementima

Page 35: ПРОЦЕДУРАЛНА ГЕНЕРАЦИЈА У ПРОЈЕКТОВАЊУ …iaus.ac.rs/upload/download/Nagrade koje dodeljuje... · Teorija umetnosti ima zlatni presek, harmoniĉne

30

10.Zaključak

Kod koji je obrađen u ovom radu je namenjen da postavi specifične elemente enterijera u prostor definisan nizom matrica. I on predstavlja samo bazičnu podlogu na kojoj se proceduralna generacija arhitekture može zasnivati. Uslovi koji su zadati matricama koje su definisale prostor apartmana mogu biti integrisane u objekte

kojima bi se iscrtavale osnove koje bi algoritam rešavao. Time bi se mogle izbaciti i striktno definisane pozicije na kojima bi se elementi enterijera stvarali, ostvarujući mnogo širi spektar mogućih rešenja. „Pathfinding“ algoritmi se mogu koristiti kako bi

proveravali distance između svih elemenata, simulirajući kretanje korisnika, valorizujući ih i postavljajući ih tako da odgovaraju optimalnom rasporedu. Mogu se

dodavati i drugi parametri, poput insolacije i ventilacije, koji bi dalje definisali

početne uslove, stvarajući precizniji model i time dodatno poboljšavajući rezultate algoritma.

Dekonstrukcijom posmatranog predmeta na činioce, definisanjem međusobnih odnosa tih činilaca i uslova njihovog funkcionisanja, kao i uspostavljanjem načina valorizacije, može se napraviti osnova za njegovu proceduralnu generaciju, kakav god to predmet bio. Nivo detaljnosti zavisi isključivo od želje autora da ga dalje definiše, kao i jačine kompjutera koji obrađuje te podatke.

Matematičar Džon Fon Nojman je rekao: "Nauka ne pokušava objasniti. Jedva da pokušava tumačiti. Uglavnom pravi modele, matematičke konstrukte s nekim verbalnim objašnjenjem koji opisuje posmatrane pojave. Zatim se očekuje da to i funkcioniše. " (Fon Nojman, 1955) Takvi modeli ispunjavaju svrhu. U stvarnosti to su

samo fiktivni podaci, ali i dalje pružaju informacije i omogućavaju istraživanja. Model pokreće proces inicijalnog plana delovanja, delujući tom planu i prateći napredak sa poboljšanjem u svakom koraku koji se postepeno može kretati prema beskonačnosti. U ovom postupku ne postoji unos koji funkcioniše sam, već bilo koji entitet kontinuirano se odnosi na i povezuje se sa drugima.

Page 36: ПРОЦЕДУРАЛНА ГЕНЕРАЦИЈА У ПРОЈЕКТОВАЊУ …iaus.ac.rs/upload/download/Nagrade koje dodeljuje... · Teorija umetnosti ima zlatni presek, harmoniĉne

31

11.Literatura

Batty, M. (2007). Cities and Complexity: Understanding Cities with Cellular Automata,

Agent-Based Models, and Fractals

Charman, P. (1993). Solving Space Planning Problems Using Constraint Technology

Chuptys, S. (2014). Procedural Generation of Architecture

Gurevich, Y. (2000). Sequential Abstract State Machines Capture Sequential

Algorithms

Harris, J. (2008) Gamasutra, Interview: The Making Of Dwarf Fortress

LaValle, S.(2006). Planning algorithms

Savage, J. (1972). Computational work and time on finite machines

Taylor, F. (1911). The Principles of Scientific Management

Togelius, J. , et al. (2011). Search-Based Procedural Content Generation: A Taxonomy

and Survey

Thompson, T. (1992). Medieval homes

von Neumann, J.(1955). Method in the Physical Sciences

http://www.bldgblog.com/tag/procedural-generation/

https://www.catan.com/

http://dwarffortresswiki.org/

http://www.galaxykate.com/blog/generator.html

https://minecraft.net/

https://www.nomanssky.com/

http://orteil.dashnet.org/nested

http://pcgbook.com/

Popis ilustracija

Prilog 1 - https://www.researchgate.net/profile/ Maxim_Arnold/publication/

260321343/figure/fig1/AS:296997899784208@1447821225735/The-Voronoi-diagram-of-

RRT-vertices-contains-interior-Voronoi-regions-which-are-bounded.png

Prilog 2 - http://flafla2.github.io/img/2014-08-09-perlinnoise/raw2d.png

Prilog 3 - https://target.scene7.com/is/image/Target/10979101_Alt01?wid

=488&hei=488&fmt=pjpeg

Prilog 4 - http://abjad.mbrsi.org/_images/mozart-tables.png

Prilog 5 - https://i.ytimg.com/vi/QT_pKNzOOhQ/maxresdefault.jpg

Prilog 6 - https://api.ning.com/files/0p6n*fXHjwrnVFV7rTL4i0EJphPj4SeMRDK

Fs4KKY3OzGrp QxBRuM*o5q5nS9MHfDHiTyBDiwdfDbx*iCJUj33

ltJHOv0S/kaisersrot_follow_the_churchcopy.jpg?width=721

Prilozi 7 do 21 – autorski rad