Untwisting the Tetrahelix
This is an interactive 3D simulation. To change the view, place your mouse in the view area, and hold and "drag" the mouse to rotate the image.
The mouse wheel or a drag on your trackpad should zoom you in or out.
A mathematical investigation of the Tetrahelix and Boerdijk-Coxeter helix, which provides a new
formulaic way of producing a continuum of untwisted tetrahelices.
All of the code on this site is released under the GNU General Public License, and I hope you will reuse it.
Tetrahelixes are cool. R.W. Gray has a great
site about them.
Further motivation is described in an academic paper we are preparing that will
be linked in draft form here.
The math on this site creates three novel things:
This is valuable because architects, engineers, and roboticists can now use the beautiful and
regular structure of the BC helix. In fact, this application was driven by the Tetrobot project.
The BC helix happens to have an irrational pitch, which means that an architect of game
designer who wanted to use this beautiful structure in a periodic and symmetric way could not do so.
However, using the software here they can use a slightly irregular but still in a sense optimal
tetrahelix with a pitch of exactly 12 tetrahedral to a singel revolution, for example. Robotocists
such as myself can dynmaicall make a tetrobot untwist, in order to lay flat on a plane, but still
build the robot out of actuators of exactly the same size.
- The ability to untwist adn retwist the Boerdijk-Coxeter tetrahelix (BC helix) in an way that is smooth
and optimal in terms the difference between the longest member and the shortest member.
- A new structure, the equitetrabeam, which is a fully untwisted BC helix.
- Both the mathematics and an interactive GUI for designing tetrahelices to match a
How to Use
The site uses the so-called THREE.js "orbit" control. Click on the scene and drag and you will find your self
rotating, always looking at approximately the center point. Moving the middle mouse wheel or the Mac scrolling
pattern will zoom you in or out.
Accessing the Math
This site is coded in the file index.md,
which has the THREE.js rendering code and
code to to use the fundamental math. The math from our paper, however, is in
You are welcome to use tetrahelix_math.js in for your own purposes, such as in a computer game or to
design your own physical structures.
Running the Test
Although it is currently a work in progress, my goal is to make tetrahelix_math.js testable via
Mocha. You will need to install npm, node, and mocha for this to work.
I am not a node expert, but basically I did:
In order to use the tetrahelix_math module in the browser.
I build the browser ready file with:
npm install -g browserify
npm install -g mocha
In order to run the tests, in the main repo, type:
browserify tm_shim.js -o bundle.js
Thanks and Open-Source software used
This page is using a lot of open source software, in particular Three.js. However,
special thanks to Ricky Reusser for a simple little