Vježbe 10

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 i splajnovi. Uočite kako se modificiraju kad se pomiču kontrolne točke. Izvorni kod:   bezierS1d.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 3: B-splajnovi stupnja 4 (tj. kubični): 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 slijedeć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.
10.1. 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!