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 userfriendly 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 overcrossing or an undercrossing. 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: 