Springen naar inhoud

3d simulatie in matlab.


  • Log in om te kunnen reageren

#1

Bert F

    Bert F


  • >1k berichten
  • 2588 berichten
  • Ervaren gebruiker

Geplaatst op 05 september 2008 - 13:06

Graag had ik in matlab een 3D simulatie gemaakt. Op het net las ik dat een mogelijkheid was om de coŲrdinaten in te lezen deze te plotten, een tijdje te wachten en dan de coŲrdinaten opnieuw te plotten, een beetje veranderd.
Is deze methode efficiŽnt? Bestaan er geen andere betere methode? Groeten.

Dit forum kan gratis blijven vanwege banners als deze. Door te registeren zal de onderstaande banner overigens verdwijnen.

#2

Bart

    Bart


  • >5k berichten
  • 7224 berichten
  • VIP

Geplaatst op 05 september 2008 - 13:34

Ik begrijp dat je een soort filmpje wilt maken van een 3d-plaatje?
If I have seen further it is by standing on the shoulders of giants.-- Isaac Newton

#3

Bert F

    Bert F


  • >1k berichten
  • 2588 berichten
  • Ervaren gebruiker

Geplaatst op 05 september 2008 - 13:39

eigenlijk had ik graag een mechanica vraagstuk eerst opgelost en nadien gevisualiseerd. dus een filmpje van het lichaam gemaakt waarbij het onderhevig is aan deze bewegingsvergelijkingen.

#4

Bart

    Bart


  • >5k berichten
  • 7224 berichten
  • VIP

Geplaatst op 05 september 2008 - 18:22

Afhankelijk van hoe ingewikkeld je 3D plaatje is, kan het maken (en dus het afspelen) van zo'n filmpje vrij lang duren. In Matlab kun je echter ook de figuren achter elkaar plakken en vervolgens opslaan als een avi-bestandje. Zie hier een voorbeeld code:

% Avi-bestand aanmaken en openen
aviobj = avifile('mymovie.avi','fps',5);

% filmpje maken
for k=1:25
	h = plot(fft(eye(k+16)));
	set(h,'EraseMode','xor');
	set(gca, 'Units', 'pixels');
	set(gca, 'Position', [0 0 300 400]); 
	axis equal;
	frame = getframe(gca, [0 0 300 400]);
	aviobj = addframe(aviobj,frame);
end

% object sluiten
aviobj = close(aviobj);
If I have seen further it is by standing on the shoulders of giants.-- Isaac Newton

#5

Bert F

    Bert F


  • >1k berichten
  • 2588 berichten
  • Ervaren gebruiker

Geplaatst op 06 september 2008 - 10:38

Bedankt voor de tip.
Ik voer het uit maar krijg volgende foutmelding:
??? Can not locate Indeo5 compressor.  Compressor can be downloaded and installed from the Ligos web site.

Error in ==> avifile.addframe at 210
	  avi('addframe',rot90(frame,-1), aviobj.Bitmapheader, ...

Error in ==> filmproef at 13
	aviobj = addframe(aviobj,frame);

Waar aan ligt dat? Groeten.

#6

Bart

    Bart


  • >5k berichten
  • 7224 berichten
  • VIP

Geplaatst op 06 september 2008 - 11:20

De verschillende oplossingen staan hier:

http://www.mathworks...ta/1-VP2UG.html
If I have seen further it is by standing on the shoulders of giants.-- Isaac Newton

#7

Bert F

    Bert F


  • >1k berichten
  • 2588 berichten
  • Ervaren gebruiker

Geplaatst op 06 september 2008 - 12:14

spijtig genoeg voor xp en niet voor vista.





0 gebruiker(s) lezen dit onderwerp

0 leden, 0 bezoekers, 0 anonieme gebruikers

Ook adverteren op onze website? Lees hier meer!

Gesponsorde vacatures

Vacatures