Symmetr.io – Asiaa teknisestä toteutuksesta

Sitten viime blogipäivityksen olemme taas kokoontuneet ja keskustelleet kuinka valmistuisimme lopputilaisuuteen.  Haluamme, että lopputilaisuudessa yleisöllä olisi mahdollisuus saada jotain omaksi ja se olisi syntynyt projektimme avulla. Vaikka projektimme on ainoastaan prototyyppi, se toimii jo erittäin hyvin. Olemme myös parantaneet ohjelman käytettävyyttä käyttöliittymäparannusten avulla. Näitä parannuksia tullaan tekemään jatkossakin ja muut ohjelman ydintoiminallisuudet ovat ja valmiina.

Toiminnallisuudesta

Ohjelma on implementoitu  C++:lla ja käyttämällä ulkoisia kirjastoja kuten esimerkiksi OpenGL:ää piirtämään halutunlaisen käyttöliittymän ja muodon. Ohjelma on käyttöjärjestelmästä riippumaton. Ohjelman teoreettisena taustana toimivat kaikki 17 tason symmetriat. Kurssin puitteissa on tarkoituksena luoda toimiva prototyyppi, jossa on erittäin toimiva käyttöliittymä.

Tätä ajatellen käyttöliittymään on paneuduttu siltä kannalta, kuinka matemattinen kuvaus voidaan kuvata luontevasti ja luonnollisiseti, siten että mahdollinen käyttäjämme, esim. Sunnitttelija, tuntisi ohjelman käyttö luontevaksi. Ratkaisu tähän oli ohjelman käyttööliittymän selkeyttäminen, esimerkiksi ohjelman hallintatyökalujen piilottaminen erillaisten valikkojen taakse.  Käyttöliittymässä toinen huomion arvoista ovat kuvakehikot ja helppo esikatselu, joiden  avulla, käyttäjä voi luontevasti nähdä millaisen symmetrian hän kuvastaan luo ja miltä se näyttää.

Yksi olennaisimmista haasteista  on ollut symmetrioiden lausuminen kuvien avulla, sen sijaan että ne lausuttaisiin matematiikan avulla ja kuink eri symmetriat voitaisiin luokitella selkeämmiksi. Tämä saavutettiin tarkastamalla symmetrian perusominaisuuksia, kuten esimerkiksi kuinka ne peilautuvat tai siirtyvät. Tämä oli erittäin tärkeää, sillä käyttäjämme vieroksuvat tälläistä ohjelmaa näennäisen hankaluuden vuoksi ja symmetrioiden takanaa oleva matematiikka on harvalle tuttu. Suunnitelmamme kuvat, jotka nyt toimivat ohjelman ikoneina ovat ajanneet hyvin käyttötarkoitusta.

sdr
sdr