The inputs of folding operation are:
- four half-lines with a common initial point 'A': 'AB', 'AC', 'AD' and 'AE', and
- a point 'F' on one side of the plane 'ABC' indicating the direction of the rotations.
The lines 'AB' and 'AC' are axes of two rotations, such that the half-line 'AD' rotated by the first rotation around the line 'AB' is equal to the half-line 'AE' rotated by the second rotation around the line 'AC'.
Such rotations may not always exist. (It depends on the angles between the half-lines.)
As a simple example, let's make regular tetrahedron.
First make equilateral triangle:
- Set 3 as the NUMBER OF POLYGON VERTICES on the inputs page
- Insert outline of regular polygon ('QMI3')
- Using cursor jumping ('QCJ') to the endpoints of the outline, insert a single triangle
- Select all vertices ('QSX') and remove the segments of the outline ('QD4')
Then make two copies of the triangle:
(I have also painted them with different colors.)
Then you can use two three-point transformations to align the triangles as follows (use cursor jumping ('QCJ') to set the input constructive points of the three-point transformations):
Use selecting and bookmarking to bookmark the red triangle and to select the green triangle and use cursor jumping ('QCJ') to set constructive points as follows:
Do folding ('QMF'):
The red and the green triangles have been folded around 'AC' and 'AB', respectively.
Note the point 'V' that is set by folding to denote the half-line 'AV' that is equal to the rotations of 'AD' and 'AE'.
There is still one face missing:
We can add it manually with cursor jumping to the existing endpoints:
The Folding Algorithm (formally derived here) does not use any trigonometric functions, which should have positive impact on the precision of computations.