TÖL203M Tölvugrafík

Heimadæmi 2


This page in other languages:
  1. Breytið sýniforritinu gasket1, þannig að það byrji með 4 punkta sem mynda ferning og síðan er einn af hornpunktunum fjórum valinn af handahófi í lykkjunni. Kemur eitthvað af viti út úr því? Sýnið skjámynd og skilið hlekk á forritið á heimasvæði ykkar.

  2. Á heimasíðu kennslubókarinnar er sýniforritið gasket5. Það notar sleða (slider) til að breyta fjölda uppskiptinga á endurkvæma þríhyrningi Sierpinskis. Skrifið útgáfu af gasket1, sem nota sleða til þess að velja fjölda punkta sem notaður er. Leyfið að velja frá 0 til 100.000 punkta í 1000 punkta skrefum. Skilið skjámynd og hlekk á forritið.

  3. 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 færist um strigann á handahófskendan hátt. Gerið það með því að breyta hnitum allra punktanna um slembihliðrun í Javascript forritinu og teikna hringinn aftur. Þið getið nýtt ykkur fallið Math.random() til að búa til slembihliðrunina. Til að láta forritið keyra endalaust skuluð þið hafa skipunina "window.requestAnimFrame(render);" neðst í render-fallinu (sjá t.d. makepoints.js í næsta dæmi). Skilið skjámynd og hlekk á forritið.

  4. Skrárnar makepoints.html og makepoints.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 sem teiknar lítinn þríhyrning með miðju á þeim stað sem notandinn smellir. Hægri/mið-músarsmellur hreinsar strigann aftur. Skilið skjámynd og hlekk á WebGL forritið ykkar.

  5. Ferhyrningar eru ekki innbyggðir í WebGL. Til að teikna þá þurfum við að nota þríhyrningar. Það er hægt að gera á þrjá vegu: með sjálfstæðum þríhyrningum (TRIANGLES, þarf 6 punkta), með þríhyrningalengju (TRIANGLE_STRIP, þarf 4 punkta) eða með þríhyrningablævæng (TRIANGLE_FAN, þarf 4 punkta). Í þessu dæmi eigið þið að skrifa forrit sem leyfir notanda að teikna ferninginn með hornin (-0.5, -0.5) og (0.5, 0.5) og miðju í (0, 0) á þessa þrjá mismunandi vegu. Notandinn getur valið á milli aðferðanna með valboxi (options). Þið getið skoðað sýniforritið rotatingSquare2 til að sjá hvernig hægt er að láta notandann velja milli margra möguleika með valboxi.

Skilið PDF-skjali með lausnum ykkar á þessum dæmum fyrir kl. 23:00 laugardaginn 20. janúar í Gradescope.com (leiðbeiningar). Aðgangskóði (Entry Code) er MJBVK7. 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, 2018.