Page 1 of 1
[CG]Animatie
Posted: Sat Aug 23, 2008 9:55 pm
by Fristi
Hiya
nog een last minute vraagje over animatie, was die hier in orde aant brengen en van men engine van juni aant overzetten.
Nu bij de 2de animatie opdracht zittek met een probleempje.
Stel dattek met 3 kranen werk:
Ik zet men eerste, dan na 120 graden 2de, en wederom na 120 de derde. Das geen probleem, maar hoe weet ik welke straal ik moet nemen voor men cirkel?
Ik bedoel hiermee, welke straal nemen zodat het mooi uitkomt met containers, als ik de straal te groot neem dan werkt het goed bij de eerste kraan ,maar dan kan de 2de kraan er niet aan.
Het punt waar de ene em afzet zou gelijk moeten zijn aan het punt waar de volgende em oppikt. Nu ik kan da wel een beetje gokken ,maar dan gaat het goed voor 3 kranen,m iss 4, maar meer ook niet.
Ik zie de manier niet waarop ik dit kan berekenen (zodat ik een formle heb zodende dat men straal automatisch juist aanpast als ik meer kranen inlees)
Greets
Fristi
Posted: Sun Aug 24, 2008 2:50 am
by Yannick
uhm .. moet ge da nog wel make? 't ga toch de ronde van de legende da ge op u praktijk van graphics ter plekke en taakje moet ineen flanzen?
Alleja .. heb ik hore zegge dus geen id van
Ni op mij lette haha, kop in de wolkeuh <o/
Posted: Sun Aug 24, 2008 9:10 am
by slimmy
Als het zo is zulde animatie ook wel nodig hebben he

Posted: Sun Aug 24, 2008 10:01 am
by Fristi
Yannick wrote:uhm .. moet ge da nog wel make? 't ga toch de ronde van de legende da ge op u praktijk van graphics ter plekke en taakje moet ineen flanzen?
Alleja .. heb ik hore zegge dus geen id van
Ni op mij lette haha, kop in de wolkeuh <o/
"Legende", lees gwn blackboard is

Daar staat op dat ge daar een taakje moet maken op u engine, maar ge moest u presentatie net zo voorbereiden als tegen de vorige keer
Nuja, ik kan animeren, de eerste opdracht heb ik, das geen probleem, tzit em echt bij die 2de, tlukt me ni om da schoon te laten uitkomen -.-"
Posted: Sun Aug 24, 2008 11:20 am
by Pieter Belmans
Bij mij kwam het ook niet geweldig mooi uit, mijn draaiing deed ik gecombineerd met een translatie in verschillende richtingen om het beter te laten uitkomen, en de container stond een halve kraan te ver aan het einde van de animatie, maar dan zeg je iets als "dat komt door afrondingsfouten!" en alles is in orde

