Graphics & Media Lab. >> Курсы >> Курс Шикина 2000г.
ПРИМЕР - ШАГ 6

Заключительный момент - добавление анимации, которая будет осуществляется путем последовательного преобразования (поворота) куба и выводом нового изображения с использованием чередования страниц.

void drawFrame ( Cube& cube, int frameNo ) { cube.applyTransform ( Vector3D ( 0, 0, 0 ), rotateY ( M_PI / 60 ) ); cube.drawShadow (); cube.drawShaded (); } Cube cube; int drv = VGA; int mode = VGAMED; palettetype pal; cube.applyTransform ( Vector3D ( -0.5, -0.5, -0.5 ), rotateX (M_PI / 6) * rotateZ ( M_PI / 6) ); cube.applyTransform ( Vector3D ( -2, 0, 0 ), Matrix3D ( 1 ) ); initgraph ( &drv, &mode, "" ); getpalette ( &pal ); for ( int i = 0; i < pal.size; i++ ) setrgbpalette ( pal.colors [i], (63*i)/15, (63*i)/15, (63*i)/15 ); drawFrame ( cube, 0 ); setactivepage ( 1 ); for ( int frame = 1;; frame++ ) { clearviewport (); drawFrame ( cube, frame ); setactivepage ( frame % 2 ); setvisualpage ( 1 - ( frame % 2 ) ); if ( kbhit () ) break; } getch (); closegraph (); © Алексей В. Боресков. Все исходные тексты можно взять здесь.

<<Шаг 5 - Расчет тени

Graphics & Media Lab. >> Библиотека | Курсы | Графикон

Hosted by Graphics & Media Lab.
http://graphics.cs.msu.su
lab_logo
mailto:Laboratory
Last modified: 24-Aug-2001