XCAMERAPATH: Camerapath editor written by Tom Abel in 2008 The basic design is to choreograph first a path for the point of interest. I.e. define a path for the x, y, z coordinate of where to look at (point of interest: POI) as a function of time. Then choose the distance from that point over time. The rotation angles Rx, Ry, and Rz will then set the position of the camera relative to the point of interest. The path can then be written in .wf format which is understood by partiview, e.g. Essentially all we are doing is to use interpolating functions between the specified control points for a variety of variables. You can choose between piecewise linear or spline interpolation where for the latter you can control the spline tension to control the curvature around control points. DEFINITION OF VARIABLES dist: Distance of camera from point of interest. Use the lin. dist./log. dist. button to toggle between linear and logarithmic interpretation of the distance Rx: Rotation angle (degrees) around X axis. Up and down. 0: looks down z axis onto x-y plane Ry: Rotation angle (degrees) around Y. Left and Right. Negative value moves camera left Rz: Rot. angle (degrees) around Z. Rolls camera around z axis. time: Converts from frames to physical time x: Point of interest x coordinate y: y z: z stereo, min, max: Reserved (currently not written) to choreograph stereo eye separation and rendering parameters For every variable you can set the minimum and maximum to which the bottom and top of the drawing window correspond to. You can just click on control points and move them around. An exception are control points read from a location (.label) file. You can only move them horizontally (in time) when the x,y, or z variable of the POI are selected. This is a "feature" not a bug and allows you to have very high precision location specification of the point of interest. This is crucial for very high dynamic range data. When a location file (.label) is read, two control points are added for each location specified. This allows you to choreograph how long you want to spend looking at that object. Go to any of the x, y, or z buttons and move the control points horizontally to do so. There is no "UNDO" functionality. However, the state of the applications is saved everytime you write the frames.wf file. The state is written to ~/currentpath.sav SO should you have made a booboo you can always go back and open that file with Ctrl+Shift+O or from the file menu option: restore previous state. KEYBOARD SHORTCUTS File Menu: Ctrl+N: Start over with a minimal parameters set for the path. Ctrl+O: Read location file. These are x,y,z coordinates and labels for points of interest. A file with ending file.label looks e.g. like this: 0 0 1 text Corner 001 0 1 1 text Corner 011 0 1 0 text Corner 010 0 0 0 text Corner 000 The first three are the coordinates and everything after "text: is concatenated for a label. This is compatible with partiview .label files Ctrl+S: Interpolate # coarse points to a path file: ~/frames.wf Ctrl+F: Interpolate fragment with # coarse points to a path file: ~/frames.wf The cursor becomes crosshair and waits for you to click on the location around which the fragment is constructed and written to ~/frames.wf This allows you to choreograph details in the middle of the path. Ctrl+Shift+S: Interpolate # frames points to the path file: ~/frames.wf Alt+S: Save current state. Write current state to a file so you can edit the path again later. Ctrl+Shift+O: Restore old state. Ctrl+Q: Quit. It will ask you whether you want to save the current state to disk for future reference. Just hit cancel if you really just want to quit. Tools Menu: Ctrl+L: Toggle linear vs spline interpolation for the current function. Ctrl+R: Reset current function Ctrl+A: Add control point. The cursor turns cross hair and waits for you to left click with your mouse on the position where you want the point. Ctrl+Shift+A: Add location point. The cursor turns cross hair and waits for you to left click with your mouse on the time line where you want to add the point. After you click it opens a window allowing you to specify x,y and z of the new POI. Ctrl+D: Delete control point. The cursor turns cross hair and waits for you to click close to the point you want to delete. Not that you cannot delete points read from a .label file. Ctrl+E: Edit variables, brings up the control points and function values in a spreadsheet window so you can edit the values by hand for finer control. You need to click accept before the changes are adopted. This is also the only way to adjust POI coordinates which were read from a .label file. Ctrl+P: Is a currently broken feature that someday will preview the path on simple data... To make the xcamerapath.sav file that can be used with the virtual machine and requires no IDL license do the following: start idl > idl or reset existing session with: IDL> .full_reset_session now at the IDL prompt: IDL> .r xcamerapath IDL> create_standalone this created the xcamerapath.sav file in the current directory. This is architecture independent and you can distribute it to friends.