## This app is for Math enthusiasts... It requires some knowledge about sine, cosine and parametric curves...

### KEY FEATURES

• Create 3D printable work of arts, jewels, study 3D surfaces and volumes....
• Generate volumes by a polygon or circle following a 3D curve.
• Generate printable u, v  surfaces.
• Save ready to 3D print STL files.
• Apply texture for  realistic rendering.
• No account needed, all processing is done locally.
After publishing (public or private), you will be able to edit your model: Animate, change color, add background, etc..

### ENTERING X, Y, Z, D, S, TW

 The variable t defines the time from 0 to 2*pi X, Y, Z define a 3D curve as a function of t. D defines the width in mm of the generating circle/polygon as a function of time. S defines the generating shape: circle, hexagon, pentagon, square, triangle, ribbon. If S is not a circle, TW defines the twist angle of the generating shape as a function of time This formula will generate a torus: Try it

 D can be modified as a function of time t.This formula will generate a cone and by modifying S a variety of pyramids:

 If S is not a circle, TW can be used to twist the generating shape as a function of time.

 The easiest way to generate a printable Mobius strip. Twist TW starts at 0 and ends at pi.

 Giving the ribbon a constant twist of pi/2, a ring is transformed to a washer.

### VARIABLES, OPERATORS AND FUNCTIONS

Expressions are not case sensitive.

There is a single predefined constant: pi (3.14159....)

The variable t (time) ranges initially from 0 to 2*pi

Some auxiliary variables can be used, namely:   a, b, k, r, n, w

Auxiliary variable assignment is of the form:  variable = expr;
Several assignments can be done on the same line, like
a = (t-pi)/2; b=t/(2*pi); a
Note that the last term must be the value applied to X, Y or Z...

Variables u and v are used to generate surfaces, see here.

Variables x, y, z, d can be used once they have been computed.

Following arithmetic operators can be used: + - * / < > =  +=  -=  *=  /=  <=  >=  ==  !=
and the conditional operator ? vt : vf see here.

Following functions can be used: sin(), cos(), asin(), acos(), sinh(), cosh(), abs(), exp(), log(), pow(), random(), sqrt(), tan(), atan2(), round(), floor().
pow() needs two parameters, like pow(n, 5) n to the power of 5, atan2() needs 2 parameters: y and x, random() has no parameters and generates a random number between 0 an 1.

### Examples:

Using auxiliary variable n to define turn count of a spring.

Using variables x, y, z, d once they have been computed

Using hyperbolic function cosh.
sinh and cosh are available only on modern browsers.

Modifying t range from [0, 2*pi] to [-1, +1]

### USING CONDITIONAL EXPRESSIONS

Conditional expressions are of the form: condition ? 'value if true' : 'value if false'

### Examples:

Truncated pyramid with twisted handle

Locking key

### GENERATING PRINTABLE SURFACES WITH u, v VARIABLES

The app automatically generates u and v variables. u and v initially range from 0 to 2*pi. This allows defining complex u, v surfaces.
When u and v are used in the formula, a new shape control is displayed. It allows displaying true 3D surfaces.
Therefore, u and v variables can be used in 2 modes:
• Pipe mode :
16 values of v are used and for each v, 32 values of u are generated. The selected shape follows the X ,Y, Z 3D curve to generate a volume.
• Surface mode  :
u, v are used to generate a surface. Note that in most cases, this does not generate a closed printable volume. Therefore, an additional control is displayed. By checking it, the surface is given a 2mm thickness and becomes printable.

### Examples:

A very simple u, v pipe plane. 16 pipes are generated in the Y direction

A very simple printable u, v surface with 2mm thickness

Printable surface of revolution. The generating curve is Z. Note the v==0? condition to avoid 0/0 division.

A non printable Mobius strip. Note that v range is modified from [0,2*pi] to [-1,1].
There's a much easier way to define a printable Mobius strip

A non printable Klein bottle

Partial 3D print showing inside of Klein bottle,
using above formula with

### TEXTURES

 Hit a texture switch for more realistic rendering. Use Grid 32*32 and Grid 32*4 to visualize volume creation. Note that STL files do not support texture. If you are the lucky owner of a full color 3D prnter or using a print service, you should first Publish your model (public, unlisted or private), then on the player page hit the Download switch. You may then save your textured model in standard OBJ format.   A printable textured Mobius surface