Now version 3.44k
Updated Dec 2009 with v3.44k which is designed for those with bigger screens and which allows some more colour options, anti-aliased drawings and XYZ export of the 3D data for use in, e.g. CarveWright software (the j version offers improvements to the HeightMap export for CarveWright). There was a skew error in the 3D exports which has now been fixed
The latest version has an AutoGrid feature that lets you create complex knots from a simple graphical template. The knot at the top of this page was done with this technique. You can also create Celtic rings or bracelets, such as:
Knots3D works, of course, in 3D. You create the knots in 2D then make them into 3D knots which you can rotate in 3D space. It can also output the knots in various 3D formats including VRML for viewing in browsers.
Click here to download the programsOther programs you might be interested in
I wrote the program because it was a fascinating challenge.
I'd only wanted it to produce simple knots such as the one above, but once I had written it I discovered that it taught me a lot about knots that I could not have worked out by hand-drawing alone and I started to make it more and more complex.
The basic knot is so simple that anyone can do it by hand. But the knots at the start of the page would be too difficult for me. But if they inspire others to hand-draw their own knots, I will be well pleased.
The program has been developed primarily for my own pleasure, so it is neither professional nor bomb proof! There is a full Help file explains what's going on and there's also a button to create pseudo-random knots for inspiration.
Click here to download V3.444k Just unzip into a convenient folder and run it. It should run under XP, Vista and Windows-7. The old built-in Help is no longer supported by Vista and Windows 7 (it's even been tested on the 64bit version), so just open Help.rtf into Word and you can read it all there.Remember - if all else fails, read the manual. Knots3D has so many options, because that's what users requested, that it's quite complex. The Help file explains everything in detail so have a good read of it to get to know all the things you can do with the program.
For more information on Rod's book (which is now in its Second
Edition) see: Visual Basic
and for Rod's own home page see: Rod's amazing source of VB stuff
Eventually I learned enough about POVRay to find a way of
outputting the knots in a compact (comparatively) format that
POVRay can render (left picture).
Terry W. Gintz helped me debug .OBJ and .DXF outputs, and his graphic (right picture) shows what happens when you import them into a powerful 3D program such as Bryce.
To see a knot in VRML2 format, click here for VRMLknotn.wrl which is ~50KB (for those who
want to read the VRML content, note that it's in gzip format so
you'll have to gunzip it first (your browser gunzips it
automatically for viewing))
Note that with VRML2 I've now made the knot spin on startup!
From v3.35 there's the ability to output the knots in a format useable on CAD/CAM machines. The picture shows a simulated engraving from CAD software of a knot as it might be machined into a piece of wood or metal. This functionality is particularly useful for schools - and was suggested by Peter Patient who works extensivly with the UK schools CAD/CAM community
I'm grateful to Nathan Smith for helping improve the DXF and DXF-2D outputs, to Todd for suggesting the way to make more complex custom knots, to Paul Hilton for the idea of curving the knots into rings/bracelets and to Steve McQuinn for identifyng bugs in the rings program and inefficiencies in .obj files.
Thanks to Nagata Shojiro for suggesting animating the 2D drawing process.
And thanks to Ben Thompson for persuading me to add anti-aliased lines, better colour and also to fix some drawing bugs
And thanks to Jim Darrah for persuading me to add Height Map and XYZ output ready for the CarveWright community
And thanks to Steven McQuinn (again!) who took the Height Map output into Carrara and produced this amazing knot in a pseudo CarveWright manner.