TÖL203M Tölvugrafík

Heimadæmi 2


This page in other languages:
  1. Breytið sýniforritinu gasket1 (gasket1.js) á eftirfarandi vegu (hvor breyting sjálfstæð):
    1. Í stað þess að fyrsti punkturinn sé í miðju þríhyrningsins, látið hann vera vel fyrir utan þríhyrninginn, t.d. í (10, 10). Skilið hlekk á forritið ykkar og sýnið mynd af útkomunni.
    2. Látið einn hornpunktinn vera mun líklegri til að vera valinn en hina tvo punktana, þannig að hornpunktur 0 er valinn í 90% tilfella, en hinir tveir í 5% hvort. Skilið hlekk á forritið ykkar og sýnið mynd af útkomunni.

  2. Hér er gefið WebGL forrit (circlefan.html og circlefan.js) sem teiknar fylltan rauðann hring. Hann er nálgaður með því að reikna út ákveðinn fjölda punkta á hringnum og teikna þá sem "TRIANGLE_FAN" í drawArrays-fallinu. Breytið þessu forriti þannig að hringurinn sé teiknaður sem "TRIANGLES" í drawArrays-fallinu. Það þýðir að hverjir þrír punktar eru túlkaðir sem þríhyrningur. Þið þurfið því að bæta við punktum í vigurinn sem er sendur yfir til grafíkkortsins. Setjið forritið ykkar á heimasvæðið ykkar og skilið hlekk á það.

  3. Á heimasíðu kennslubókarinnar er sýniforritið gasket5 (gasket5.js). Það notar sleða (slider) til að breyta fjölda uppskiptinga á endurkvæma þríhyrningi Sierpinskis. Notið það sem fyrirmynd, þegar þið breytið forritinu circlefan, þannig að notandinn geti valið með sleða hversu margir punktar eiga að vera á hringskífunni (þ.e. hversu góð nálgunin er), allt frá 4 til 100. Skilið skjámynd og hlekk á forritið.

  4. Skrárnar points.html og points.js útfæra WebGL forrit sem leyfir notandanum að búa til punkta á striganum (canvas). Punktastærðin er sett í hnútalitaranum í HTML-skránni. Hún er sett sem 5 til að auðveldara sé að sjá punktana. Þið eigið að skrifa WebGL forrit þar sem hægt er að velja hvort punktarnir eru túlkaðir sem punktar, línubútar (line strip), línuhringur (line loop), línur (lines), þríhyrningaröð (triangle strip), þríhyrningablævængur (triangle fan), eða þríhyrningar (triangles). Þið getið til dæmis notað sýniforritið rotatingSquare2 (rotatingSquare2.js) til að sjá hvernig hægt er að láta notandann velja milli margra möguleika með valboxi (options). Hægri/mið-músarsmellur á að hreinsa strigann og eyða öllum punktunum. Skilið skjámynd og hlekk á WebGL forritið ykkar.

  5. Skrifið tvær útgáfur af WebGL forriti til að teikna fimmhyrninginn hér að neðan:
    Önnur útgáfan á að nota þrjá sjálfstæða þríhyrninga (þ.e. TRIANGLES), en hin á að nota þríhyrninglengju (þ.e. TRIANGLE_STRIP). Hnitin á hornunum skipta ekki öllu máli, en þið getið t.d. notað (-0.4, -0.4) sem neðsta vinstra hornið, (0.0, 0.9) sem efsta hornið og (0.4, 0.4) sem efra hægra hornið. Skilið skjámynd og hlekk á WebGL forritin ykkar.

Skilið PDF-skjali með lausnum ykkar á þessum dæmum fyrir kl. 23:59 laugardaginn 19. janúar í Gradescope.com (leiðbeiningar). Aðgangskóði (Entry Code) er 9NP753. Hafið hlekki á WebGL forritin í lausnunum ykkar þannig að hægt sé að smella á þau til að keyra þau (ekki ljósmyndir af hlekkjum!).

hh (hja) hi.is, 12. janúar, 2019.