home *** CD-ROM | disk | FTP | other *** search
/ Ray Tracing Box / RAY_CD.mdf / raytrace / povcad / povcad.doc < prev    next >
Text File  |  1993-12-11  |  55KB  |  1,374 lines

  1.                  POVCAD(c) 3.0a by 
  2.                 Alfonso Hermida 
  3.              Pi Square BBS (301)725-9080
  4.             CompuServe 72114,2060
  5.                 12/12/93
  6.  
  7. NOTE: POVCAD is written in Visual Basic 3.0 for Windows (Microsoft Corp).
  8.       To run it you'll need the runtime module VBRUN300.DLL.        
  9.       
  10. DOWNLOADING VBRUN300.DLL      
  11.       You can download VBRUN300.DLL from my BBS or from Compu$erve,
  12.       in the GRAPHSUP forum.  The file is VBRUN3.ZIP.
  13.  
  14.       
  15. POVCAD USERS: The book "Adventures in Raytracing" published by QUE has
  16.           a whole chapter on POVCAD for Windows.  The chapter is
  17.           divided into tutorials and the figures help understand how
  18.           to use it.  The book was written by "yours truly" <g>.
  19.             
  20. -------------------------------------------------------------------------
  21. Copyright (c) 1993 by Alfonso Hermida.
  22. All rights reserved.  The program POVCAD.EXE is distributed "As is". 
  23. The author assumes no responsibility for damages resulting from the use of
  24. this program.  The program has been tested but no software is "bug-free" 
  25. so...use at your own risk!
  26. -------------------------------------------------------------------------
  27.  
  28. Distribution:
  29. Feel free to distribute POVCAD.EXE and it's companion file POVCAD.DOC for
  30. non comercial purposes.  Distributors may charge up to $5 for this program.
  31. If you wish to distribute this program with a comercial software or book
  32. please contact the author at the BBS number given above or by mail:
  33.        
  34.        Alfonso Hermida, 9346 Kings Grant Rd, Laurel, MD 20723.
  35.  
  36. This program is distibuted as Shareware.  You may use this program for
  37. a period of 30 days at which you must either register this software or
  38. stop using it.  Registration entitles you to support thru the BBS.  
  39.  
  40. Registration cost is only $15 and helps continuing work to improve this
  41. software.  To register send your check or money order to the above address
  42. with your name, address, phone number and a password(for BBS access).  Check
  43. at the end of this document for registration form.
  44.  
  45. --------------------------------------------------------------------------
  46.  
  47. THANKS!
  48. I want to take the opportunity and thank a lot of people and BBS that have
  49. helped POVCAD become such a success.  I would like to thank Albert Waltner,
  50. Peter Jack, Curtis Olson for Beta testing and all the helpful comments.  
  51. Dan Farmer was kind enough to upload the file to COMPUSERVE.  Steve Anger
  52. gave me some help with the smooth triangle problem I was having (it turns
  53. out that the POVRAY version I was running had a bug!).  Alexander Enzmann,
  54. author of the Polyray raytracer (thanks!) was enthusiastic about adding 
  55. support for Polyray users...(support is limited but it should improve with 
  56. time.)  Phil Long, Jerry Thomaston, Amanda Osborne and James P. Hawkins 
  57. helped a lot.  Thanks also to Andrew Jones for his DXF (3DFACE) input routine.
  58.  
  59. There were also some great BBS such as:
  60.  
  61. * You Can Call Me Ray BBS (Illinois)
  62.    Bill Minus/Aaron Collins (SysOps)
  63.    (708)358-5611
  64.  
  65. * The Graphics Alternative BBS (California)
  66.    Adam Shiffman (SysOp)
  67.    (510)524-2780
  68.  
  69. * Trace of Reality BBS (Virginia)
  70.    Joe Liccel (SysOp)  
  71.    [system is down at this time]
  72.  
  73. * Monsoon BBS (Maryland)
  74.    Sunil Gupta (SysOp)
  75.    (410)235-2365
  76.  
  77.  
  78. * InspirVision BBS (New York)
  79.    Steve Lao (SysOp)
  80.    718-854-6411
  81.  
  82. In Europe: Raytech BBS - "The UK's only Raytracing BBS"
  83.    Paul Smith (SysOp)
  84.    +44 862 88340
  85.  
  86. *  Digital Imagery BBS
  87.    Philip Harris
  88.    +44 295 272881     V32 MNP 5
  89.    support available for POVCAD, message and file areas also
  90.    [system is down at this time]
  91.  
  92. *  CIX (UK equivalent of CompuServe)
  93.    ECS conference, POVCAD topic
  94.    +44 081 390 1255
  95.  
  96.  
  97.  
  98. who helped me distribute my programs and overall support.
  99.  
  100. And for other specific thanks, check the BUG LIST at the end of this document.
  101. Finally, all of you who were so kind to register their copies.  This proves
  102. that Shareware is alive and well.
  103. ----------------------------------------------------------------------------
  104.  
  105.  
  106.  
  107. What's POVCAD?
  108.  
  109. POVCAD is a small solid object modeling tool to create scene files for
  110. raytracers.  It's based primarily on the POV(Persistence of Vision)
  111. raytracer written by the Persistence of Vision Group.  POV is a copyrighted
  112. freeware raytracer.  If you would like to get in contact with them, 
  113. contact Compuserve (800)848-8990, GraphDev forum or call YCCMR BBS 
  114. (708)358-5611, which is a raytracer specific BBS.  POVCAD also supports
  115. the Polyray raytracer by Alexander Enzmann.  The support is not complete at
  116. this point but a lot can be done.
  117.  
  118.  
  119. With POVCAD you're able to create visually the scene file and have a
  120. pretty good idea (geometry-wise) of how the objects are positioned in 
  121. 3D space.  There is no support for textures and color visualization since
  122. POVCAD is a wire frame-based program.  Nor, you'll see the results of
  123. any constructive solid geometry operation (boolean operation..for short).
  124.  
  125.  
  126. POVCAD supports the following objects and features:
  127. * planes
  128. * disc
  129. * cylinder
  130. * cone
  131. * sphere
  132. * ellipsoid
  133. * torus 
  134. * box
  135. * height_field
  136. * Raw data files (loading)
  137. * Sweep (solid of revolution)
  138. * Extrude (operation on curves)
  139. * Bezier patches
  140. * B-Spline and Catmull-Rom Spline curve smoothing
  141. * light_source/spotlight 
  142. * camera(POV) and viewpoint(Polyray)
  143. * DXF input/output
  144. * 2D Curve Editor with BSpline preview
  145.  
  146. and operations such as union, difference,intersection and composite 
  147. objects.  Textures can be selected from a list without need of typing.
  148. The scene view can be changed between isometric,YX,YZ and ZX.
  149. A session list shows the steps you took to create any image and you may
  150. select any of the objects from the list by clicking on it.
  151.  
  152. An interesting feature is the ability to create or read data files
  153. with path information for animation software.  You can create linear
  154. interpolated data, circular motion, parabolic, helix or just freehand
  155. mode, where you sketch the path with the mouse.  POVCAD does not do
  156. animation but it plots the path files so you can see how things look
  157. on the screen.  The data can be transformed like any object in POVCAD.
  158.  
  159. In the File menu, there is an option to save the session file and to 
  160. Export to POV (that is to create the POV session file).  There is also
  161. various functions to interact with DXF files.
  162.  
  163. ***** PRINTOUT **********************************************************
  164. You may select the FILE menu, then the PRINT command to get a hardcopy
  165. of the image on the screen.  You must have a printer configured to do so.
  166. ************************************************************************* 
  167.  
  168. AN IMPORTANT NOTE:  All rotations and translations are absolute(measured
  169. from the origin).  Therefore, if an object has been translated to (1,1,1)
  170. and you change the x to 1.5, it will be (1.5,1,1) and not (2.5,1,1).
  171.  
  172. My best suggestion is that you play with it for a while to get a better
  173. understanding of the program.  
  174.  
  175.  
  176. What's NEW on versions 2.0c thru  3.0a ************************************
  177.  
  178.     1) Catmull-Rom Curve fitting
  179.        The PATH menu has Catmull-Rom Spline selections.  Use this to smooth out
  180.        a curve created with the POINTS command or from a data file.
  181.  
  182.     2) POV 2.0 support
  183.  
  184.     3) Convert RAW data files to DXF files (found in the FILE menu) using
  185.        3DFACE entities.
  186.  
  187.     4) Read DXF files and convert to RAW (found in the FILE menu)  
  188.        POVCAD can read 3DFACE and POLYLINE entities.  You must select the 
  189.        appropriate command to extract a specific entity...i.e., the 3DFACE command
  190.        will only extract the 3DFACE objects from the selected DXF file.  The same
  191.        applies for POLYLINE.
  192.  
  193.     5) 2D Curve Editor with B-Spline previewer (MISC menu)
  194.         You can load, save and manipulate Curves in 2D, get the points from the buffer and
  195.          put them back...etc.
  196.  
  197.     6) Extrude Along Path
  198.         Now you can create a contour and extrude along a 3D path.  You can have constant                or variable scaling in the contour.
  199.         
  200.  
  201.     7) Disc / Washer object
  202.  
  203.         8) Click n' Drag feature for objects
  204.         Now you can click on any object and drag it to it's new location.  Click on the object,
  205.         and while pressing the CONTROL key, move it to it's new position.  As soon as you
  206.         release the button the objects will be erased and position in it's new place.
  207.  
  208. **********************************************************************************
  209.  
  210.  
  211. Creating an Object
  212.  
  213. To create an object is easy.  Here are the steps:
  214.  
  215. 1) Click on the Object menu and click again on the object you would
  216.    like to create.  All objects start at the origin, except the sphere
  217.    which asks for the center coordinates. 
  218.  
  219. 2) To rotate/translate or scale the object, click on Xform and select
  220.    the appropiate transformations.  The way this program was developed,
  221.    rotations are ALWAYS applied first THEN the translations.   Keep that
  222.    in mind.
  223.  
  224. 3) If you need to edit/delete an object, click on Session and click on the
  225.    object to be modified.  On the bottom right part, the current object
  226.    is shown, with it's texture.  If the object is already there,  you can
  227.    operate on it without having to click on Session.
  228.  
  229. NOTE:The LAST object created is ALWAYS the current object.  If you wish
  230.      to transform it, just go directly to Xform or Texture (if you want
  231.      to put a texture to it).  
  232.  
  233.    To delete an object, either select it (thru the Session menu) or just
  234.    go to Edit if it's the last object drawn and click on Del.  You may use 
  235.    the mouse to select an object too...read the section below titled
  236.    "Selecting objects with a mouse..."
  237.  
  238.  
  239. TEXTURES AND COLORS 
  240.  
  241. To attach a texture or color, select an object (if you do not select an 
  242. object, the current selected object will be used).  Click on TEXTURE or 
  243. COLOR and select the color or texture.  You may edit the text box that 
  244. appears.  Press the OK icon.
  245.  
  246. To change the texture, simply reselect the object and click on a new texture 
  247. or color.  
  248.  
  249.  
  250.         ****************** NEW ********************
  251.  
  252. Adding more TEXTURE and COLOR definitions
  253.  
  254. POVCAD uses 2 files per ray tracer to read the color and texture definitions:
  255.  
  256. For POV     :  colors.pv  and textures.pv  (version 1.0)
  257.            colors.pv2 and textures.pv2 (version 2.0)
  258.  
  259. For POLYRAY :  colors.def and textures.def
  260.  
  261.  
  262. You may edit them and include the names of any new colors or textures you come
  263. up with.  All of the files have the same format: 1 name per line, the name
  264. being 1 word, i.e, it must not have any spaces.  The name my_texture is 
  265. acceptable while my texture is not.
  266.  
  267.  
  268. ***** To attach textures and colors to CSG objects check the *************
  269.        "Creating Constructive Solid Geometry" section
  270.  
  271. Creating Solids of Revolution (Sweep command)
  272.  
  273. WITH POINTS:
  274.  
  275. 1) Click on the PointOff button (to enable point creation)
  276. 2) Select a View different than Iso (i.e. YX,ZX or YZ)
  277. 3) Click on the window and draw a contour (up to 50 points)
  278. 4) Select the Sweep command from the Objects menu
  279. 5) give a filename.ext (the data will be saved in RAW format)
  280. 6) indicate sweep angle and number of segments
  281.  
  282. * If you wish to erase the points and start all over use the Del Points
  283.   command in the Edit menu.
  284. * SnapOn forces the points to fall in the intersections of the grid
  285.   lines, while GridOff let's you select any place on the screen.
  286.  
  287.         ****************** NEW ********************
  288.  
  289. WITH DATA FILE:
  290.  
  291. POVCAD can now SWEEP a data file that have been created with the path command
  292. or with any other program.  The data files must consist of a list of X,Y and Z
  293. coordinates that define a curve or contour.  Select the SWEEP/DATA FILE 
  294. command and select the file to be swept, and follow steps 5) and 6) from
  295. the previous command (WITH POINTS).
  296.  
  297. NOTE: The format of RAW and SWEEP data files is:
  298.   x1 y1 z1 x2 y2 z2 x3 y3 z3
  299.   x4 y4 z4 x5 y5 z5 .......
  300.   ...... ect ..............
  301.  
  302. where each line represents a triangle.  Usually I use Steve Anger's
  303. RAW2POV program to create objects with RAW data files.  RAW2POV will
  304. optimize A LOT the image, while POVCAD will just convert the data to
  305. triangles and that's it! 
  306.  
  307.  
  308. Creating an EXTRUDEd (Extrude Straight-Path) object (saves data in RAW format)
  309.  
  310. The EXTRUDE command (under the OBJECT menu) works in the same way the
  311. SWEEP command does.  SWEEP rotates and copies a curve while EXTRUDE 
  312. displaces and copies the curve.  As an example, if you create a line and
  313. extrude it, it will look like a plate.  The EXTRUDEd object will be diplaced
  314. in an orientation perpendicular to the computer screen and in the 
  315. direction going into the monitor.  In other words, if you are currently in
  316. the YX view, the cuve will be EXTRUDEd in the +Z direction(into the screen).
  317.  
  318. To create an EXTRUDEd curve do the following:
  319. 1) select a view different from ISOmetric (YX,YZ or ZX)
  320. 2) click on the PointsOFF icon to enable point creation
  321. 3) create a curve by clicking on the drawing window
  322. 4) click on the OBJECT menu, then on EXTRUDE
  323. 5) give a name for the file to be created (RAW format)
  324. 6) enter the extrusion length
  325.  
  326. * The file will be saved in a RAW data format.  
  327. * Click on ISO to view the final object.
  328.  
  329.  
  330. Try this with EXTRUDE:
  331.  
  332. You can create letters with the EXTRUDE command that will look like sheets
  333. of metal that were bent to form letters.  As an example create a series of
  334. points to form the letter "S".  Use the EXTRUDE command and save it to a
  335. file.  Since that file is in RAW format, use Steve Anger's RAW2POV and make
  336. smooth surfaces.  The final product shows a nice "S" letter that looks like
  337. it was "rolled" instead of "bent" to form the letter "S".  You can have both
  338. effects.  POVCAD will generate a "bent" effect while RAW2POV can create both
  339. effects.
  340.           ****************** NEW *********************
  341.  
  342. Extruding Data Files:
  343.  
  344. POVCAD can Extrude a data File.  After selecting this command, click on the
  345. data file to be Extruded (it can be any data file - PATH or Curves). 
  346.           ****************** NEW *********************
  347.  
  348. Extruding Along A Curved Path
  349.  
  350. The command Extrude Along Path found in the Object menu can be used to extrude
  351. a 2D or 3D contour along a "curved" 3D path.  The curve can be straight, even though these give
  352. the most trouble<g>.  The routine will try it's best to figure out how to extrude the contour.
  353.  
  354. If the function finds a problem with colinear points, it will beep and display a message and the number of the point.  In order to fix this, try displacing slightly the point so it's not colinear anymore...use the 2D Curve Editor (under the MISC menu).
  355.  
  356. Constant Contour
  357. The routine works by asking for the contour curve first THEN for the path curve.  These must be
  358. data files already created by you using POVCAD or any other program that generates path data.
  359. After selecting the files, enter a name for the RAW data file to be created.
  360.  
  361. Variable Contour
  362. This works the same way as Constant Contour except that you can load a third curve called a
  363. "profile" curve.  This profile curve indicates the scaling factor to be applied at each section of the extrusion.  A profile data file is like any other path data file.  If your path data file for the extrusion has 40 points, create a profile curve with 40 points.  The routine uses the distance of each point to the X axis as the scaling factor.  In example:
  364.  
  365.  
  366. (Path data file - just a straight line)                 (profile data file)
  367.                             Y axis
  368. oooooooooooooooooooooooo                                :   o                           
  369.                             :      o        
  370.                             :        o                      
  371.                             :      o
  372.                             :  o
  373.                             :   o
  374.                             :    o
  375.                             :      o
  376.                             :------------------------------------------ X axis
  377.                                1  2  3  4  5 .....
  378.  
  379.  
  380. the final extrusion will look like this:
  381.                    o
  382.        o                 o    
  383.    o       o       o   
  384. o              o
  385.  
  386. o              o
  387.     o      o       o
  388.     o                o
  389.                    o
  390.  
  391.  
  392.  
  393. If the path is curved the scaling factor will be applied in a "curved" fashing to follow the path.
  394. It's easier if you experiment with it.   Just remember that in the profile data file, the distance from the X axis to each point determines the scaling factor at that corresponding point in the path.
  395.  
  396. There are 2 choices for the Extrude commands QUICK and RAW.  QUICK only draws the outline as it moves along the path, this is the fastest redrawing method.  Using RAW will show how the extrusion really looks like but it's slow.  Both methods will generate RAW data ouput when exported to a raytracer.
  397.  
  398. Creating Bezier Patches
  399.  
  400. This was a new feature added to POVCAD 2.0b.  To generate a Bezier patch, 
  401. select the objects menu and click on Bezier.  When you select one of the 
  402. following objects you will be asked for a name.  Use any name, but use the
  403. extension *.BEZ.  The "Read A File" command only checks for *.BEZ patches.
  404. The selections available are the following:
  405.  
  406.     1) Read A File
  407.        Once you create patches with POVCAD you can load them at
  408.        anytime using this function.  You'll be asked for the name
  409.        of the file and the patch(es) will be integrated in you scene
  410.        file.  When you create a Bezier patch use the extension *.BEZ.
  411.        This extension is recognized by POVCAD when reading Bezier patches
  412.        later.
  413.  
  414.        NOTE: A Bezier object can have a maximum of 4 patches
  415.          (64 nodes or control points)
  416.  
  417.     2) Flat
  418.        This is a flat patch with 16 nodes.
  419.  
  420.     3) Cylinder - 2 Patches
  421.        This is a collection of 2 patches (16 * 2 = 32 control points)
  422.        that form a cylindical surface.
  423.  
  424.     4) Cylinder - 4 Patches
  425.        Same as in 3) but with 16 * 4 = 64 control nodes.
  426.  
  427.     5) Cone
  428.  
  429.     6) Ellipsoid
  430.  
  431.     7) Torus (Top)
  432.        This is only 1/2 of a torus
  433.  
  434. After creating a Bezier patch, you may deform it in the following way:
  435.  
  436.     1) Click the icon on the lower right corner named "Bezier Edit OFF".
  437.        This will toggle the icon and enable editing.
  438.  
  439.     2) The screen will be erased and only the patch will be drawn.
  440.  
  441.     3) To rotate the patch, click on the icon "Bezier XFORM" and
  442.        perform whatever operation you need (it's similar to the
  443.        XFORM function used with the other objects).
  444.  
  445.        NOTE: The XFORM operations will be saved to the original file.
  446.           If you need the original data, use a copy.
  447.  
  448.     4) To move an individual node, click on the node to be displaced.
  449.        It is suggested that you use the ISO view to select nodes.
  450.  
  451.     5) On the selected node will appear a red circle. 
  452.  
  453.     6) Now, switch to a different view such as YX, YZ or ZX.  You may
  454.        now click on the new position, where the node should be.  POVCAD
  455.        does not use a "click and drag" method but a "click to select"
  456.        and a "click to move".
  457.  
  458.  
  459.     7) If you choose to stay in the ISO view, the node will move in
  460.        X and Y only and it's not a reliable view if you need precision.     
  461.  
  462.  
  463.     8) Once the node has moved, in order to move that node or another
  464.        one, you must click on the node to be modified.  POVCAD doesn't
  465.        "remember" the last moved node. 
  466.  
  467. In the [MISC]ellaneous menu, there is a command named "Bezier Setup".  This
  468. option lets you select if you wish to see the control grid, the Bezier surface
  469. patch or both (or none!).  There is also the option of selecting the number
  470. of lines in the Bezier patch.  The number goes from 3 to 13 lines per side.
  471. The higher the number, the better it will look on the screen (but the slower
  472. it gets).  
  473.  
  474.  
  475. To exit the editing area, click on the icon "Bezier Edit ON" to toggle it to
  476. OFF.
  477.  
  478.  
  479. BEZIER PATCH FILE FORMAT (*.BEZ)
  480.  
  481. If you have a program that creates the control points for Bezier patches,
  482. POVCAD can read it.  The data file can have data for up to 4 patches in this
  483. format, (i.e., where cp31.x is patch #3, control point #1, X value):
  484.  
  485. cp11.x cp11.y cp11.z
  486. cp12.x cp12.y cp12.z
  487. cp13.x cp13.y cp13.z
  488. ....ect.....
  489. cp21.x cp21.y cp21.z
  490. cp22.x cp22.y cp22.z
  491. ....ect ....
  492. <up to 4 patches!>
  493.  
  494.  
  495. The file is straight ASCII with 1 control point per line.
  496.  
  497.  
  498. CREATING CONSTRUCTIVE SOLID GEOMETRY
  499.  
  500. Let's use an example to explain this topic:
  501. We'll assume we want to create a cylinder with a hole in the middle.
  502. Since the operation is a difference:
  503.  
  504. 1) click on CSG and then select "difference".
  505. 2) create the cylinder and position it.
  506. 3) create a sphere (the hole) and position it.
  507. 4) Click on CSG and then "Close".
  508.  
  509. Close is the command to tell the program that the current CSG operation
  510. has ended.  The Session list would look like this:
  511.  
  512. DIFFR
  513. CYL ........
  514. SPH ........
  515. ENDF
  516.  
  517. Where:
  518. DIFFR   = difference operation
  519. CYL ... = cylinder definition and transformations
  520. SPH ... = sphere definition and transformations
  521. ENDF    = tells the program that this is where the difference operation
  522.       ends
  523.  
  524. Now let's assume that you want to create a union of 2 cylinders each
  525. one with a hole in it:  This is how the Session list would look like:
  526.  
  527.               comments:
  528. UNION                  1) union operation starts here
  529. DIFFR                  2) difference operation starts here
  530. CYL ....               3) cylinder #1
  531. SPH ....               4) sphere #1
  532. END                    5) clicked on CSG then on Close
  533. DIFFR                  6) Start another difference
  534. CYL ....               7) cylinder #2
  535. SPH ....               8) sphere #2
  536. END                    9) clicked on CSG then Close
  537. ENDF                   10)clicked on CSG then Close 
  538.              (click on TEXTURE now to add one to the object)
  539.  
  540. As you can see, the software uses END and ENDF to distinguish between
  541. intermediate CSG operations and the final CSG operation...in this case
  542. the UNION was the final and the DIFFR were the intermediate.
  543.  
  544. The same idea applies to all CSG operations.  Composite is not a CSG but
  545. it was the best place to put it. <grin>
  546.  
  547.  
  548. (Polyray users)
  549.  
  550. The example given would be the same as:
  551. (POVCAD)              (Polyray output will look _something_ like this)
  552. UNION                  object {
  553. DIFFR                    object{
  554. CYL ....                   CYL ...
  555. SPH ....                 - SPH ... 
  556. END                      }
  557. DIFFR                  + object{
  558. CYL ....                   CYL ...
  559. SPH ....                 - SPH ...
  560. END                      }
  561. ENDF                   }
  562.  
  563. Polyray users must follow PoV's CSG format (...sorry!)  
  564.  
  565.  
  566. * TEXTURES ON CSG OBJECTS *
  567.  
  568. To put a texture on a CSG object click on ENDF(using the Session command)
  569. to make it the current object (you'll see ENDF at the bottom right part
  570. of the screen) then click on TEXTURE to add the one that you want.
  571.  
  572. * TEXTURES ON CSG OBJECT - POV 2.0 *
  573.  
  574. Since POV 2.0 does not support composite objects you can attach textures to
  575. individual objects inside a CSG definition or as explained in the previous
  576. paragraph.
  577.  
  578.  
  579. Transforming CSG /Composite objects
  580.  
  581. At this point it is NOT possible to transform (XFORM) the whole set of
  582. objects.  You may XFORM any of the individual objects that compose a CSG
  583. object.
  584.  
  585.  
  586. Quick Comment
  587.  
  588. If you want to clip an object with 2 planes do the following:
  589. 1) Click on "intersection"
  590. 2) create the object to be clipped
  591. 3) create plane #1
  592. 4) create plane #2
  593. 5) rotate plane #2 so that the normal is facing oposite
  594.    to plane #1's normal.  (When a plane is created, the normal
  595.    is ALWAYS in the + direction of the axis.) Also you must translate
  596.    plane #2 so they're not in the same place. 
  597.  
  598.    Example:
  599.    plane#1: PLANE_Y,Translate_Y = .5 
  600.    plane#2: PLANE_Y,Translate_Y = -.5,Rotate_Z = 180
  601.    
  602.    Plane #1's normal is pointing in the +Y direction, while
  603.    plane #2's normal is in the -Y direction (due to rotation
  604.           about Z of 180 degrees)
  605.  
  606.    Any object placed in the origin will be clipped at Y=0.5 and
  607.    Y=-0.5 . Try it and see!
  608.  
  609.  
  610. Selecting objects with the mouse/ rotations and translations
  611.  
  612. There are different methods for selecting objects so that you may modify them.
  613.  
  614.    1) Clicking on SESSION
  615.       You may click on the SESSION command in the main menu.  This will show
  616.       a list of all objects that are currently in the database.  To select 
  617.       any of them, simply click on the line where it appears, then click on 
  618.       OK. Observe that on the lower right corner, the object selected will be
  619.       displayed(with it's texture).  Now you may use XFORM or click on EDIT
  620.       or use any of the next methods.
  621.  
  622.       The current object always will appear on the lower right corner of the
  623.       screen.  If you wish to reselect a new one, you may either, click on 
  624.       the SESSION command, or click on the scroll bar on the lower right 
  625.       corner to move thru the objects.  The one being shown is the current 
  626.       one.  Any editing command will apply to the current selected object.
  627.  
  628.  
  629.    2) Use of the left button(mouse)
  630.       To select an object, check that the PointsOn/OFF icon is OFF.  Now,
  631.       move the mouse cursor to a point near the center of the object that
  632.       you want to select.  Press, the left button.  The object selected will
  633.       be redrawn in a light color.  If the computer selected the wrong one,
  634.       simply move the mouse to another position near the center point of the 
  635.       object and click.  If still the computer selects the wrong one, you may
  636.       change the current view (Iso,YX,YZ,ZX) to find a better viewpoint.
  637.  
  638.       This command may select the incorrect object when various objects share
  639.       a common center point, or the object you want to select is behind
  640.       another one.  In those cases, change the VIEW and retry.  In the worst  
  641.       case, use the SESSION command to select the object.
  642.  
  643.       * SWEEP and RAW objects can't be selected with the mouse! use the 
  644.        methods explained on step 1) *
  645.  
  646.       * CONEs are selected by clicking on the apex or near it *
  647.  
  648.       Once you click on an object and select it, the object will be drawn in
  649.       a light color. If you click on REDRAW, all the objects will be drawn in 
  650.       black, but the current object will stay current.      
  651.  
  652.   3)  Use of the right button(mouse)
  653.       Once an object has been selected, you may wish to Move,Copy,Copy and
  654.       Rotate or Copy and Translate.  To do this, select and object.  The next
  655.       step depends on the command:
  656.        
  657.     a) Move
  658.        To move the current selected object, move the mouse to the 
  659.        position where you want the object.  Press the right button and 
  660.        select MOVE.
  661.        
  662.     b) Copy
  663.        To copy the current selected object, move the mouse to the 
  664.        position where you want the new object.  Press the right button 
  665.        and select COPY. The texture of the new object will be the same 
  666.        as the old object's.
  667.       
  668.     c) Copy/Rotate
  669.        This command is used to make multiple copies of an object, all of 
  670.        them rotated by a certain amount of degrees.  To use this command, 
  671.        select an object, then move the mouse to the a point that will 
  672.        become the center of rotation.  Click the right button.  Select 
  673.        Copy/Rotate.  Enter the angle between objects (in degrees).  Enter 
  674.        the number of copies to make, NOT including the original one.
  675.  
  676.     d) Copy/Translate
  677.        This command is used to make multiple copies of an object, each 
  678.        one at a certain X,Y,Z distance from the other.  Select an object.  
  679.        Press the right button.  Enter the number of copies and the 
  680.        displacements of the new objects.  The displacement is a 
  681.        cumulative effect, for example:
  682.  
  683.          if a sphere is at (0,0,0) and you enter x=.2,y=.1,z=.5 and enter 
  684.          3 copies then, object #1 will be at (.2,.1,.5) the next one at 
  685.          (.4,.2,1.0)  and the last at (.6,.3,1.5).  
  686.     
  687.        You may enter a value of zero for any of the coordinates.  If you 
  688.        put all zeroes, you'll get multiple copies in the same place!!!  
  689.           
  690.           ****************** NEW *********************
  691.  
  692. Creating Polygons
  693.  
  694. POVCAD now supports polygon decomposition.  This commands takes a curve
  695. generated on the screen with the POINTS menu ("as is" or B-Splined or 
  696. Catmull-Rom Splined), or with the PATH command and assumes it is a polygon.  
  697. The polygon will be subdivided into smaller triangles.  
  698.  
  699.                 IMPORTANT !!!!!!
  700.  
  701. NOTE:  You should try to create path data and curves in the XY plane (view).
  702.        This increases the chance of the decomposition algorithm working.
  703.        It might work in other views but I can't guarantee it.
  704.  
  705.  
  706. The choices are:
  707.  
  708.     1) Freehand
  709.        Use the POINTS command to create a curve or contour of the polygon.
  710.        The polygon must not be closed, i.e. the first and last points should
  711.        be different.  The final polygon will match exactly with the curve.
  712.        The data is saved as a RAW data file.
  713.  
  714.     2) B-Spline
  715.        Use the POINTS command to create a curve or contour of the polygon.
  716.        The data will be processed with a B-Spline curve fitter and smoothed.
  717.        Then the polygon created will be subdivided into triangles.  The data
  718.        is saved as RAW.  The polygon will not match exactly the contour since
  719.        B-Spline approximates it but it will be smooth compared to the original.
  720.     
  721.     3) Path Data
  722.        Select a data file to decompose. Use this command if you already
  723.        created a data file with the PATH menu or with other programs.
  724.  
  725.  
  726.     4) Perforated
  727.        This command creates a polygon with a hole in it.  It requires 2 names:
  728.        1) the file that has the outer curve data and 2) the name of the file with the
  729.        inner curve (hole).  Finally it asks for the name of the RAW data file to be
  730.        created. A surface will be generated between the outer contour and the inner
  731.        contour (hole).  
  732.  
  733.        If you need to create more holes, use the MERGE OUTER/INNER command in the PATH
  734.        menu.  An example:
  735.         Let's assume that you have a 3 curves to create the letter "B"..the outer
  736.         curve of the letter, the top hole and the bottom hole.  Let's also assume that
  737.         the name of the files are B.DAT, TOPHOLE.DAT and BOTMHOLE.DAT.  First use the 
  738.         MERGE command in the PATH menu and MERGE B.DAT and TOPHOLE.DAT into 1 PATH file
  739.         called BTEMP.DAT.  Now you have 2 choices:  You can either MERGE BTEMP.DAT and 
  740.         BOTMHOLE.DAT and then use the PATH DATA command in the POLY menu OR you can use the
  741.         PERFORATED command in the POLY menu with BTEMP.DAT and BOTMHOLE.DAT.            
  742.  
  743. IMPORTANT BACKGROUND:
  744.  
  745. 1) When creating a curve to be used as a polygon, the first and last point 
  746.    may be different. (not necessary to be closed). 
  747.  
  748. 2) If you draw an imaginary line from the last point to the first on a curve,
  749.    it must NOT intersect any other line in the same curve.
  750.  
  751. 3) You may use any orientation when defining the curve,i.e it can be clockwise
  752.    or counterclockwise.  The algorithm will re-orient the data efficiently.
  753.    The object can be convex or concave.
  754.  
  755. 4) If the routine doesn't work properly, delete the RAW object created and try
  756.    again. The curve will still be there.
  757.  
  758. 5) Even though you must create the curves originally in the XY plane, the
  759.    Z values of each curve can be different. As an example, let's say that
  760.    you want to create a surface which will not be flat, but roughly looking
  761.    like a cone (truncated cone).  Create the outer contour first, then the
  762.    inner contour.  Now, use the XFORM command to translate the inner curve
  763.    in the +Z direction.  If you now look at the curves in the YZ plane, you
  764.    will see 2 lines...the leftmost line is the outer curve and the rightmost
  765.    curve is the inner contour.  Click on the PATH command to SAVE the inner
  766.    curve new data.  The save will be SAVEd as a *.pth data file.  Now,
  767.    using the PERFORATED command in the POLY menu, select the outer curve
  768.    and the *.pth file that you just created (the inner curve that has been
  769.    displaced in the +Z axis).  The surface will end up looking like a 
  770.    cone aligned with the Z axis.  This is pretty handy when creating 
  771.    beveled fonts.
  772.  
  773. Creating PATH data files for your animations
  774.  
  775. This feature allows you to create data files of paths that may be
  776. used in animations programs.  Simply select the Path menu and select
  777. which curve to create.  These data files can be XFORMed in the same
  778. fashion as any of the objects supported by POVCAD.
  779.  
  780. To create a curve, select the corresponding curve and you'll be asked
  781. for a filename to save the data. This is done to reduce memory
  782. requirements on your system.  The following is a brief description:
  783.  
  784. 0) Load and SAVE
  785.    Load read any 3D point ASCII file and converts it into a path,
  786.    i.e. lines will be drawn to connect the points sequentially.  Your
  787.    data file SHOULD NOT have an extension *.PTH since this is used by
  788.    POVCAD to save the final path files.
  789.  
  790.    SAVE converts your data file, i.e. filename.ext into filename.PTH.
  791.    Initially, filename.ext was a set of 3D points that you created
  792.    yourself or thru POVCAD.  Since you may want to rotate, scale or
  793.    translate the data, POVCAD takes those operations and changes your
  794.    data.  In order to keep the original data intact, POVCAD saves the
  795.    new data with the PTH extension.
  796.  
  797.    The EXPORT to POV function in the FILE menu also creates the *.PTH
  798.    files.  If you haven't created any 3D objects and you don't need to
  799.    create a POV file, simply use the SAVE function in the PATH menu, to
  800.    save your animation files.
  801.  
  802.    To merge 2 or more data files, drop to DOS or load a texteditor
  803.    and simply append one file to the other to create more complicated
  804.    path data files.  It's that simple! (gasp!...I hope it works)
  805.  
  806.  
  807. 1) Freehand
  808.    Converts a set of points created on the screen to a path.  Maximum
  809.    number of points is 50. 
  810.  
  811. 2) Linear
  812.    Click 2 points (more than that will be discarded) on the screen.
  813.    The routine will subdivide the line segment into a set of points.
  814.  
  815. 3) Circular
  816.    Creates a circular path.  No points have to be created with the
  817.    mouse.
  818.  
  819. 4) Parabolic
  820.    Follows the curve Y = aX^2 where a is the parabola coefficient
  821.    and the value of Y is the height.  The value of Z is zero but
  822.    you may create this curve from any view.  The routines will swap
  823.    the axis to reflect the view you're in.
  824.  
  825. 5) Helix
  826.    Creates a "spring".  The curve follows :
  827.     x = a cos(2*pi*t)
  828.     y = a sin(2*pi*t)
  829.     z = t
  830.     
  831.     Therefore Z is the "height" of the function.  This depends on the
  832.     current view setting.
  833.  
  834.  
  835. 6) B-Spline
  836.    Smooths a set of points created on the screen with the POINTS command.  
  837.    You will be asked for the amount of subdivisions of the final curve.  You
  838.    may accept the default or modify the number.  The final amount of 
  839.    subdivision is dependent on the amount of data and may be slightly
  840.    to what you specify.  The original curve is not erased from memory.
  841.    Use the "DEL PNTS" command inside the "EDIT" menu.
  842.  
  843.  
  844.           ****************** NEW *********************
  845. 7) Catmull-Rom { Same instructions as 6) B-Spline } 
  846.     Catmull-Rom splines pass thru the control points as opposed to B-Splines that simply approach the control points.   Also, you will be asked for a tension value when using Catmull-Rom Splines.  You may wish to use the default value 0.5 or a different one.  Values approaching 0 seem to create linear interpolation while numbers larger than 0.5 may not follow the data contour correctly.  Experimentation is a must on this one.
  847.  
  848. 8) Merge Outer/Inner
  849.    Use this command to join an outer contour and an inner contour in
  850.    one data file.  This becomes handy when creating polygons with more 
  851.    than one hole.  If you have one outer contour with various holes, you
  852.    may want to consider MERGEing the outer curve and the first inner into
  853.    a temporary file.  Then take the temporary file and MERGE it with the
  854.    next hole and create a new temporary.  Do this for all the holes.            
  855.  
  856.           
  857. 9) Flip Data File
  858.  
  859.    This commands flips a data file, i.e., the last point becomes the first
  860.    point and viceversa.  This command can be used before calling the 
  861.    Join 2 Curves command.  You may need to invert the data so that lines
  862.    don't cross. Example:
  863.  
  864.              a
  865.     ------------o   <- curve #1 starting point
  866.     |
  867.     |  ---------o   <- curve #2 starting point           
  868.     |  |         b
  869.     |  |
  870.     |  |
  871.     |  |           c
  872.     |  ----------o     
  873.     ----------o 
  874.                d
  875.  
  876. if you use the JOIN command the point "d" will connect to point "b". 
  877. POVCAD takes the last point from curve #1 and connects it to the starting
  878. point of #2.  Clearly, the line connecting d to c will cross over curve
  879. #2.  To eliminate this you may wish to FLIP curve #2 first then JOIN it to
  880. curve #1:
  881.  
  882.               a
  883.     ------------o   <- curve #1 starting point
  884.     |
  885.     |  ----------o              
  886.     |  |          c
  887.     |  |
  888.     |  |
  889.     |  |         b
  890.     |  --------o    <- curve #2 starting point 
  891.     ----------o 
  892.              d
  893.  
  894.  
  895. This will make a smooth transition from curve #1 to curve #2, which is 
  896. required if you need to create a polygon with the POLY menu later.
  897.  
  898.  
  899.  
  900. 10) B-Spline Data File
  901.    Works the same as the B-Spline {command 6) mentioned above} but it reads
  902.    a data or path file.
  903.  
  904. 11) Catmull-Rom Data File {similar to 10) }
  905.  
  906. After creating the curves you may use them to animate your raytraced
  907. images.  POVCAD simply creates the curves and shows them with the
  908. geometry so you have a better understanding of how things might look.
  909. Remember, you can scale, rotate and translate the data like any other
  910. object!  You may also use them in combination with the POLY menu to create
  911. flat surfaces.
  912.  
  913.  
  914.           ****************** NEW *********************
  915.  
  916. 2D Curve Editor (inside the MISC menu)
  917.  
  918. This feature lets you load or create a 2D contour or path and modify the location of the control points.  To create a point click on the Create button.  By clicking on the drawing area you create a contour.  If you wish to preview a BSpline smoothing on the curve, click on the BSpline button.  The scroll bar determines the smoothing factor on the curve..the higher the number the smoother the curve and correspondinly the number of points will increase.  The number is a multiplication factor for the current amount of points, i.e., if you created 5 points and select a factor of 5, the final curve will have approx. 5 X 5 points (25).
  919.  
  920. In order to move a point, click on Select and click on the point to be moved, you may select any point.  To move the point  simply drag it to the correct position.
  921.  
  922. If you want to close an open contour, click on the Close Curve icon.  
  923.  
  924.  
  925.  
  926. Creating LightSources
  927.  
  928. To create a light_source object, click on the MISC command in the main
  929. menu, then LIGHT.  Enter the origin coordinates of the light_source (x,y,z).  
  930. To add a color to the light_source, select it (Session) then click on the
  931. Color command in the main menu.  You may select any color or edit the
  932. string "red # green # blue #" by replacing the "#" with appropiate numbers.
  933. If you wish to move the light_source, click on XFORM and modify the
  934. translate parameters.
  935.  
  936. The rotation angles do not apply to light_sources.  The scale factors will
  937. only affect the size of the light_source symbol (resembles a 3D axis) in
  938. POVCAD, POV does not require a scaling factor.
  939.  
  940. When the scene file is EXPORTed to POV, the definition of the light_source
  941. will also include the spotlight keywords commented out.  If you need to use
  942. your light as a SPOTLIGHT, simply erase the "//" characters and replace the
  943. question marks "?" after each keyword with a proper value. Look at this
  944. example:
  945.        ***** part of a scene created with POVCAD ******
  946. // LIGHT_SOURCE
  947. object {
  948.   light_source{< .1   .2   .3  > color Blue
  949.     // If you need a spotlight, use the statements below
  950.     // replace ? with proper values
  951.     //spotlight
  952.     //point_at < ? ? ? >
  953.     //radius ?
  954.     //falloff ?
  955.     //tightness ?
  956.  }
  957. }
  958.  
  959.  
  960. Grid Spacing command
  961.  
  962. The Grid helps you determine relative distances between points or objects.
  963. To show the Grid, click on the GridOff icon to enable the Grid.  Initially,
  964. the World area will be divided into 20 columns and 20 rows (always equal in
  965. number).  If you wish to modify this number, click on the VIEW menu and
  966. select the GRID SPACING command.  Enter an integer number.  This number will
  967. indicate the amount of rows AND columns, i.e.  10 indicates 10 rows and 
  968. 10 columns.  The higher the number the more precision you'll get.
  969.  
  970. Use the SnapOFF/ON to select only points which are in the grid.  Turning
  971. SnapOFF let's you select any place in the screen.  Experiment with it.
  972.  
  973.  
  974. How does POVCAD save the objects?
  975.  
  976. POVCAD saves 3 files for every session: {(4) is optional }
  977. 1) *.CAD   This is the object definitions file
  978. 2) *.TEX   file with the textures of each object
  979. 3) *.WRL   world definition of the session
  980. 4) *.PTH   data files to be used in your animation programs
  981.  
  982. *.CAD file structure:
  983. This is the format that POVCAD uses for those of you that want to create
  984. external programs to deal with them.  The file is an ASCII file with 
  985. double quotes at the begining and end of each statement:
  986.  
  987. rx,ry,rz = rotations about each axis (absolute)
  988. tx,ty,tz = translations on each axis
  989. sx,sy,sz = scale factors for x,y and z
  990.  
  991. **** IMPORTANT: Each parameter is separated by 1 space.  This is important
  992.        if you're writing utilities for POVCAD.  This space is REQUIRED.
  993.  
  994.  
  995. 1) Plane:    "PLN axis rx ry rz tx ty tz sx sy sz" 
  996.  
  997. Example:
  998. "PLN X 0.0 0.0 0.0 0.0 0.0 0.0 1 1 1"
  999.      
  1000. 2) Cylinder  "CYL radius height rx ry rz tx ty tz sx sy sz"
  1001.  
  1002. Example:
  1003. "CYL .2 1 0.0 0.0 0.0 0.0 0.0 0.0 1 1 1"
  1004.  
  1005. 3) Cone:     "CON radius height rx ry rz tx ty tz sx sy sz"
  1006.  
  1007. Example:
  1008.    "CON .2 1 0.0 0.0 0.0 0.0 0.0 0.0 1 1 1"
  1009.  
  1010. 4) Sphere:   "SPH radius rx ry rz tx ty tz sx sy sz"
  1011.   (tx ty and tz are the center of the sphere)
  1012.   (sx sy sz must have the same value)
  1013.  
  1014. Example:
  1015.    "SPH .5 0.0 0.0 0.0 0.0 0.0 0.0 1 1 1"
  1016.  
  1017. 5) Ellipsoid: "ELI xradius yradius zradius rx ry rz tx ty tz sx sy sz"
  1018.  
  1019. Example:
  1020.    "ELI .5 .2 .3 0.0 0.0 0.0 0.0 0.0 0.0 1 1 1"
  1021.    
  1022. 6) Torus:     "TOR radius_major radius_minor rx ry rz tx ty tz sx sy sz" 
  1023.  
  1024. Example:
  1025.    "TOR .7 .2 0.0 0.0 0.0 0.0 0.0 0.0 1 1 1"
  1026.  
  1027. 7) Box:       "BOX rx ry rz tx ty tz sizex sizey sizez"
  1028. (the Box is a unit cube that has been scaled to size)
  1029.  
  1030. Example:
  1031.    "BOX 0.0 0.0 0.0 0.0 0.0 0.0 1 2 .1"
  1032.  
  1033. 8) HeightField "HFL filename.ext rx ry rz tx ty tz sx sy sz"
  1034. (POVCAD draws a pyramid to represent it, with dimensions x=1 y=1 z=1, 
  1035.  so it must be scaled properly.  Check POV's docs on height_field.)
  1036.  
  1037. Example
  1038.    "HFL mountain.gif 0.0 0.0 0.0 0.0 0.0 0.0 1000 1000 3245"
  1039.  
  1040. 9) RAW: "RAW filename.ext rx ry rz tx ty tz sx sy sz"
  1041.    (Consider using Steve Anger's RAW2POV, it's more efficient. Don't
  1042.     say I didn't tell you about it!)
  1043. Example:
  1044.     "RAW sweep.dat 0.0 0.0 0.0 0.5 1.3 0.0 1 1 1"
  1045.  
  1046. 10) Sweep
  1047.     (same as RAW only that the SWP keyword appears instead of RAW)
  1048.  
  1049. 11) Extrude 
  1050.     (same as RAW)
  1051.  
  1052. 12) Path
  1053.     "PTH filename.ext 0.0 0.0 0.0 0.0 0.0 0.0 1 1 1"
  1054.     This command points to a file with the format:
  1055.      p1.x p1.y p1.z
  1056.      p2.x p2.y p2.z
  1057.      ....ect .....
  1058.     
  1059.     which was created with POVCAD or that you made up yourself.
  1060.  
  1061. 13) Light Source
  1062.     "LTS 0.0 0.0 0.0 X Y Z .25 .25 .25"
  1063.     
  1064.     Comments: 
  1065.      * The first three numbers are not used at all.
  1066.      * X Y Z refer to the light source position
  1067.      * the three .25 values are scaling factors that only affect
  1068.        the drawing on POVCAD.   You may change those numbers to
  1069.        suit your needs by using the XFORM command (scale x,y,z).
  1070.      * The light_source color is in the *.TEX file.
  1071.  
  1072.  
  1073. 14) Bezier
  1074.     "BEZ filename.ext 0.0 0.0 0.0 0.0 0.0 0.0 1 1 1"
  1075.     
  1076.      Comments:
  1077.      * The only parameter used is the filename.
  1078.     Bezier parameters are XFORMed and their data file is modified
  1079.     accordingly (using the Bezier XFORM icon).
  1080.  
  1081. 15) Disc: "DSC Ro Ri 0.0 0.0 0.0 0.0 0.0 0.0 1 1 1" 
  1082.     Ro = outer radius
  1083.     Ri = inner radius (if object is a washer)
  1084.     If Ri = 0 then a disc is drawn else a washer is drawn.
  1085.  
  1086.  
  1087. The *.TEX file structure:
  1088. The *.tex file has a line for every item in the *.cad file.  Some places
  1089. may be empty but the file length is the same as the *.cad file.  If you
  1090. created light_sources, the colors will appear here also.
  1091.  
  1092. The *.WRL file structure:
  1093. This file has 4 values (if it's not found in your directory, POVCAD
  1094. assumes a world definition of (-1,-1)-(1,1) ):
  1095.  
  1096. WXleft  WYbottom
  1097. WXright WYtop
  1098.  
  1099. These values correspond to the YX plane view.
  1100.  
  1101. The *.PTH file structure
  1102. This is a straight ASCII file with a list of 3D points:
  1103.  
  1104. p1.x p1.y p1.z
  1105. p2.x p2.y p2.z
  1106. ... ect...
  1107.  
  1108. The data has already been transformed by any operations you might have
  1109. done inside POVCAD.
  1110.  
  1111.  
  1112. TEXTURES.DEF,COLORS.DEF,TEXTURES.PV,COLORS.PV,TEXTURES.PV2,COLORS.PV2 files 
  1113.  
  1114. These files consist of texture and color names that POVCAD will read.
  1115. All files follow the same format: 1 name per line.
  1116. POVCAD will automatically load them if present in POVCAD's directory. 
  1117. Files are in ASCII format. 
  1118.  
  1119.  
  1120. Other Stuff
  1121. --------------------------------------------------------------------
  1122. Limits
  1123. At this point up to 100 objects may be created.  You may do complicated
  1124. objects by MERGEing files.  This will change on future versions.
  1125.  
  1126. Bezier objects can have up to 4 patches.
  1127.  
  1128. CSG/COMPOSITE Objects
  1129. You can not XFORM the whole CSG/COMPOSITE object...you may XFORM any of
  1130. the components.
  1131.  
  1132. World Coordinates Definition:
  1133. POVCAD starts with (-1,-1)-(1,1) => (lowerleftcorner)-(upperleftcorner).
  1134. Click on View and then World to change that or use the ZoomIn/Out icons
  1135. to scale up or down.  When you ZoomIn the world = world/scalefactor and 
  1136. when you ZoomOut the world = world * scalefactor.  
  1137.  
  1138. Pan
  1139. You can Pan(scroll) in all direction by clicking on the arrows.  You may
  1140. change the Pan Step Size to move faster or slower. Experiment with it.
  1141.  
  1142. Copy (from the Edit menu)
  1143. The Copy function will create an exact copy of the current object. That
  1144. means that it will be also in the SAME place as the original.  Then XFORM
  1145. will be shown and select the transformation necessary to put the new object
  1146. where it should be.  Click on redraw to refresh the screen if necessary.
  1147.  
  1148. Files
  1149. The Export to POV creates a POV format file of the current scene.  The
  1150. default name is POVCAD.OUT...the name can be changed.  It also creates 
  1151. any path files (*.PTH) that are in memory.
  1152.  
  1153. AutoRedraw ON/OFF
  1154. There's an icon to turn on/off the autoredraw feature.  With the option 
  1155. on ON the drawing is sent to a buffer first and then appears on the screen.
  1156. With the option on OFF the screen will be redraw everytime that you select
  1157. the TEXTURE, SESSION or XFORM windows.  Experiment which one works best for you.
  1158. The important point is that in ON you pay a price with memory.  Check
  1159. with your system, you decide.
  1160.  
  1161.  
  1162. Suggestions
  1163. Create a standard view file with lightsources and camera and put
  1164. somewhere the statement #include "myscene.pov" to include your scene.
  1165. That's what I do and works OK for me.
  1166.  
  1167.  
  1168. Your Suggestions
  1169. I do welcome your comments and suggestions!  Registered users have a
  1170. better chance of seeing their comments incorporated in the program.
  1171. If you like it or not let me know!
  1172.  
  1173.  
  1174. BUG LIST (ugh!) [Check Pi Square BBS for the latest updates!]
  1175. ---------------
  1176. Ver 1.0a 2/8/93   (thanks to Bill Martin!)
  1177.   - (fixed) error in height_field definition (was totally wrong!)
  1178.  
  1179.   - added "object { }" and "color" keywords to light_source object
  1180.  
  1181.   - error on cone definition (not sure what the problem is :( )
  1182.  
  1183. Ver 1.0b 3/27/93 
  1184.   - (fixed) You may press [OK] on the SESSION windows without having done
  1185.     a selection. (the program used to crash)
  1186.  
  1187.   - Cone_Y was changed to QCone_Y since Cone_Y was used in an old version
  1188.     of the SHAPES.INC include file.  If you have the old version, replace
  1189.     QCone_Y with Cone_Y.
  1190.  
  1191.   - (fixed)The 3D axis was not appearing at the beginning of the program.
  1192.  
  1193.   - The name of the file now appears at the top of the Window (caption).
  1194.     If no file is present, the caption "POVCAD version#" will appear.
  1195.  
  1196.   - When a POV file is created with the EXPORT function, the name of the
  1197.     file, date and time of creation will appear on the top.  
  1198.     
  1199.     (thanks to Phil Long!)
  1200.   - (fixed) The copy function was not copying the texture to the new object.
  1201.  
  1202.   - (fixed) When opening the texture window and color window, you may click
  1203.     on the texture or color word to accept it...no need to click on [OK].
  1204.   
  1205.     (thanks to Bill Martin!)
  1206.   - I added a scroll bar at the bottom right area of the screen, near the
  1207.     current object and texture info box.  Once an object is created, it will
  1208.     appear in the info box.  If you have more than one, simply scroll thru
  1209.     each one...no need to use the SESSION dialog box anymore unless you want
  1210.     to see more than one object at a time.  The object that appears in the box
  1211.     is the current object and may be XFORMed at any time.
  1212.  
  1213.     (thanks to Peter Jack!)
  1214.   - (fixed) Light source was not accepting negative numbers
  1215.  
  1216. Ver 1.0c 4/2/93  
  1217.     (thanks to Neil Clark and Kevin Luck!)
  1218.   - (fixed) The "SAVE AS.." command was not working properly.
  1219.  
  1220. Ver 2.0 4/10/93
  1221.     (thanks to Phil Long!)
  1222.   - Modified RAW data output (format).  Sometimes only "." would appear!
  1223.     The new format is "#.###E##".
  1224.  
  1225.   - (fixed) Bug in the SWEEP command.  The command worked ok only on the YX
  1226.     view...the others would give incorrect swept images.
  1227.  
  1228.     (thanks to Amanda Osborne!)
  1229.   - If you create a RAW data file with any other program, be sure to check
  1230.     that the first line doesn't have text or an empty line.  If it does,
  1231.     POVCAD chokes.  I'll try to check for it on a future minor release.
  1232.  
  1233. Ver 2.0a 4/24/93
  1234.   - (fixed) bug on Open command.  POVCAD would choke if texture (*.tex) file
  1235.     was not available. 
  1236.  
  1237.   - added support for the Polyray raytracer.  EXPORT works for PoV and
  1238.     Polyray.
  1239.  
  1240.   - added a viewpoint definition window (similar to PoV's camera).
  1241.     It can be found in the MISC menu.
  1242.  
  1243.   - CSG operations DO NOT work for Polyray at this point.
  1244.   
  1245.   - modified Export to POV routine to eliminate all rotate <0 0 0>,
  1246.     scale <1 1 1>, or translate<0 0 0>...they are not needed.
  1247.  
  1248.   - more experimentation with the CONE_Y definition...hope it works.
  1249.  
  1250.  Ver 2.0a 5/4/93 
  1251.  
  1252.   - added support for CSG in Polyray (user must follow PoV's CSG format)
  1253.     It _seems_ to work OK. <gulp!>
  1254.  
  1255.  Ver 2.0a 5/8/93
  1256.   - Increase point buffer from 25 to 50
  1257.  
  1258.  Ver 2.0b 7/9/93
  1259.   - Added Bezier patch features and objects
  1260.  
  1261.   Ver 2.0b 7/14/93  
  1262.   - Added polygon decomposition and B-Spline features. The decomposition 
  1263.     needs some work.  :(
  1264.  
  1265.   Ver 2.0b 7/18/93
  1266.   - Fixed most bugs in Decomposition and added Join 2 Curves, B-Spline
  1267.     and Flip commands to data files.
  1268.  
  1269.   Ver 2.0b 7/19/93
  1270.   - Fixed bug in decomposition algorithm
  1271.   - Added Extrude Data files option             
  1272.  
  1273.   Ver 2.0b 7/22/93
  1274.   - Fixed obscure bug in decomposition algorithm
  1275.  
  1276.   Ver 2.0b 7/24/93
  1277.   - Fixed bug RE: the "colors" keyword missing on the texture definition.
  1278.  
  1279.   Ver 2.0b 7/31/93
  1280.     (thanks to Peter Jack!)
  1281.   - Fixed bug in the File Box.  Was showing incorrect titles.
  1282.   - Added the "SWEEP DATA FILE" command.  Now POVCAD SWEEPs points or data
  1283.     files with points.
  1284.   Ver 2.0b 8/15/93
  1285.   - Worked a bug on the decomposition algorithm - needs more checking though.
  1286.  
  1287.  Ver 2.0b 8/25/93
  1288.     (thanks to Morten Hjerde!)
  1289.   - Found a bug in the exiting routine....POVCAD would stay in memory if ALT-F4 or the CLOSE                    icon was selected.
  1290.  
  1291.  Ver 2.0c 9/25/93
  1292.   - Switched to Visual Basic 3.0 and added Catmull-Rom Spline support.  
  1293.  
  1294.  Ver 2.0c 10/20/93
  1295.   - Supports POV 2.0 now.
  1296.  
  1297.  Ver 2.0c 10/24/93
  1298.   - Converts RAW data to DXF files
  1299.  
  1300.  Ver 2.0d 11/1/93
  1301.     (thanks to Andrew Jones!)
  1302.   - Added DXF to RAW routine (supporting 3DFACE entities)
  1303.  
  1304.  Ver 2.0d 11/4/93
  1305.   - Added DXF to RAW routine (suporting POLYLINE entities)
  1306.  
  1307.  Ver 2.0d 11/5/93
  1308.     (thanks to Jerry Thomaston!)
  1309.   - (fixed) bug in Bezier transformation routine was found
  1310.  
  1311.  Ver 2.0d 11/7/93
  1312.   - Added 2D Curve Editor (nothing fancy...though<g>..needs work)
  1313.  
  1314.   Ver 2.0d 11/13/93 - 11/16/93
  1315.   - Added Extrude along a curved path feature.
  1316.   - Added DISC object
  1317.   - increased limit in points buffer to 300 points
  1318.   - increased redrawing speed by eliminating redundant redraw calls
  1319.   - added more features to the 2D Curve Editor
  1320.  
  1321.  Ver 3.0 11/20/93
  1322.  - Added QUICK and RAW choices for Extrude along path feature.
  1323.  
  1324.  Ver 3.0a 11/27/93 - 12/12/93
  1325.  - Added click n' drag feature
  1326.  - click n' drag feature modified:  user must press left mouse button and CNTRL key to move object.
  1327.     
  1328. ------------------------------------------------------------------------
  1329.  
  1330.     REGISTRATION FORM FOR POVCAD 3.0a  (c) Alfonso Hermida 1993
  1331.                Windows Version
  1332.         COMPLETE THE REQUIRED INFORMATION
  1333.             Send check or money order to
  1334.              Alfonso Hermida
  1335.                9346 Kings Grant Rd
  1336.              Laurel MD 20723
  1337.  
  1338.  
  1339. Name   :_________________________________         Date:_________
  1340.  
  1341. Address:________________________________________________________   
  1342.  
  1343.     ________________________________________________________
  1344.  
  1345.     ________________________________________________________
  1346.  
  1347.  
  1348. Phone  :__________________________________
  1349.  
  1350.  
  1351. Your registration entitles you to support thru Pi Squared BBS.  Write
  1352. a temporary password to add your account to the BBS:
  1353.  
  1354. BBS password: _________________________
  1355.  
  1356.  
  1357. Registered users of a given version do not have to register for minor 
  1358. revisions. For example, if you registered version 1.0, then 1a,1b,1c are 
  1359. minor revisions, and version 2.0 will be a major revision.
  1360.  
  1361. Registration  fee:  Upgrade from version 1.x ....... $ 5.00 (USA).  
  1362.             New user........................ $15.00 (USA).
  1363.  
  1364. Would you be interested in the source code?  Yes[  ]   No[  ]
  1365. (written in Visual Basic 3.0)
  1366.  
  1367. Comments:__________________________________________________________
  1368.  
  1369. ___________________________________________________________________
  1370.  
  1371. ___________________________________________________________________
  1372.  
  1373. ----------------------------------------------------------------------
  1374.