3D6B Editor =========== 3d6b Editor v.1.0 09/01/2002 Design and programming by Kiia Kallio http://mlab.uiah.fi/projects/3D6B/ This is 3D6B Editor for making 3d sketches. The editor is part of the 3D6B website, but can be used as a standalone java application as well. The editor works best when used with a drawing tablet, but a mouse will do also. The main concept in the editor is grid. The grid works as a "three-dimensional paper", all drawing operations are projected to the grid. So whenever you draw something to the screen, the 3d position of the cursor is determined by the position of the grid at that point. The program has four modes for handling various tasks. The first three of these are important considering the creation of sketches. These are "Draw","Grid" and "Camera". The fourth, "File" is used for tasks related to file management, and is a bit different in the web and standalone versions. The screen is divided in two parts: controls are on the left side, and the drawing area is on the right side. Thhe upper part of the control area can be used for changing between modes. Draw mode --------- In draw mode you can select between three drawing tools: "Freehand", "Line" and "Eraser". Freehand-tool draws freely formed lines that follow the mouse cursor, and line-tool draws straight lines. Eraser-tool erases lines from a spherical area. Below the tool selection there is a colour picker. The upper half of the picker shows the current colour, and the lower half has three horizontal bars for adjusting red, green and blue values of the colour. The editor has multi-level undo with a buffer of 100 commands. With "Undo"-button you can undo the last operation you did, and pressing "Undo" again will revert to the state before that etc. With "Redo" you can move to the other direction in the undo buffer. Note that if you draw something after you have pressed "Undo", you can't redo the operation anymore. Undo buffer stores also the state of the grid, so when you undo something, the position of the grid will be reverted to the state it was before the opertation. The lowest checkbox "History" in the draw mode interface can be used for toggling between normal view and history view. In history view, the colours of the lines are determined by the drawing history, i.e. all lines drawn within one editing session are displayed with a single colour. This is a useful feature when sketches are drawn collaboratively on the web. When "History" is checked, the colour picker shows the history colour for current editing session. Grid mode --------- In the grid mode, the "three-dimensional paper" - the grid - can be edited. There are four tools for modifying the grid: "Move", "Push/Roll", "Rotate" and "Bend". When you have some of the tools selected, dragging the grid will modify the grid accordingly. "Move" moves the grid horizontally and verically, "Push/Roll" moves the grid in depth or rotates it arond the depth axis, "Rotate" rotates the grid around horizontal or vertcal axis and "Bend" bends the grid around its axes. Below the grid tools, there are a few options. By checking "Step", the grid movement is limited to steps with size shown by the number in the neigbouring textfield. For movements, this is coordinate units and for rotations, angles in degrees. The next option, "Size", can be used for setting the size of the grid. It tells the size of an individual grid cell in coordinate units. The following checkbox "Snap" forces all drawing operations to snap to grid crossings. This can be used for drawing more regular shapes than is possible with pure freehand tools. Finally, "Hide" checkbox hides the grid. However, even if the grid is hidden, all drawing operations get projected to it, snapping works the same way etc. In addition to the grid tools, the grid can be modified from the keyboard while dawing. This makes drawing faster, as it is not necessary to switch from the drawing mode. When you modify the grid with the grid tools, all movements are relative to the screen. When you modify it from the keyboard, all movements are relative to the local coordiante space of the grid. This makes it easier to move the grid back and forth between two positions regardless of the camera angle. The keybord shortcuts are the following: q - move the grid to negative x direction e - move the grid to positive x direction w - move the grid to negative y direction s - move the grid to positive y direction a - move the grid to negative z direction d - move the grid to positive z direction r - rotate the grid around x axis clockwise y - rotate the grid around x axis counterclockwise t - rotate the grid around y axis clockwise g - rotate the grid around y axis counterclockwise f - rotate the grid around z axis clockwise h - rotate the grid around z axis counterclockwise 1 - bend the grid around x axis in positive direction 2 - bend the grid around x axis in negative direction 3 - bend the grid around y axis in positive direction 4 - bend the grid around y axis in negative direction So the keylayout is: 1234------- bending qwe rty--- rotation asd fgh \-------- movement Camera mode ----------- Camera mode can be used for changing the view to the sketch. Camera tools are used the same way as grid tool: select a tool, and drag the screen to modify the view. There are five tools in the camera mode: "Move" moves the camera horizontally and vertically, "Pan/Tilt" rotates the camera around its own center horizontally and vertically, "Rotate" rotates the camera around the center of the view (usually the sketch you are editing), "Dolly/Roll" moves the camera backwards or forwards or rotates it sideways, and "Zoom" changes the "lens" of the camera, i.e. the camera doesn't move, but changes it's FOV (field of view) so that things appear bigger or smaller. The FOV of the camera can also be edited directly in the textfied below the tools. If the Java virtual machine use for running the editor supports Java2D, there's one extra checkbox "Antialias" as a camera option. It can be used for switching antialiasing on and off from the view. If you encounter performance problems, it is better to switch antialiasing off, even if the image quality suffers from it. File mode --------- File mode is the last mode. It is a bit different in the web and standalone versions. Common to both versions are two text areas that replace the sketch when "File" is selected. The upper one, entitled "History" dispays the editing history of the sketch. Especially in the web version, where the information comes from a database, this is valuable for collaborative projects. The lower area is used for writing messages that are attached to the sketch. These messages are in use only in the web version. On the left side of the display there are two common buttons for both modes: "New" and "About". "New"-button clears the scene and starts a new one from the scratch, and "About"-button displays version information of the program. In the web version, there is only one more button: "Upload". Pressing it will upload the sketch to the server and exit the editing tool. In the standalone version howeve, there is four extra buttons: "Load", "Save", "Export VRML" and "Export Image". "Load"-button will load a new sketch from a file. It is good practise to have ".3d6b" as the suffix of the file, however it is not necessary. The loader will try to load any files, but if the file is not a correct file created with the editor, loading will fail. "Save"-button saves the current sketch to a file. Again, the file suffix should be ".3d6b". "Export VRML" will export the sketch as VRML file. VRML can then be imported to other programs or viewed with a VRML viewer. The suffix for VRML files should be ".vrml" or ".wrl". "Export Image" will export a screenshot of the sketch as Targa image. The suffix for Targa images should be ".tga".