home *** CD-ROM | disk | FTP | other *** search
/ Late Night VRML 2.0 with Java CD-ROM / code.zip / Ch15 / README < prev    next >
Encoding:
Text File  |  1997-02-17  |  5.1 KB  |  168 lines

  1. Description:
  2. ============
  3.  
  4. This distribution contains a package of Java classes to
  5. represent and manipulate NURBS.  Full source and javadoc
  6. documentation is available:
  7.  
  8.     http://www.ocnus.com/NURBS/
  9.  
  10.  
  11. Along with this package are VRML prototypes for three nodes:
  12.  
  13.     NurbsCurve
  14.     NurbsSurface
  15.     NurbsRevolve
  16.  
  17. which are implemented in Java using the classes in this
  18. package.  Also included are numerous examples.  The files
  19. in this distribution are listed at the end of this README.
  20.  
  21. All code has been developed and tested using
  22. Liquid Reality 1.0b11 running under Irix on an SGI.
  23.  
  24.  
  25.  
  26. Please read the following notice:
  27. =================================
  28.  
  29. Copyright (c) 1997 ORC Incorporated.  All Rights Reserved.
  30.  
  31. Permission to use, copy, modify, and distribute this software
  32. and its documentation for NON-COMMERCIAL purposes and without
  33. fee is hereby granted provided that this copyright notice
  34. appears in all copies. Please contact <info@ocnus.com> for
  35. further information regarding copyright and licensing.
  36. This code is provided without warranty, either expressed or implied.
  37.  
  38. Portions of this code appear in the book
  39. "Late Night VRML 2.0 with Java", Ziff-Davis Press, 1997
  40.  
  41. author   Timothy F. Rohaly <rohaly@ocnus.com>
  42. version  1.0, 01/15/97
  43.  
  44.  
  45.  
  46. Known misbehaviors:
  47. ===================
  48.  
  49. 1) Tessellation fails for curves which do not interpolate
  50.    their endpoints, i.e. when the knot multiplicity at
  51.    the endpoints is not equal to the order of the curve.
  52.    This is due to the algorithm used to add control points.
  53.    Workaround is to make sure you define interpolating knot
  54.    sequences.  This will be fixed the next version.
  55.  
  56. 2) The segments parameter passed in from the prototype
  57.    behaves in a non-intuitive manner.  Currently, segments
  58.    defines the number of new control points to generate.
  59.    These new points are merged with the original control
  60.    points, and only the non-duplicate ones are actually
  61.    *added*.  So for example, if you define a nurbs circle
  62.    with 9 control points, then set segments to 11, you will
  63.    find that you only add 5 new ones (out of the 11, three at
  64.    the beginning and three at the end are duplicates, so only
  65.    5 new ones are added).  This is a much larger effect for small
  66.    numbers of segments than for a large number.
  67.    This can and will be changed so that segments corresponds to
  68.    the actual number of segments in the tesselated curve.
  69.  
  70. 3) For surfaces, especially surfaces generated by extrude() or
  71.    revolve(), duplicate control points (used to decrease the
  72.    degree of continuity) can produce polygons with degenerate
  73.    vertices.  Some renderers try to calculate a normal anyway
  74.    and so may exhibit shading anomolies.  This will be fixed in
  75.    the next version.
  76.  
  77. 4) In the revolve() method of nurbs, the thetamin and thetamax
  78.    parameters currently are ignored.  All revolution is done
  79.    between 0 and 2*PI.  This affects the NurbsRevolve prototype
  80.    so that the minAngle and maxAngle fields have no effect.
  81.  
  82.  
  83.  
  84. In the near future:
  85. ===================
  86.  
  87. Let me know if you have any requests for new features.
  88. Here is some stuff under construction that was not completed
  89. in time for this distribution but will be in the next version:
  90.  
  91. 1) evaluate().  Given a knot parameter return the nth derivative
  92.    of the curve, where n = 0...degree-1.
  93.  
  94. 2) split().  Split the curve or surface into two parts at parameter t.
  95.  
  96. 3) skin().  Generate a ruled surface between two nurbs.
  97.  
  98. 4) NurbsExtrusion.  Prototype and examples using the extrude()
  99.    method.
  100.  
  101. 5) Some of the fields in the three prototypes will be changed
  102.    to eventIns or eventOuts so that ROUTEs can be attached.
  103.  
  104. 6) The profile curve in the NurbsRevolve prototype will be
  105.    changed so that NurbsRevolve can take an instance of NurbsCurve.
  106.  
  107. 7) Additional demo code and example wrls which use the prototypes.
  108.  
  109.  
  110.  
  111. Files in this distribution:
  112. ===========================
  113.  
  114. NURBS/AllNames.html
  115. NURBS/BezierSurface.wrl
  116. NURBS/Circle.wrl
  117. NURBS/Cone.wrl
  118. NURBS/Dome.wrl
  119. NURBS/Helix.wrl
  120. NURBS/NurbsCurve.java
  121. NURBS/NurbsCurve.wrl
  122. NURBS/NurbsRevolve.java
  123. NURBS/NurbsRevolve.wrl
  124. NURBS/NurbsSurface.java
  125. NURBS/NurbsSurface.wrl
  126. NURBS/Package-nurbs.html
  127. NURBS/README
  128. NURBS/Refine.wrl
  129. NURBS/Sphere.wrl
  130. NURBS/Square.wrl
  131. NURBS/Torus.wrl
  132. NURBS/Triangle.wrl
  133. NURBS/WineGlass.wrl
  134. NURBS/images/blue-ball-small.gif
  135. NURBS/images/blue-ball.gif
  136. NURBS/images/class-index.gif
  137. NURBS/images/constructor-index.gif
  138. NURBS/images/constructors.gif
  139. NURBS/images/cyan-ball-small.gif
  140. NURBS/images/cyan-ball.gif
  141. NURBS/images/error-index.gif
  142. NURBS/images/exception-index.gif
  143. NURBS/images/green-ball-small.gif
  144. NURBS/images/green-ball.gif
  145. NURBS/images/interface-index.gif
  146. NURBS/images/magenta-ball-small.gif
  147. NURBS/images/magenta-ball.gif
  148. NURBS/images/method-index.gif
  149. NURBS/images/methods.gif
  150. NURBS/images/package-index.gif
  151. NURBS/images/red-ball-small.gif
  152. NURBS/images/red-ball.gif
  153. NURBS/images/variable-index.gif
  154. NURBS/images/variables.gif
  155. NURBS/images/yellow-ball-small.gif
  156. NURBS/images/yellow-ball.gif
  157. NURBS/nurbs/ControlNet.java
  158. NURBS/nurbs/Knot.java
  159. NURBS/nurbs/Nurbs.java
  160. NURBS/nurbs/Point4.java
  161. NURBS/nurbs.ControlNet.html
  162. NURBS/nurbs.Knot.html
  163. NURBS/nurbs.Nurbs.html
  164. NURBS/nurbs.Point4.html
  165. NURBS/packages.html
  166. NURBS/quilt.gif
  167. NURBS/tree.html
  168.