Bronto Duties -ohjelman kolmiulotteisen näkymän toteutus Three.js-kirjastolla
Sinisalo, Juho (2020)
Sinisalo, Juho
2020
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2020052814764
https://urn.fi/URN:NBN:fi:amk-2020052814764
Tiivistelmä
Opinnäytetyössä kuvaillaan Bronto Skyliftin tilaaman Bronto Duties -ohjelman kolmiulotteisen näkymän eri osia ja rakennetta. Työn tavoitteena oli tehdä Bronto Skyliftin vaatimusten mukainen kolmiulotteinen näkymä nostolavojen ulottumien etäisyyksien havainnointiin. Työssä tuotettiin näkymä käyttäen nykyaikaisia selainpohjaisia teknologioita kuten Reactia, Reduxia ja Three.js:ää.
Kolmiulotteinen näkymä on rakenteeltaan päällepäin yksinkertainen, mutta sisäisesti monimutkainen. Rakenteen yksinkertaisuuden takia merkittävä osa näkymää hallinnoivasta logiikasta on kasautunut yhteen tiedostoon, mikä hankaloittaa ohjelman luettavuutta. Näkymää hallinnoiva logiikka rakentaa ohjelman käyttäjän syötteiden perusteella lukuisia eri näkymän osia, jotka Three.js-kirjasto piirtää käyttäjän havainnoitavaksi näkymäksi. Näkymän eri osiin kuuluvat esimerkiksi nostolava-ajoneuvo, ulottumakäyrä, rakennus ja mittaasteikko.
Opinnäytetyön tuloksena tehtiin sisäisesti monimutkainen, mutta tavoitteet saavuttava kolmiulotteinen näkymä, josta on hyötyä Bronto Skyliftille. Näkymän lopullisiin ominaisuuksiin kuuluu muun muassa kaksi kameraesitystä, mahdollisuus tutkia nostolavan ulottumakäyrää usealla eri asetuksella, säädettävän rakennuksen ja tuulimyllyn esitys sekä mahdollisuus tutkia ulottumakäyrän ja rakennuksen välistä leikkausta.
Kolmiulotteinen näkymä on rakenteeltaan päällepäin yksinkertainen, mutta sisäisesti monimutkainen. Rakenteen yksinkertaisuuden takia merkittävä osa näkymää hallinnoivasta logiikasta on kasautunut yhteen tiedostoon, mikä hankaloittaa ohjelman luettavuutta. Näkymää hallinnoiva logiikka rakentaa ohjelman käyttäjän syötteiden perusteella lukuisia eri näkymän osia, jotka Three.js-kirjasto piirtää käyttäjän havainnoitavaksi näkymäksi. Näkymän eri osiin kuuluvat esimerkiksi nostolava-ajoneuvo, ulottumakäyrä, rakennus ja mittaasteikko.
Opinnäytetyön tuloksena tehtiin sisäisesti monimutkainen, mutta tavoitteet saavuttava kolmiulotteinen näkymä, josta on hyötyä Bronto Skyliftille. Näkymän lopullisiin ominaisuuksiin kuuluu muun muassa kaksi kameraesitystä, mahdollisuus tutkia nostolavan ulottumakäyrää usealla eri asetuksella, säädettävän rakennuksen ja tuulimyllyn esitys sekä mahdollisuus tutkia ulottumakäyrän ja rakennuksen välistä leikkausta.