Good that there is no possible legal issue.


So, I've been playing around with knotplot a bit, and have been looking at 
his thesis which explains it pretty well. There are a lot of options to 
play around with and I'm still trying to figure out most of them. 


 From my perspective, when it comes to visualization knotplot is really 
good at smoothing out knots and resizing/readjusting the complicated parts 
of the diagrams, as I referred to above. I think knot support in Sage 
should definitely incorporate these methods. 


 Editing a knot in knotplot can be pretty difficult though, at least as I 
experienced it. Most of the editing I was trying to do was with the 
push/pull rockets, where you can grab a node or a stick between nodes, and 
push it in some direction that you want that part of the knot to go. You 
can constrain the push force to lie in say the xy plane, or a single axis 
direction, and you can rotate the viewing orientation. Theoretically you 
can make any adjustments to the knot that you want by switching force 
directions, rotating the view as necessary, and stopping and starting the 
smoothing dynamics as often as needed, but its not intuitive or easy. When 
it comes to knot manipulation, my opinion is that knotplot is not actually 
a good substitute for old fashioned planar knot diagrams. Also, since 
everything is going on in 3D, I can see that it would be easy to loose 
track mid-process of what you were trying to do with the knot or link in 
the first place. 


 The only thing about planar knot diagrams is that on paper at least, you 
have to constantly erase and redraw your knot, and mistakes are easily 
made. Also, you don't have automatic smoothing and rearranging of complex 
parts that you get with knotplot. 


 I think you can combine both of these approaches though and produce a very 
good tool to manipulate knot diagrams (and interface to all the other 
calculation goodies that you need). The main idea I am considering is that 
you can restrict the knot drawing to be mostly planar (to be relatively 
near the xy-plane) by adding in an external force which compresses the knot 
into a region near the xy-plane. For instance a force with magnitude 
proportional to z^4 directed towards the xy-plane, which would keep the 
knot roughly within a squashed rectangular region that would look like this:


 R: -20 < x < 20, -20 < y < 20, -1 < z < 1


 If the user then wanted to do some manipulation on the knot, such as what 
would amount to a combination of Reidemeister 2 moves for instance, he 
could pull a piece of the knot out of the region R, apply a push/pull force 
with the mouse to the part of the knot he wished to move, lift it out of 
the region R, and then let it go when it had reached the place he wanted it 
to be. The affected part of the knot would then just fall back down into 
the region R, and the smoothing dynamics would do the rest. 


 (What I just wrote smooths under the rug a lot of user interface details, 
but its just a general idea.)


 The diagram could also be made stable by basically making the thickness of 
the knot a large enough fraction of the height of the region R (in this 
case the height is 2, so if the thickness of the knot were say 2/3 the 
diagram would be stable). 


 There are some other benefits to this approach. It would be very easy to 
get a planar diagram (just project down into the xy-plane), and it would be 
easier to keep a step by step record of how the knot was rearranged during 
a manipulation process (also because of the ease of getting planar 
diagrams). It would also be fairly easy to convert other more compact 
representations of a knot into this form. You just have to specify a height 
function for points in the planar diagram.


 I can start working on a proposal for this, but I just wanted to check if 
this sounds like something you would want, or if you have any suggestions 
that I should consider?

-- 
You received this message because you are subscribed to the Google Groups 
"sage-gsoc" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-gsoc.
For more options, visit https://groups.google.com/d/optout.

Reply via email to