void showMovieFrame(int frame) {
		if (frame < 0 || movie.length() <= 0)
			return;
		if (frame >= movie.length())
			throw new IllegalArgumentException("Frame " + frame + " does not exist");
		setModelTime(modelTimeQueue.getData(frame));
		Atom a = null;
		for (int i = 0; i < iAtom; i++) {
			a = atom[i];
			if (!a.isMovable())
				continue;
			a.rx = a.rQ.getQueue1().getData(frame);
			a.ry = a.rQ.getQueue2().getData(frame);
			a.rz = a.rQ.getQueue3().getData(frame);
			a.vx = a.vQ.getQueue1().getData(frame);
			a.vy = a.vQ.getQueue2().getData(frame);
			a.vz = a.vQ.getQueue3().getData(frame);
			a.ax = a.aQ.getQueue1().getData(frame);
			a.ay = a.aQ.getQueue2().getData(frame);
			a.az = a.aQ.getQueue3().getData(frame);
			a.fx = a.ax * a.mass;
			a.fy = a.ay * a.mass;
			a.fz = a.az * a.mass;
		}
	}