Pre zadanych n+1 bodov , kazdy s vahou , mate za ulohu vykreslit racionalnu Bezierovu krivku, ktorej riadiacimi vrcholmi su body  kazdy so svojou vahou. Tato krivka ma analyticke vyjadrenie, ktore pouzijete pri vykreslovani:

   

kde je Bernsteinov polynom.

 

Pre zadanych n+1 bodov , kazdy s vahou , mate za ulohu vykreslit racionalnu B-splajnovu krivku(NURBS), ktorej riadiacimi vrcholmi su body  kazdy so svojou vahou. Zadane je este: stupen d, prir.cislo m=n+d+1, uzlovy vektor  

 

   

  kde: 

 

 

ak sa v menovateli tychto zlomkov vyskytne nula, cely zlomok sa polozi rovny nule.

 

V programe je potrebne zadavat uzlovy vektor, defaultne nech je nastaveny na 0,1,2,….,m a je potrebne zadavat aj jednotlive vahy + stupen krivky.

 

Dalej je potrebne zadavanie (cez tlacitko alebo klavesu) dvoch takych konfiguracii vrcholov, vah a uzloveho vektora, ze vysledna NURBS krivka je kruznica. V oboch pripadoch je stupen krivky rovny 2 (d=2). Spominane konfiguracie su nasledovne:

 

1. trojuholnikova

 

            

Riadiace body su vrcholmi a stredmi stran rovnostranneho trojuholnika.

Vektor vah w=[1,0.5,1,0.5,1,0.5,1]

Uzlovy vektor u=[0,0,0,0.333,0.333,0.666,0.666,1,1,1]

 

 

 

 

 

2. stvorcova

 

Riadiace body su vrcholmi a stredmi stran stvorca.

Vektor vah w=[1,s,1,s,1,s,1,s,1] kde s=sqrt(2)/2

Uzlovy vektor u=[0,0,0,0.25,0.25,0.5,0.5,0.75,0.75,1,1,1]

 

 

 

 

 

 

 

V ulohe pozadujem zadavanie,odoberanie a posun riadiacich vrcholov mysou.