home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 021.lha / 3d.doc < prev    next >
Text File  |  1986-11-10  |  10KB  |  207 lines

  1. 3D Wire-Frame Object Editor
  2.  
  3. USER DOCUMENTATION
  4.  
  5. Index:
  6. 1) Overview
  7. 2) Using the System
  8. 3) Creating an Object
  9.  
  10. 1) Overview
  11.     The 3D wire frame editor is useful for creating wire frame
  12. objects  which may be manipulated in 3 dimensions. A wire frame
  13. object may be described by a set of vertices (points) connected
  14. by a set of edges (lines). Each point is described by a set of
  15. coordinates (x,y,z) representing its position in  three space.
  16. Each edge is described by a set (v1,v2) of the vertices which it
  17. connects. Designing a wire frame object by entering the lists of
  18. vertices and  edges is a tedious process. This program simplifies
  19. the design process by  allowing the user to enter the wire frame
  20. object interactively; a picture of the object is drawn in a
  21. window on the viewscreen, while points and vertices are entered
  22. into the object by placing them in the picture using the mouse. 
  23.  
  24.     One of the major limitations in using a computer to design three
  25. dimensional objects is the two-dimensional screen, which makes
  26. the perception of depth difficult for the user. Additionally, the
  27. user may wish to view the object from a variety of angles, and to
  28. scale in or out on certain sections for closer study. This
  29. program uses a number of techniques to help the user. Firstly,
  30. the object is projected on the screen using 'perspective
  31. projection', in which objects appear to become smaller and
  32. parallel lines converge as  they recede into the distance. For
  33. many objects, this gives an important  visual cue as to where
  34. things are. Secondly, the program allows real-time  rotation of
  35. the object around the x, y, and z axes, in addition to scaling
  36. and translation (movement) of the object in the window. Finally,
  37. an  option is provided to display a red-green stereo image which,
  38. when used with special 3d 'movie' glasses, gives the illusion of
  39. a three dimensional view. Note: at the time of this writing, the
  40. 3d mode still has bugs, so it might not work correctly.  
  41.  
  42. 2) Using the System
  43.       To start up the program, type "3d" at the CLI prompt, or
  44. select the 3d icon by double clicking on it with the left mouse
  45. button. To run the  program as a subtask from the CLI, remember
  46. to type "run 3d". In any case, a new screen will appear, and two
  47. windows will appear on top of it. To get back to the workbench,
  48. or to any other programs running concurrently on other screens,
  49. either a) pull down the screen dragging down on the screen title
  50. bar with the left mouse button, b) select the below gadget in the
  51. upper right corner of the screen to send the screen to the
  52. bottom, or c) hit the 'LeftAmiga'-'n' keys. To exit the system,
  53. select the close gadget at the  upper left corner of the control
  54. panel window. 
  55.  
  56.      The Object Window
  57.     One of the windows on the screen is labeled 'Object Window'. 
  58. The object will be displayed in this window. Note that it has
  59. a resize gadget in the lower right corner. This can be used
  60. to resize the window to fill the whole screen, if desired. When
  61. the window is resized, the object within it will be redrawn in a
  62. new size. The small bright dot in the center of the window is
  63. known as the 'marker'. The marker is used to position or select
  64. the vertices and edges of an object being rendered.
  65.  
  66.      The Control Panel
  67.     The other window on the screen is labeled 'Control Panel'. 
  68. Most of the commands to the system will be made by selecting the
  69. gadgets in this window. To select a gadget, place the mouse
  70. cursor over it and press the left mouse button. The set of move
  71. gadgets is used to position the marker in the object window. The
  72. rotate, scale, and translate gadgets are used to alter the
  73. appearance of the object within the object window. Place and
  74. Remove vertex are used to add and delete vertices from the
  75. object, while Place and Remove edge do the same for edges. The
  76. group commands may be used to define subsets of an object upon
  77. which an operation will take effect.     Notice that the title bar in one of the windows will be clear,
  78. while the other will be 'ghosted' over. The former window is the
  79. 'active' window. To activate a window, place the mouse anywhere
  80. within its body and click with the left mouse button. Note that
  81. by clicking on the screen background, both windows are made
  82. inactive. 
  83.  
  84.      The Menu System
  85.     With either of the windows activated, now press down on the
  86. right  mouse button. A menu strip will now appear at the top of
  87. the screen. Without letting up on the right button, move the
  88. mouse cursor to the top of the screen above one of the menu
  89. titles. A small window will now drop down, listing a set of
  90. commands which are accessible through that menu. To select a
  91. command, now move the mouse pointer down until that command is
  92. highlighted and release the right mouse button. The first menu on
  93. the left is used to save and load objects or subobjects. The
  94. second menu is used to toggle on or off program  options, such as
  95. stereo display. The third menu is a clear menu, which has
  96. commands to clear the current object from menu and to clear the
  97. current  grouping set. The fourth menu is a debug menu used to
  98. dump information about  the internal status of variables to the
  99. CLI from which the program was started; this output may be
  100. redirected to a file using the standard '>'  character on the
  101. command line. This menu will only appear if the '-d' option is
  102. appended to the command line invoking the program.
  103.  
  104.   3) Creating an Object     
  105.     Creating objects consists of placing vertices and drawing lines
  106. between them. To place a vertex, move the marker to the position in 
  107. which you want it placed using the move gadgets. Then press the place
  108. vertex gadget to place a vertex at the current vertex position. Note
  109. that the current vertex position in NDC space is displayed in the
  110. upper left hand corner of the object window; this can be turned of with
  111. the Coords Off option on the Options menu. To draw an edge between
  112. two vertices, place the marker near to the first vertex, and press
  113. the place edge gadget. The vertex which is currently closest to the
  114. marker will be highlighted to signify which vertex the command will
  115. operate on. Now move the marker near to the second vertex and press
  116. the place edge gadget again. Notice that as the marker is moved away
  117. from the first vertex, a line is drawn between it and the  first
  118. marker, and when the place edge gadget is selected the second time,
  119. the endpoint of this line is transferred from the marker to the vertex.
  120.      To delete a vertex, place the marker near to it, and select the
  121. remove vertex gadget. The vertex will disappear, along with all
  122. lines  connected to it. To delete an edge, place the marker near
  123. to one of the  vertices at the end of the line, and hit the
  124. remove edge gadget. This vertex will now become hilighted. Now
  125. move the cursor to the other vertex on the  line, and hit remove
  126. edge again; the line between the vertices will now  disappear. 
  127.     
  128.      Grouping Subobjects
  129.     A 'group' is a set of points and vertices which are a subset of
  130. the  object being displayed. To add a vertex to the group, move
  131. the marker near to the vertex and select the add to group gadget.
  132. To delete a vertex from the group, move the marker near to it and
  133. select the remove from group gadget. Edges may not be explicitely
  134. added to or deleted from a group, but information about edges
  135. which connect members of the group is kept by the program. A
  136. group may be manipulated independently of the main object by
  137. turning on the group option on the options menu. With this option
  138. enabled, all the rotation, translation, and scale operations will
  139. take effect on the group only. Groups may be saved or loaded from
  140. disk using the save/load items on the file menu with the Group
  141. option enabled on the Options menu. Note that the format of a
  142. saved group is identical to that of a saved object, so that
  143. libraries of objects may be stored on disk and read in as groups
  144. to be placed in a scene.
  145.  
  146.      Transforming Objects
  147.      To transform the object in memory, hold down the gadget associated
  148. with that transform. The object will be transformed as long as the gadget is
  149. held down. For instance, to rotate the object around the x axis, select
  150. either the 'up-arrow' or 'down-arrow' gadget under the set of rotation
  151. gadgets. As long as the gadget is held down, the object will continue to 
  152. rotate. Optionally, if you click down on any transformation gadget, and
  153. then remove the mouse pointer from the gadget before you release, the
  154. gadget will remain activated until you click down on it again.
  155.  
  156.      Disk Operations
  157.     Before executing any disk operations, you must enter the filename 
  158. you wish program to use by clicking on the file gadget with the mouse,
  159. entering the filename, and hitting return. The Save and Load menu items
  160. will use this filename to read or write information to system devices.
  161. Normally, Load will clear any previous objects from memory and load a new
  162. object from disk. However, with the Group option enabled, new objects
  163. may be read in from disk without destroying any objects already in memory.
  164. Save will normally save all objects in memory, but with the group option 
  165. enabled, it will only save those vertices belonging to the group, and will
  166. only save those edges which connect two vertices in the group.
  167.  
  168.     Hints
  169.     The filename gadget will accept any logical device as a filename;
  170. specifically, the console window descriptor '*' is valid. Thus, by entering
  171. an asterisk as the filename, one can enter information directly from the
  172. console selecting the load menu item, escaping back to the workbench
  173. screen, and typing the data into the window under which 3d is running
  174. as a task. The data format is:
  175.   x y z
  176.   .
  177.   .
  178.   .
  179.   *
  180.   i j
  181.   .
  182.   .
  183.   .
  184.   *
  185. where x, y, and z are real coordinates of vertices, and i,j are indices
  186. into the coordinates describing edges. For example, to enter a square,
  187. type:
  188.   0.25 0.25 0.0
  189.   0.25 0.75 0.0
  190.   0.75 0.75 0.0
  191.   0.75 0.25 0.0
  192.   *
  193.   0 1
  194.   1 2
  195.   2 3
  196.   3 0
  197.   *
  198.  0.25 0.75 0.0
  199.   0.75 0.75 0.0
  200.   0.75 0.25 0.0
  201.   *
  202.   0 1
  203.   1 2
  204.   2 3
  205.   3 0
  206.   *