Josef
Gå og hopp
Oppgaven gikk ut på å programmere Josef til å gå bortover et gulv, opp en spiraltrapp og så hoppe ut på en trampoline.
Utsnitt fra besvarelsen til Robert Brynhildsen, vist som en serie snapshots.
|
|
SyklistOppgaven gikk ut på å sende Josef K på sykkeltur. Del av besvarelsen til Bjørn Stærk, vist som en serie med snapshots. En kikk på den komplette exe-fila anbefales (MS-Windows) |
|
Mer om Josef
Josef ble i oppgavene angitt omtrent slik:
Det er selvsagt en rekke muligheter som melder seg når det gjelder Josef Ks utseende. Vi kjenner ham ikke og kan stå ganske fritt i utformingen av hans jordiske, eller rettere sagt virtuelle, hylster. Det viktigste er at han gis en form som gjør at vi kan modellere tydelige bevegelser.
Nedenfor er analysert en variant med kroppsdeler som sylindere og ledd som kuler.
Alle lemmene er sylindere, med forskjellig og passende radius og lengde. Alle kuler untatt hodet og hendene er ledd. Kulene bør sikkert få ulik størrelse for å få til en velformet kropp. Vi antar i utgangspunktet at alle ledd er kuleledd med tre frihetsgrader. Lagrer vinklene i : Glfloat v[16][3] r(vi): glRotatef(v[i][0],1,0,0) glRotatef(v[i][1],0,1,0) glRotatef(v[i][2],0,0,1) Leddene er slik at sylinderenes senterlinjer møtes og sylindrene skjærer i hverandre. Kula dekker leddet og fjerner gap mellom skråstilte sylindere Typisk situasjon Det forenkler situasjonen noe dersom vi kan legge en strategi som lar oss tenke og tegne langs z-aksen til en hver tid |
k - start push // torso r(v0) 1 k push // hals og hode r(v1) 2 k(hode) pop push // høyre arm r(v2) 3 k r(v3) 4 k r(v4) 5 k pop push // venstre arm r(v5) 6 k r(v6) 7 k r(v7) 8 k pop pop push // høyre bein r(v8) 9 k r(v9) 10 r(v10) 10 k r(v11) 11 k r(v12) 12 pop push // venstre bein r(v13) 13 k r(v14) 14 k r(v15) 15 k r(v16) 16 pop |
Besvarelsene til:
- Robert Brynhildsen, student våren 1998
- Bjørn Stærk, student høsten 1998.
Kildeprosjektet. josefbike.zip(VC++/gml)
josefbike.zip(VC++/.Net)