Mierne zrychlit vypocet Bezierovej kubiky (a vlastne lubovolneho polynomu) sa da aj takto:
namiesto:
x = mx+nx*t+px*t*t+qx*t*t*t;
y = my+ny*t+py*t*t+qy*t*t*t;
pisat:
x = mx+t*(nx+t*(px+t*qx));
y = my+t*(ny+t*(py+t*qy));
Mimochodom, pekny prehlad kriviek (myslim tych parametrickych :) je na:
http://www.cse.unsw.edu.au/~lambert/splines/
Su tam aj interaktivne Java applet-y (veru, lepsie je raz vidiet, ako stokrat citat), vratane zdrojovych kodov.
No docela me to prekvapilo, ale optimalizace to nezvladnou. Sice se pri -O9 -ffast-math nektere operace zprehazi a vse se dela na zasobniku, ale vsechny ty nasobeni (6x) tam zustanou.
Uz neznam presne pipeliny procesoru >Pentium, ale asi se to diky zmenenemu adresovani operandu na zasobniku koprocesoru zrychli.