symulacja modsim grafika i animacja

background image

MODSIM II

Grafika i animacja

background image

Podstawowe obiekty graficzne aplikacji

 WindowObj

Standardowe okno aplikacji będące przede wszystkim kontenerem

wszystkich pozostałych obiektów graficznych

 ImageObj

Bazowy statyczny obiekt graficzny

 DynImageObj

Bazowy obiekt graficzny wykorzystywany do animacji

 DialogBoxObj

Obiekt graficzny reprezentujący okno dialogowe składające się z

różnych kontrolek: buttons, check boxes, list boxes, radio boxes,

value boxes and text boxes

 MenuBarObj

Pasek menu aplikacji

background image

GraphicVObj – bazowy obiekt graficzny

ParentWindow : ANYOBJ
ReferenceName : STRING
Id : INTEGER
LastPicked : GraphicVObj
Translation : PointType - względna pozycja względem „rodzica”
Visible : BOOLEAN
Hidden : BOOLEAN - niewidoczny razem z „dziećmi”
Selectable : BOOLEAN
ASK METHOD Draw - ustawia Visible=TRUE i wywołuje Update
ASK METHOD Update - uaktualnia obiekt na ekranie wraz z „dziećmi”
ASK METHOD DisplayAt(IN x,y : REAL)
ASK METHOD SetTranslation(IN tx, ty : REAL)
ASK METHOD Erase {Visible=FALSE}
ASK METHOD SetHidden(IN hidden : BOOLEAN)
ASK METHOD SetSelectable(IN selectable : BOOLEAN)

background image

GraphicVObj – bazowy obiekt graficzny

ASK METHOD ClickButton() : INTEGER – numer ostatnio naciśniętego

przycisku

ASK METHOD BeSelected – wywoływana, gdy obiekt jest wskazany przez

mysz

ASK METHOD AcceptInput() : ANYOBJ
ASK METHOD SaveToLibrary(IN library : GraphicLibObj;
IN name : STRING)
ASK METHOD LoadFromLibrary(IN library : GraphicLibObj;
IN name : STRING)
ASK METHOD AddGraphic(IN NewMember: GraphicVObj)
ASK METHOD RemoveGraphic() : ANYOBJ
ASK METHOD Child(IN referenceName : STRING;
IN id : INTEGER) : ANYOBJ
ASK METHOD Descendant(IN referenceName : STRING; IN id : INTEGER) :

ANYOBJ – j.w. z tym, że przeszukuje również dalsze poziomy hierarchii

background image

Definiowanie obiektów graficznych

Obiekty graficzne dodawane do struktury obiektów

okna aplikacji mogą być definiowane:

 całkowicie w sposób dynamiczny – definiując jawnie

w programie wszystkie niezbędne atrybuty
(wykorzystując ich metod)

 z wykorzystaniem edytora graficznego

SimDraw,

w

którym stworzone obiekty są następnie zapisywane
do biblioteki graficznej w postaci pliku *.sg2
W celu załadowania tak zdefiniowanych obiektów
graficznych z biblioteki należy wykorzystać

GraphicLibObj

background image

ImageObj

Color : ColorType
Highlighted : BOOLEAN
HighlightColor : ColorType
Parent : ImageObj
ASK METHOD SetColor(IN color : ColorType)
ASK METHOD SetRGBColor(IN redPct : REAL; IN greenPct : REAL;

IN bluePct : REAL)

ASK METHOD SetScaling(IN xScale, yScale : REAL)
ASK METHOD SetRotation(IN rotation : REAL)
ASK METHOD SetWorld(IN worldXlo : REAL; IN worldYlo : REAL;

IN worldXhi : REAL; IN worldYhi : REAL) – układ współrzędny

dla obiektów będących „dziećmi”

ASK METHOD Select(INOUT x,y : REAL) : ImageObj

background image

DynImageObj

Course : REAL

Speed : REAL

MovingTo : BOOLEAN

XVelocity : REAL

YVelocity : REAL

RotationSpeed : REAL

RotatingTo : BOOLEAN

AutoRotation : BOOLEAN

ScaleSpeed : REAL

ScalingTo : BOOLEAN

background image

DynImageObj

ASK METHOD StartMotion

ASK METHOD StopMotion

ASK METHOD SetCourse(IN course : REAL)

ASK METHOD SetSpeed(IN speed : REAL)

TELL METHOD MoveTo(IN XDestination, YDestination : REAL)

TELL METHOD FollowPath(IN path : PointArrayType)

TELL METHOD RotateTo(IN theta : REAL)

ASK METHOD SetRotationSpeed(IN rotationSpeed : REAL)

TELL METHOD ScaleTo(IN xScale, yScale : REAL)

ASK METHOD SetScaleSpeed(IN scaleSpeed : REAL)

background image

WindowObj - własności

 wygląd – widzialność, rozmiar, położenie, tytuł
 zawartość – drzewiasta struktura obiektów

graficznych znajdujących się w oknie

 kolor – określany za pomocą szerokiego

