On 2014-03-09, Jason Suagee <[email protected]> wrote: > > > 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? > perhaps another interesting part might be to look at invariants knotplot computes, such as Alexander polynomial, and ways to getting them imported into Sage; as far as I remember, knotplot outputs tables of coefficients of these polynomials; anything you would design should produce Sage polynomials...
-- 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.
