Vježbe 11

Parametarske krivulje i plohe

Primjer 1: Lagrangeov interpolacijski polinom - uočite nagle oscilacije kako raste stupanj polinoma. Izvorni kod:   Lagrange.c
Točke se postavljaju pritiskom lijeve tipke na mišu (svaka sljedeća točka mora biti desno od prethodne). Pošto su postavljene, točke se mogu pomicati gore-dolje (doći na točku i stisnuti lijevu tipku miša, povući pokazivač na željenu visinu, te pustiti tipku). Za izlaz iz programa pritisnuti srednju tipku na mišu.
Primjer 2: Bezierove krivulje - uočite kako se modificiraju kad se pomiču kontrolne točke. Izvorni kod:   Bezier1D.c
Točke se postavljaju pritiskom lijeve tipke na mišu - položaj svake sljedeće točke je potpuno proizvoljan. Pritiskom na desnu tipku započinje se nova krivulja. Točke se mogu po volji seliti (postaviti pokazivač na točku, pritisnuti lijevu tipku miša i povući do nove pozicije, te pustiti tipku). Za izlaz iz programa pritisnuti srednju tipku na mišu.
Primjer 3: Kubični B-splajnovi - bijela krivulja je otvoreni jednoliki B-splajn, a cijan krivulja je jednoliki periodički B-splajn. Iscrtkana plava krivulja je Bezierova. Za specijalni slučaj kod 4 točke otvoreni B-splajn identičan je s Bezierovom krivuljom. Uočite kako se B-splajnovi ponašaju kad se pomiču kontrolne točke. Periodički B-splajn stupnja 4 može se zatvoriti (tj. spojiti početak i kraj u zatvorenu krivulju) ako se preklope prve i zadnje 3 točke. Izvorni kod:   Bspline1D.c
Točke se postavljaju pritiskom lijeve tipke na mišu - položaj svake sljedeće točke je potpuno proizvoljan. Pritiskom na desnu tipku započinje se novi splajn. Točke se mogu po volji seliti (postaviti pokazivač na točku, pritisnuti lijevu tipku miša i povući do nove pozicije, te pustiti tipku). Za izlaz iz programa pritisnuti srednju tipku na mišu.
Primjer 4: Bezierove plohe u OpenGL-u - izvorni kod:   cutura.c
Za rotaciju koristi se miš - pritisnuti lijevu tipku i povući u željenom smjeru. Za izlaz iz programa pritisnuti srednju tipku na mišu.
Primjer 5: B-splajn plohe u OpenGL-u - izvorni kod:   boca.c
Za rotaciju koristi se miš - pritisnuti lijevu tipku i povući u željenom smjeru. Za izlaz iz programa pritisnuti srednju tipku na mišu.
11.1. Nacrtajte Bezierove krivulje definirane kontrolnim točkama zadanima u datoteci ktocke.txt (za svaku krivulju najprije je ispisan broj kontrolnih točaka, a slijede parovi koordinata x i y. Kraj datoteke označen je nulom za broj kontrolnih točaka).
11.2. Modificirajte plinsku bocu iz primjera 5 (ili eventualno ćuturu iz primjera 4) u snjegovića, žarulju, cepelin, podmornicu, amforu, ribu, kasicu-prasicu - bilo što, što vam padne na pamet!