In order to render graphics, LiveGraphics3D requires coordinates of points, line segments, and polygons that will be displayed. Jonathan Rogness has created a "proof of concept" application [11] where a user may input the equations of a parametrically defined surface into a form on a webpage, and a JavaScript program automatically generates the data required by LiveGraphics3D. Based on this concept, we have created a parametic curve grapher, designed to be user-friendly and offer many options to customize the appearance of the parametric curve.
Of particular importance in knot theory diagrams is the ability to determine whether a particular crossing point is an over-crossing or an under-crossing. Therefore, we have chosen to display the surface of a tube around the parametric curve entered by the user. To generate the tube coordinates \( F(t, \, u) \) given the parametric curve \( \overrightarrow{C}(t) \), we perform the following computations for each point \( t \):
Since the user interface is written using JavaScript, the coordinate functions \( x(t), \; y(t), \) and \( z(t) \) must be entered using JavaScript syntax:
Math.pow(x,n)
."Math.sin(t)
," "Math.cos(t)
," "Math.tan(t)
."
Math.PI
."Graphics options that may be customized include:
After rendering the graph, the data generated for the LiveGraphics3D applet appears in a text box at the bottom of the parametric curve grapher. This data may be copied and pasted into a text file, and used as an input file for a standalone applet created by the user (see [6] for additional details).
|
||||
|
||||
|
||||
LiveGraphics3D code: |