[CG]Animatie

Forum van 1ste Bachelor Informatica.

Moderator: Praesidium

User avatar
Fristi
WOZ
Posts: 4565

[CG]Animatie

Post#1 » Sat Aug 23, 2008 9:55 pm

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
Fristi Ad Infinitum

WINAK WOZ 2013 - ...
WINAK Magister Fristi 2012-2013
WINAK Feest 2011-2012
WINAK Schachtentemmer 2010-2011
WINAK Scriptor 2008-2009 | 2009-2010

User avatar
Yannick
Posts: 97

Post#2 » Sun Aug 24, 2008 2:50 am

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 :x

Ni op mij lette haha, kop in de wolkeuh <o/
What did you learn in school today?
-Revenge.

User avatar
slimmy
Prosenior
Posts: 3130
Contact:

Post#3 » Sun Aug 24, 2008 9:10 am

Als het zo is zulde animatie ook wel nodig hebben he ;)

User avatar
Fristi
WOZ
Posts: 4565

Post#4 » Sun Aug 24, 2008 10:01 am

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 :x

Ni op mij lette haha, kop in de wolkeuh <o/
"Legende", lees gwn blackboard is :P
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 -.-"
Fristi Ad Infinitum

WINAK WOZ 2013 - ...
WINAK Magister Fristi 2012-2013
WINAK Feest 2011-2012
WINAK Schachtentemmer 2010-2011
WINAK Scriptor 2008-2009 | 2009-2010

Pieter Belmans
Posts: 593
Contact:

Post#5 » Sun Aug 24, 2008 11:20 am

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 ;)).

User avatar
Fristi
WOZ
Posts: 4565

Post#6 » Sun Aug 24, 2008 11:22 am

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 :P

(doet u wel is denken over hoe goe die mannen hun opdracht voorbereiden :x)
Fristi Ad Infinitum

WINAK WOZ 2013 - ...
WINAK Magister Fristi 2012-2013
WINAK Feest 2011-2012
WINAK Schachtentemmer 2010-2011
WINAK Scriptor 2008-2009 | 2009-2010

User avatar
VFlicka
WOZ
Posts: 488

Post#7 » Sun Aug 24, 2008 1:27 pm

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.

User avatar
Scheder
Posts: 212

Post#8 » Sun Aug 24, 2008 5:05 pm

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?

User avatar
Fristi
WOZ
Posts: 4565

Post#9 » Sun Aug 24, 2008 5:45 pm

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 :)
Fristi Ad Infinitum

WINAK WOZ 2013 - ...
WINAK Magister Fristi 2012-2013
WINAK Feest 2011-2012
WINAK Schachtentemmer 2010-2011
WINAK Scriptor 2008-2009 | 2009-2010

User avatar
Scheder
Posts: 212

Post#10 » Sun Aug 24, 2008 8:57 pm

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 ?

User avatar
Fristi
WOZ
Posts: 4565

Post#11 » Sun Aug 24, 2008 9:23 pm

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
Fristi Ad Infinitum

WINAK WOZ 2013 - ...
WINAK Magister Fristi 2012-2013
WINAK Feest 2011-2012
WINAK Schachtentemmer 2010-2011
WINAK Scriptor 2008-2009 | 2009-2010

User avatar
Scheder
Posts: 212

Post#12 » Sun Aug 24, 2008 9:25 pm

aaah zo
ok thx, nu snappek het
thx!!!!

User avatar
Scheder
Posts: 212

Post#13 » Sun Aug 24, 2008 9:27 pm

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?

User avatar
Fristi
WOZ
Posts: 4565

Post#14 » Sun Aug 24, 2008 9:50 pm

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.
Fristi Ad Infinitum

WINAK WOZ 2013 - ...
WINAK Magister Fristi 2012-2013
WINAK Feest 2011-2012
WINAK Schachtentemmer 2010-2011
WINAK Scriptor 2008-2009 | 2009-2010

User avatar
Scheder
Posts: 212

Post#15 » Mon Aug 25, 2008 12:37 am

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...

Return to “1ste Bachelor”

Who is online

Users browsing this forum: No registered users and 56 guests