. Sinussen/cosinussen van kleine getallen zijn nu eenmaal niet altijd even exact in 32-bit floats (ook niet in 4096-bit floats

).
Posted: Sun Aug 24, 2008 11:22 am
by Fristi
mja, het puntt is, ongeveer laten uitkomen is 1 ding, maar nu is het kwa afstand gwn gokken en proberen en dan zien da er is ne keer een waarde half uitkomt, da zal ze dan worden
(doet u wel is denken over hoe goe die mannen hun opdracht voorbereiden

)
Posted: Sun Aug 24, 2008 1:27 pm
by VFlicka
Hier is een stukje code van mij van de 2de animatie
Code: Select all
PROCEDURE CreateObjects(kraan, container: MyMoffParser.WorldNode; nokranen: INTEGER; r: REAL; f: REAL; crot: REAL);
VAR
kranen: POINTER TO ARRAY OF MyMoffParser.WorldNode;
cont: MyMoffParser.WorldNode;
v: Vector.Vector4D;
i: INTEGER;
wereld: MyMoffParser.World;
translate, rotate, rotate180: Matrix.Matrix4D;
total: MyMoffParser.WorldNode;
BEGIN
ASSERT(nokranen >= 1, 100);
NEW(v);
cont := container.Copy();
v.Set(0.0, 0.0, 3.0, 0.0);
cont.Transform(MyTransform.RotateY(-2*crot));
translate := MyTransform.Translate(v);
cont.Transform(translate);
rotate := MyTransform.RotateY(PI*(f-ENTIER(f)));
cont.Transform(rotate);
v.Set(r, 0.0, 0.0, 0.0);
translate := MyTransform.Translate(v);
cont.Transform(translate);
rotate := MyTransform.RotateY((2*PI*ENTIER(f))/nokranen);
cont.Transform(rotate);
NEW(kranen, nokranen);
rotate180 := MyTransform.RotateY(PI);
FOR i := 0 TO (nokranen-1) DO
NEW(kranen[i]);
kranen[i] := kraan.Copy();
IF ENTIER(f) = i THEN
rotate := MyTransform.RotateY(PI*(f-ENTIER(f)));
kranen[i].Transform(rotate);
ELSIF ENTIER(f) > i THEN
kranen[i].Transform(rotate180);
END;
kranen[i].Transform(translate);
rotate := MyTransform.RotateY((2*PI*i)/nokranen);
kranen[i].Transform(rotate);
END;
total := cont;
FOR i := 0 TO nokranen-1 DO
total := total.Join(kranen[i]);
END;
NEW(wereld);
wereld.AddBack(total);
mv^.SetWorld(wereld);
END CreateObjects;
deze procedure zette alle objecten op de juiste plaats, mijn kranen hadden wel puntige hoeken, dus die konden niet overlappen met andere kranen als je zou draaien.
Edit: waarbij de parameter f een real is van 0 tot aantalkranen+1 met de verhouding van hoever de animatie al is.
Posted: Sun Aug 24, 2008 5:05 pm
by Scheder
hoe is animatie 1 nu juist?
ge hebt een cirkel van kranen
en int midden een cirkel vna containers of maar 1 container?
een kraan moet dan naar die container rijde, oppakken en dan 'van de ene kant naar de andere en trug rijden'
die 'van ene naar andere kant' is da dan da die kraan naar links moet rijde, dan helemaal naar rechts en dan als die trug in het midden is die container trug moet neerzetten en trug achteruit moet rijden? of hoe moetek da zien?
Posted: Sun Aug 24, 2008 5:45 pm
by Fristi
Ge hebt een cirkel van kranen, op diezelfde cirkel staat 1 container.
De eerste krijn rijd links naar de container, pakt die op, rijd naar rechts en zet die dan neer.
Stel dat er tussen u kraan en container nen hoek van 60 graden is.
Dan rijd ge 60 naar links, pakt u container op, 120 naar rechts, zet container neer, rijd 60 terug zodat kraan op oorspronkelijke plaats staat.
Da komt heel schoon uit
Zo heel de cirkel rond

Posted: Sun Aug 24, 2008 8:57 pm
by Scheder
hmm i dont get it
dus wnr die container neergezet wordt, zit die dan nog in de cirkel?
die verwisselt van plaats me de kraan ?
Posted: Sun Aug 24, 2008 9:23 pm
by Fristi
Ja, die zit nog in die cirkel. U container staat tussen 2 kranen.
Stel:
-------K
C
-------K
Dan gaat bijv. de onderste kraan naar die container rijden. Deze dan oppakken en dan naar de andere kant brengen dus:
-------K
-------------C
-------K
Dan gaat de bovenste kraan die container oppakken en terugbrengen naar zen oorspronkelijke positie.
(das de uitleg voor met 2 kranen ).
Bij meer kranen veranderen enkel de hoeken
Posted: Sun Aug 24, 2008 9:25 pm
by Scheder
aaah zo
ok thx, nu snappek het
thx!!!!
Posted: Sun Aug 24, 2008 9:27 pm
by Scheder
over uw vraag trouwes
ik had de straal meegegeve in mijn xml file
dus kunt ge er daar mee spele, mr in hoeverre verschilt da van de situatie in opdracht 1, behalve da de kraan effectief zelf moet draaie?
Posted: Sun Aug 24, 2008 9:50 pm
by Fristi
In opdracht een beweegt u kraan van links naar rechts, in opdracht 2 blijft u kraan staan en draait ze ter plekke. De kop draait, neemt de container op enzo. Ge moet zien da da dan schoon uitkomt me u kranakop enzo.
Nuja, maakt ni meer uit, cd is gebrand.
Posted: Mon Aug 25, 2008 12:37 am
by Scheder
cd?
moet da nog altijd op cd?
moet er nog iets gedaan worden?
edit:
als ge nu 6 kranen hebt
en ge brengt de container naar den overkant
dan ga de kraan aan den overkant, die dus trugbrenge, zo kunt ge toch maar hoogsten me 6 krane iets forcere me die container?
of ist anders?
als ge bvb 4 krane hebt. op 12u, 3u, 6u, 9u. moet de kraan van op 3u dan de container naar 7.5u brenge of 4.5?
edit2: ow hmm, kak, ge moet alleen maar bewege op de cirkel? -_- voor nix ligge translate...