Messages from Usenet group comp.lang.idl-pvwave, compiled by Paulo Penteado
Hi, > Im trying to animate a 3d trajectory using the tool "XInterAnimate" > and plotting with "plots" as follows: > > XInterAnimate, set=[500,500,10000], /Showload ,MPEG_QUALITY=100 > ................................... > for j=1,9999 do begin > plots, x((j-1)*200:j*200), y((j-1)*200:j*200), z((j-1)*200:j*200), > % Subscript range values of the form low:high must be >= 0, < size, > with low <= high: X. > % Execution halted at: ANIMATE 27 /home/kostis/PROJECT > LARMOR/dipole/animate.pro > % $MAIN$ You might try to use a long variable as counter: FOR j=1l,9999l do begin ... Just a random guess, though. Best regards, Ingo -- Ingo von Borstel <newsgroups@planetmaker.de> Public Key: http://www.planetmaker.de/ingo.asc If you need an urgent reply, replace newsgroups by vgap.
kostis writes: > Im trying to animate a 3d trajectory using the tool "XInterAnimate" > and plotting with "plots" as follows: > > XInterAnimate, set=[500,500,10000], /Showload ,MPEG_QUALITY=100 > ................................... > for j=1,9999 do begin > plots, x((j-1)*200:j*200), y((j-1)*200:j*200), z((j-1)*200:j*200), > $ > /T3D,/DATA,Thick=1 > XInterAnimate, Frame=j, Window=!D.Window > endfor > XInterAnimate > > The animation starts but in the middle it pops the message: > > % Subscript range values of the form low:high must be >= 0, < size, > with low <= high: X. > % Execution halted at: ANIMATE 27 /home/kostis/PROJECT > LARMOR/dipole/animate.pro > % $MAIN$ > > indicating the line plots... has the problem > What does this message mean exactly?? I'd guess that it means your X, Y, and Z variables are not 200 times as big as your counter. That is they are not arrays of size one million. Cheers, David -- David Fanning, Ph.D. Fanning Software Consulting, Inc. Coyote's Guide to IDL Programming: http://www.dfanning.com/ Sepore ma de ni thui. ("Perhaps thou speakest truth.")
Now i understand what the problem is but I dont know how to fix it: n=100000L x=findgen(n) y=findgen(n) z=findgen(n) XInterAnimate, set=[500,500,999] for j=1L,998L,500 do begin plots, x((j-1):j), y((j-1):j), z((j-1):j),/T3D,/DATA XInterAnimate, Frame=j, Window=!D.Window endfor XInterAnimate Although j is defined as a 'long' number the number j*100 is not and the animation stops when the limit is reached.. How do i fix it??? Thanx a lot
kostis writes: > Now i understand what the problem is but I dont know how to fix it: > > n=100000L > x=findgen(n) > y=findgen(n) > z=findgen(n) > XInterAnimate, set=[500,500,999] > for j=1L,998L,500 do begin > plots, x((j-1):j), y((j-1):j), z((j-1):j),/T3D,/DATA > XInterAnimate, Frame=j, Window=!D.Window > endfor > XInterAnimate > > Although j is defined as a 'long' number the number j*100 is not and > the animation stops when the limit is reached.. > How do i fix it??? j is not your problem. You are just running COMPLETELY out of pixmap memory, would be my guess. :-) You could try getting a graphics card that off-loads pixmap memory to the hard drive, but I wouldn't know which one that is. If you really want that many frames, you may have to figure out another way to do the animation. Cheers, David -- David Fanning, Ph.D. Fanning Software Consulting, Inc. Coyote's Guide to IDL Programming: http://www.dfanning.com/ Sepore ma de ni thui. ("Perhaps thou speakest truth.")
Hi, >> n=100000L >> x=findgen(n) >> y=findgen(n) >> z=findgen(n) >> XInterAnimate, set=[500,500,999] >> for j=1L,998L,500 do begin >> plots, x((j-1):j), y((j-1):j), z((j-1):j),/T3D,/DATA >> XInterAnimate, Frame=j, Window=!D.Window >> endfor >> XInterAnimate >> > j is not your problem. You are just running COMPLETELY > out of pixmap memory, would be my guess. :-) If that's the problem - which was at some point probably my problem, too - I propose to just create an array of images and not one of pixmaps. Either you can store them on disc or keep them in memory and display them with the usual tv or tvscl routines. It works for me. Might be a trifle slower, but I guess that's the price you pay for large sequences of images. I ended up with a routine that pre-processes my images and saves them individually (I want to display some additional data printed onto them) and then I call a routine which creates an *.mpg file out of this sequence of images. e-mail me, if you need more code details. Best regards, Ingo -- Ingo von Borstel <newsgroups@planetmaker.de> Public Key: http://www.planetmaker.de/ingo.asc If you need an urgent reply, replace newsgroups by vgap.