I attempted to get knotscape working, but the program hung when I clicked
on one of the menu buttons (this might be an issue with Tcl or Tk). I was
able to check out the link drawing utility linkscape, so I have a good idea
of how that works. Since knotscape hung I don't know how it plots a knot,
is it a 3D representation (similar to that of say Mathematica). In order to
get knotscape to work with my linux distro I would probably have to
downgrade Tcl and Tk to an older version, which I don't particularly want
to get into right now.
One of the knot theorists at my university, Alex Shumakovitch, expressed
to me yesterday his desire for a particular kind of knot diagram
manipulation interface that was more natural, or closer to how a person
might manipulate an actual knot. While manipulating a knot diagram one
often combines many Reidemeister moves into one, for instance when pulling
an arc component over a complicated part of the knot. What he was saying is
that it would be neat if you could do all of this manipulation on a
computer without chugging through individual Reidemeister moves. I can post
a scanned picture if this is unclear which will illustrate what I mean when
I am at the university tomorrow.
If you try to manipulate an actual real knot though you'll quickly run
into a problem: parts of the knot become very complicated, a lot goes on in
a small amount of space whereas other parts of the knot may not have
anything going on. If you're manipulating a diagram on a computer you would
want to be able to resize/readjust the diagram to create more room for
these complicated parts.
While I had originally conceived of something 2D, Alex gave me the
impression that what he would like would be more useful. So I thought a bit
about how his idea might be made to work:
It would be pretty hard to do. You could plot the knot using OpenGL, or
WebGL since most people use Sage through the notebook interface which runs
on a browser. Instead of allowing a full 3D environment with no preferred
viewing angle, which could end up being disorienting for the user, you
could restrict the knot to a bounding box that is a thickened plate (say if
your looking at it from the point (1,1,1), the area where the knot would be
depicted would be in {(x,y,z) : -1 < x < 1, -1 < y < 1, -0.1 < z < 0.1} ).
Below, I'm going to call this kind of depiction of a knot a “thickened
planar drawing”.
I haven't been able to come up with a good way of emulating physical knot
manipulation yet, although I haven't had much time to think about it. It
would have to be computationally feasible, so that probably rules out
schemes which involve a lot of computational geometry (like intersection
checking to make sure components of the link don't pass each other and stay
reasonably spaced out). There is a whole area of knot theory called
physical knot theory which might contain something useful?
Perhaps we could use the fact that the knot would be a thickened planar
diagram, since it lies in a thickened plate, to reduce the amount of
computational geometry that needs to be performed.
The other part of the picture is how you resize/readjust the drawing after
you have performed a manipulation. All I can think of at the moment is that
you could look at a planar knot diagram for the drawing (just project down
into the x,y-plane). You could then use a force-directed graph
drawing<http://en.wikipedia.org/wiki/Force-directed_graph_drawing> algorithm
to re-render/adjust the underlying signed planar graph that I mentioned in
the last post. The graph then could be used to re-render the knot diagram,
which can be translated back into a thickened planar drawing.
If we pursued this strategy of a 3D representation I don't think that any
of the other things that I said, like linking numbers and surgery
coefficients, could be simultaneously accomplished over one summer by one
person. According to the scheme it's conceptually easy to recover a planar
knot diagram from the 3D drawing, so another programmer could work on the
project from that perspective (calculating everything from some planar
diagram representation), while another person works on building a 3D
manipulation tool.
I acknowledge that this direction for your project might be too involved
for one summer. I think it might be possible to do though. Let me know what
you think. I might not respond till Thursday because I teach back to back
all day today and might be pretty tired when I get home.
--
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/groups/opt_out.