Modelling and Animation System

year: 1995, author: Martin Rücker, supervisor: Josef Pelikán

Ceská verze

Full text in Czech (PostScript, 55 pages, 1856KB gzipped)

Abstract:

Program MDL is result of the diploma thesis at the Faculty of Nuclear Sciences and Engineering at CTU in year 1995. Program was created by Martin Rücker and supervised by RNDr. Josef Pelikán (MFF UK). Program enables you interactively create, modify and animate spatial scenes. There are some hardware requirements: PC compatible computer (processor 386 and above) and VESA compatible video adapter. We will describe main features of program in the following sections.

Object representation: Program uses object border representation. There are two main object classes in program. The first class is class of polyhedral objects which border is specified by set of polygons. The second class is class of cubic objects which border is specified by set of cubic curves and bicubic patches. Program offers you several curves and patch types (such as: Bezier, B-Spline and Beta-Spline).

Object manipulation: All objects in program are part of some scene. Program MDL enables you to insert new primitives into a scene and then modify them to create more complex objects. Set of primitives is relatively large moreover there are several template types in program. All objects have adjoin prism which include all object vertices. User can define vertices and objects set and can modify it. It means rotating translating and magnifying elements of the set. Scene can be saved to a disk file.

Scene rendering: Scene can be rendered in three ways. The first way is wire-frame rendering. The second way is scene rendering by depth clipping algorithm. Finally the third way is rendering scene by Z-buffer algorithm. Scene can be rendered in 256 colors and in resolution 1024x768 pixels. Program has implemented constant and Gouraurd shading.

User interface: A part of program MDL is also user graphics interface. User communicates with elements of user interface -- "dialogs". The most important dialogs are graphical window, text window and shape tree editor. Graphical window enables you to render a projection of actual scene. More graphical windows can render the same scene. User can set different modes of scene view and position of camera. Text window is common text editor.

Animation: Program generates animation sequences using animation language MDL. It is necessary for animation to define mechanical structure of scene. Structure is described in a shape tree. Every independent set of objects is called "actor". Every actor has own shape tree whose branches symbolize its independent parts.
Animation is defined in one text file. Every actor has a list of descriptions and list of activities. All items of lists can be conditioned. The first list specifies actor description and the second list specifies set of possible activities. Language MDL emulates parallel behavior of actors and enables them to communicate mutually and change shapes during animation.
Program MDL generates animation in constant time steps. Animation, in text file, is preprocessed and interpreted by interpreter. Transformation arguments from the last step are stored at the beginning of the new step. Every actor gets his description and all his activities are passed. Activities change values of transformations' arguments. Interpreter changes, step by step, values of arguments of all actors. Scene is finally rendered according to arguments of transformations. Frames are compressed and stored in a disk file. Separate program 'PLAY.EXE' is used for fast animation replay on VESA video adapter.

Keywords:

3D modelling, hierarchical 3D model, computer animation, animation description languages, compression of animation sequence, animation replay


Abstrakt:

Program MDL je vysledkem diplomove prace na FJFI CVUT v roce 1995. Praci vypracoval Martin Rucker pod vedenim RNDr. J. Pelikana (KSVI MFF UK). Uvedeny program umoznuje interaktivne vytvaret , modelovat a animovat prostorovou scenu. Program je urcen pro pocitace kategorie PC (rada 386 a vyssi) s grafickou kartou standardu VESA. V nadsledujicich odstavcich si uvedeme zakladni rysy programu.

Reprezentace teles: Program MDL popisuje telesa pomoci hranicni reprezentace. Uzivateli jsou k dispozici dve zakladni tridy teles. Prvni trida reprezentuje polyhedralni telesa, jejichz hranice je popsana mnozinou polygonu. Druha trida reprezentuje kubicka telesa, ktera jsou popsana bud kubickymi krivkami nebo bikubickymi plochami. Program nabizi standardni krivky a plochy uzivane v pocitacove grafice, jsou to predevsim : Bezierovy, B-Spline a Beta-Spline krivky a plochy.

