I would be interested in hearing more about what Eric means by "interpolation". An analogy to graphic data seems appropriate. A distinction I would bring up is between taking a set of dots on a graph and (a) connecting them with line segments or (b) drawing the best-fit curve through them. In the first case you get a fairly unsatisfying set of interpolations. In the second you get a smooth curve at the expense of adjusting the data.
NOW, if your interest in interpolation is to just do (a) -- make a linear interpolation between each frame -- I think that might be less interesting. If, on the other hand you are interested in actually creating a time-based "best fit curve" through the data -- basically fitting each atom through a sequence of frames, determining a smooth curve, and then redoing the frames with interpolated frames to create the best-fit animation, THAT might be more interesting. Another possibility is to implement a moveto-like transition between frames. The idea here would be that the positions you see are interpolations of frames while the animation is running, but you can only stop at actual frames. Starting in a given frame, something like: FrameTo <target> <number of interpolations per frame> <overall frames_per_second> The problem there to sort out would be what to do about helixes and such. These really should be recalculated at each point. That might be asking for a lot, but maybe not. It's interesting that Jmol can calculate helixes and sheets -- it doesn't need to be told where they are. And it's very fast. I worry about the overhead, though. AH.... how to do this without messing up the data? How about this: a special frame that gets LOADED with atom data and it is just that "animation frame" that you are seeing. One frame. Perhaps with a special number, like 9999. (When multiple files are loaded, then frames come in with numbers like 1001, 1002, 2001, 2002, so 9999 wouldn't be out of the question.) You could even define the frame number using some simple SET command. "set animationFrameNumber 9999" Then perhaps one could say: frame smoothAnimation <firstFrameNo> <lastFrameNo> <interpolationsPerFrame> <interpolationsPerSecond> <otherOptions> The cool thing about this is that you could do all the manipulation you want -- rotations, zooming, etc. -- while the thing is playing, and it would work just fine. Basically the rendering/animation engine would work just like ever, with the data changing under it. So my proposal would be a single frame that is a clone of the atom set and is loaded on the fly. I think I've successfully separated the rendering functions from the calculation and visibility issues. There are no longer any aspects of visibility that are being determined DURING rendering - so we can define the state of the system at any time. If necessary, we could do a precalculation, but I suspect the real issue there is scalability. You can't just preload 10,000,000 atom locations, helix information, etc. But, on the other hand, there might be a way to stream this -- to save an animation in some format using the application and then stream it in and visualize on the fly. Moving the atoms is no real problem. Miguel's analogy to vibration is intriguing. One could define this all in terms of differences and the sequence of getting from frame A to frame B as, in essense, a once-through vibration vector. Interesting idea. Bob eric capps wrote: >By interpolation between frames, I mean: an option, in the animation >menu, to create a number of "transition" frames between two frames in >an animation to make it look smoother. This is how it was described >to me: > >"I don't know how it work under the hood, but in the jmol 9 that I >use, when you open the Extras->Animate panel, you can check >'interpolate between frames', and choose the number of frames that it >will add between the ones you have loaded." > >Googling it turned up this alone: http://thomas.kuehne.cn/references/ >jmol.diff. > >Weird? Maybe this was a branch that didn't catch on or something, but >if it in fact is not implemented in Jmol 10, I could take a stab at it. > >On Jul 24, 2006, at 12:33 PM, Bob Hanson wrote: > > > >>Eric, >> >>What does that mean, "interpolation between frames"? I suspect the >>answer is "no", and I can't imagine that Jmol 9 did it. >> >>Bob >> >> > >------------------------------------------------------------------------- >Take Surveys. Earn Cash. Influence the Future of IT >Join SourceForge.net's Techsay panel and you'll get the chance to share your >opinions on IT & business topics through brief surveys -- and earn cash >http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV >_______________________________________________ >Jmol-users mailing list >Jmol-users@lists.sourceforge.net >https://lists.sourceforge.net/lists/listinfo/jmol-users > > ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys -- and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ Jmol-users mailing list Jmol-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jmol-users