zestawu predefiniowanych kolorów lub za

pomocą RGB

 monitorowanie akcji myszy – metody reakcji na

zdarzenia generowane przez mysz

 kursor – paleta kursorów
 suwaki (scroll bars)
 status bar

background image

Przykładowy graficzny program

symulacyjny

background image

Przykładowy graficzny program

symulacyjny

MAIN MODULE cart;
FROM Window

IMPORT WindowObj;

FROM Animate

IMPORT DynImageObj, DynAClockObj;

FROM Graphic

IMPORT GraphicLibObj;

FROM Form IMPORT DialogBoxObj;
FROM Button

IMPORT ButtonObj;

FROM Value IMPORT ValueBoxObj;
FROM Menu IMPORT MenuBarObj, MenuItemObj;
FROM SimMod

IMPORT StartSimulation, ResetSimTime;

FROM GTypes IMPORT ALL ColorType;

cdn...

background image

Przykładowy graficzny program

symulacyjny

TYPE

menubartype = OBJECT(MenuBarObj)
OVERRIDE
ASK METHOD BeSelected;
END OBJECT;

VAR

window : WindowObj;
library : GraphicLibObj;
cart

: DynImageObj;

clock : DynAClockObj;
dialogbox

: DialogBoxObj;

menubar : menubartype;
item

: MenuItemObj;

end

: BOOLEAN;

cdn...

background image

Przykładowy graficzny program

symulacyjny

OBJECT menubartype;
ASK METHOD BeSelected;

VAR

button : ButtonObj;
XLocation, YLocation : ValueBoxObj;

library : GraphicLibObj;

BEGIN

CASE ASK LastPicked TO ReferenceName
WHEN "start": {start}

ASK dialogbox TO Draw;
button := ASK dialogbox TO AcceptInput();

cdn...

background image

Przykładowy graficzny program

symulacyjny

IF ASK button TO ReferenceName = "ok"

XLocation := ASK

dialogbox TO Child("x", 0);

YLocation := ASK dialogbox TO

Child("y", 0); ASK clock TO StartMotion; ASK cart TO

SetSpeed(2000.0);

ResetSimTime(0.0); TELL cart TO

MoveTo(ASK XLocation Value(),
ASK YLocation Value());
StartSimulation;
END IF;
WHEN "exit": { stop }
end:=TRUE;
END CASE;
END METHOD;

END OBJECT;

cdn...

background image

Przykładowy graficzny program

symulacyjny

BEGIN

NEW(window);
ASK window TO SetSize(70.0,70.0); {w procentach wspolrzednych
ekranu

(100.0,100.0)}

ASK window TO SetTitle("MODSIM II - program symulujacy ruch
wozka"); ASK window TO SetColor(Black);
ASK window TO DisplayAt(25.0,25.0);
NEW(library);
ASK library TO ReadFromFile("cart.sg2");

NEW(menubar);
ASK menubar TO LoadFromLibrary(library, "menubar");
NEW(dialogbox);
ASK dialogbox TO LoadFromLibrary(library, "dialog");

cdn...

background image

Przykładowy graficzny program

symulacyjny

NEW(cart);
ASK cart TO LoadFromLibrary(library, "cart");
NEW(clock);
ASK clock TO LoadFromLibrary(library, "clock");
ASK clock TO SetTimeScale(1.0 / 3600.0); {liczba godzin na jed.

czasu sym.}
ASK window TO AddGraphic(menubar);
ASK window TO AddGraphic(cart);
ASK window TO AddGraphic(clock);
ASK window TO Draw;
ASK window TO AddGraphic(dialogbox);
WHILE NOT end

item := ASK menubar TO AcceptInput();

END WHILE;

END MODULE.


Document Outline


Wyszukiwarka

Podobne podstrony:
7532, =Grafika animacja
symulacja modsim monitory
masalski,grafika komupterowa, Przegląd możliwości poszczególnych aplikacji do tworzenia animacji Ani
masalski,grafika komupterowa, Dynamika i animacja
modsim symulacja
Samolot animacja, Studia, WAT Informatyka, s3 - GK - grafika komputerowa, LAB2
Wyrzutnia animacja, Studia, WAT Informatyka, s3 - GK - grafika komputerowa, LAB2
Samolot animacja 2, Studia, WAT Informatyka, s3 - GK - grafika komputerowa, LAB2
BWP animacja 3, Studia, WAT Informatyka, s3 - GK - grafika komputerowa, LAB2
masalski,grafika komupterowa, Animacja ruch w grafice
Wprowadzenie do fizyki w grach animacjach i symulacjach Flash
Wprowadzenie do fizyki w grach animacjach i symulacjach Flash
modsim symulacja
Wprowadzenie do fizyki w grach animacjach i symulacjach Flash wprofi
informatyka wprowadzenie do fizyki w grach animacjach i symulacjach flash dev ramtal ebook
Metoda animacji społecznej (Animacja społeczno kulturalna)

więcej podobnych podstron