Prace s telesy:Vsechna telesa, se kterymi program pracuje, jsou soucasti nejake sceny. Program MDL umoznuje vkladat do sceny zakladni primitivy a z techto primitivu vytvaret pomoci modifikacnich nastroju telesa. Mnozina primitivu je pomerne siroka a navic je rozsirena o tvarove sablony, ktere umoznuji vytvaret rotacni a translacni sablony polygonu a beta-krivek. Kazdemu telesu je pri vlozeni do sceny pridano jeho obalove teleso. V nove nadefinovane scene je mozno vyznacit mnozinu vektoru nebo celych teles. Takto nadefinovanou mnozinu je mozno tranformovat pomoci transformacnich nastroju, a to v libovolnem pohledu. Program umoznuje napriklad posunovat, otacet a menit velikost vybranych vrcholu. Vytvorenou scenu lze ukladat do souboru na disk.

Zobrazovani sceny: Scenu lze zobrazovat tremi zpusoby. Bud jako dratovy model (wire-frame), nebo pomoci prostoroveho rezu (depth-clipping) a konecne pomoci pameti hloubky (Z-buffer). Danou scenu je mozno zobrazovat v 256 barvach a v rozliseni az 1024x768 bodu. Pro dany alogoritmus lze zvolit i zpusob stinovani (konstantni nebou Gouraurd) a pro nektere mody i zobrazeni s uzitim vzorku.

Uzivatelske rozhrani: Soucasti programu je i vlastni uzivatelske rozhrani. Komunikace s uzivatelem probiha interaktivne prostrednictvim dialogu. Nejdulezitejsi dialogy jsou graficke a textove okno a editor tvarovych stromu. Graficke okno umoznuje zobrazovat projekci aktualni sceny pomoci konkretniho promitani (rovnobezna nebo stredova projekce). Vice oken muze zobrazovat tutez scenu. Zobrazeni v danem okne ma mnoho parametru, ktere je mozno menit (napr.: otoceni v osach, zvetseni, zvyrazneni ridicich vektoru, perspektiva atp). Textove okno je kompletni textovy editor.

Animace: Program MDL vytvari animovane sekvence pomoci animacniho jazyka MDL. K tomu, aby mohla probehnout animace je nutno definovat mechanickou strukturu sceny pomoci tvaroveho stromu. Kazda nezavisla mnozina teles na scene se nazyva herec. Kazdemu herci je prirazen tvarovy strom, jehoz vetve predstavuji jeho nezavisle casti.
Animace se popisuje pomoci jazyka MDL. V jazyce priradime kazdemu herci seznam jeho podob a seznam jeho cinnosti. Kazda polozka z obou seznamu muze byt podminena urcitou podminkou. Prvni seznam priradi do te doby abstraktnimu herci jeho geometrickou podobu a cinnosti zmeni jeho polohu. Jazyk svou strukturou simuluje paralelni chovani hercu na scene, umoznuje jejich vzajemnou komunikaci a dovoluje herci zmenit podobu behem animace.
Popis animace je uveden v textovem souboru. Program MDL tento text po predchozi priprave interpretuje. Tvorba animace probiha v jednotlivych casovych krocich. V kazdem casovem kroku se ulozi hodnoty prostorovych transformaci z predchazejiciho kroku. Kazdemu herci se postupne priradi tvar a vykonaji se jeho cinnosti, ktere zmeni hodnoty argumentu. Provede-li se vyse popsany postup pro kazdeho herce na scene, pak je ukoncen vypocet stavu v danem case a cela scena se vykresli nastavenym zpusobem. Jde-li o finalni zobrazeni, pak se jednotlive snimky ulozi na disk. Na disk se ukladaji pouze diference mezi jednotlivymi snimky. Tyto diference se jeste komprimuji do formatu podobneho formatu RLE. Animacni sekvence lze prehrat samostatnym prehravacem - programem 'PLAY.EXE'.

Klicova slova:

3D modelovani, hierarchicky 3D model, pocitacova animace, jazyky na popis animaci, komprese animacni sekvence, prehravani animacni sekvence


[Diploma theses], [CGG Home Page], [School of Informatics]

HTML HaL Mozilla Checked! 17.10.1995, send comments/requests to pepca.at.cgg.mff.cuni.cz