Ohjelmoinnin peruskurssi Y2, kurssimateriaali

Aihepiiri: simulaatiot

Etusivulle

Aihepiiri: simulaatiot

Seuraa johtajaa -simulaatio


Tee "seuraa johtajaa"-simulaatio. Tarkoituksena on, että lauman yksilöistä yksi on johtaja, joka liikkuu jossain määrin enemmän tai vähemmän satunnaisesti, ja muut seuraavat vain tätä yksilöä asettumatta hänen tielleen tai törmäilemättä toisiinsa. Ohjelma visualisoi yksilöiden liikettä.

Lauman johtajan liikettä voi ohjata yhdistelemällä sopivasti kahta eri ominaisuutta:

  • johtaja hakeutuu satunnaisesti valittuihin paikkoihin ympäristössään (Seeking)
  • johtaja vaeltaa pehmeästi (tekemättä äkkijyrkkiä käännöksiä) (Wandering)

Johtajaa seuraavan lauman jäsenet voi muodostaa seuraavien ominaisuuksien avulla

  • lauman jäsenet välttävät liiallista tungosta eli haluavat pitää ympärillään tarpeeksi vapaata tilaa (Separation)
  • lauman jäsenet pyrkivät saavuttamaan jonkin tietyn pisteen, hidastaen kun ne lähestyvät tätä pistettä. Tämä lauman muiden jäsenten liikkeiden tähtäyspiste voi olla hieman johtajan takana, niin etteivät ne vahingossakaan törmää johtajaan ja jotta tämä selkeämmin erottuisi muusta laumastaan (Arrival)
  • lisäksi lauman jäsenet pyrkivät väistämään, jos ne jostain syystä huomaavat olevansa johtajansa tiellä

Käytä yllä kuvattuja yksilönominaisuuksia lauman jäsenten itseohjaamisessa.

Huom! Aloita työ lukemalla Craig Reynoldin artikkeli "Steering behaviors for autonomous characters" http://www.red3d.com/cwr/steer/gdc99/.

Pyri toteuttamaan artikkelissa kuvattu "simple vehicle model" suhteellisen tarkkaan. Suuri osa tämän aiheen ongelmista liittyy siihen että jollain tavoin sovellettu malli ei tuotakaan haluttua käyttäytymistä.

Vaatimukset

Keskivaikea

Vaativa

VAROITUS : Tarvitset reaaliaikaiseen simulaatioon säikeitä (threads) niiden toimintaa esitellään luennoilla kurssiaikataulun mukaisesti

Lähteet

Etusivulle