KNOTSWITHSTANDING! Erik S

KNOTSWITHSTANDING! Erik S

Rhode Island College Digital Commons @ RIC Honors Projects Overview Honors Projects 2015 KNOTSWITHSTANDING! Erik S. Nestor [email protected] Follow this and additional works at: https://digitalcommons.ric.edu/honors_projects Part of the Software Engineering Commons, and the Theory and Algorithms Commons Recommended Citation Nestor, Erik S., "KNOTSWITHSTANDING!" (2015). Honors Projects Overview. 141. https://digitalcommons.ric.edu/honors_projects/141 This Honors is brought to you for free and open access by the Honors Projects at Digital Commons @ RIC. It has been accepted for inclusion in Honors Projects Overview by an authorized administrator of Digital Commons @ RIC. For more information, please contact [email protected]. KNOTSWITHSTANDING! By Erik S. Nestor An Honors Project Submitted in Partial Fulfillment of the Requirements for Honors in The Department of Mathematics and Computer Science Faculty of Arts and Sciences Rhode Island College 2015 [ii] Acknowledgements Copious thanks to Dr. Robert Ravenscroft for wisdom, support, and patience through many added functionalities and last-minute implementation changes. Thanks to Dr. John Burke for inspiration and feedback. Thanks also to my Rhode Island College colleagues and professors, especially Doctors Kathryn Sanders and Ed McDowell taught me almost everything I know in addition to sitting on the advisory board for this project. And finally, thanks to Sebastian Edward Nestor for continually inspiring me to better myself, and to my wife, Toni Fellela, for sustaining my life while I sat in a dark room for three years swearing at a laptop. [iii] Table of Contents 1. Introduction and Overview ...................................................................................................... 1 2. The Search for a Suitable User Interface ................................................................................... 3 3. Why Knots? - a Very Brief Synopsis .......................................................................................... 7 4. Analysis of a Valid Structure ................................................................................................... 12 5. Tricolorability Detection ......................................................................................................... 15 6. Using Banks and Registers to Animate a Knot ......................................................................... 18 7. What the Future Holds ........................................................................................................... 20 Appendix A – User Documentation .............................................................................................. 21 A1 – The Grid .................................................................................................................................... 22 A2 – The Text Pane ........................................................................................................................... 23 A3 – The Editing Toolkit ................................................................................................................... 24 A3.1 – Save .................................................................................................................................. 24 A3.2 – Load .................................................................................................................................. 25 A3.3 – Delete Selected................................................................................................................. 25 A3.4 – Clear Grid .......................................................................................................................... 25 A3.5 – Rotate Selected Cells ........................................................................................................ 25 A3.6 – Shift Selected Cells ........................................................................................................... 26 A3.7 – Invert Crossings ................................................................................................................ 26 A3.8 – Analyze and Tricolor ......................................................................................................... 26 A4 – Knot Fragment Tiles ................................................................................................................. 26 A5 – Cell Size Selector ...................................................................................................................... 27 A6 – Open Text Pane ........................................................................................................................ 27 A7 – Storage Panel ........................................................................................................................... 28 A7.1 – Playback Control ............................................................................................................... 29 A7.2 – Loop Local Bank Checkbox ............................................................................................... 30 A7.3 – Register Compare Toggle ................................................................................................. 30 A7.4 – Bank Display and Select .................................................................................................... 30 A7.5 – Frame Rate Slider ............................................................................................................. 31 [iv] A7.6 – Register Display and Select .............................................................................................. 31 A8 – Plotting a Structure .................................................................................................................. 32 A8.1 – Manual Tile Entry ............................................................................................................. 34 A8.2 – Batch Select ...................................................................................................................... 34 A8.3 – Rotating and Deleting Tiles .............................................................................................. 36 Appendix B – The Code ................................................................................................................ 37 B1 – index.html ................................................................................................................................ 38 B2 – styleSheet.css ........................................................................................................................... 41 B3 – Board.js .................................................................................................................................... 63 B4 – DisplayPane.js .......................................................................................................................... 96 B5 – RegisterSet.js ............................................................................................................................ 98 B6 – EventHandling.js ..................................................................................................................... 105 B7 – AnalysisAndSuperClasses.js ................................................................................................... 138 Pictures and Diagrams Fig. 1 – The Board class and its components ................................................................................................... 6 Fig. 2a – Figure eight knot, standard depiction ....................................................................................... 8 Fig. 2b – Figure eight knot, square depiction ........................................................................................... 8 Fig. 3 – The Analysis Classes ................................................................................................................... 14 Fig. 4 – Tricolor Logic .............................................................................................................................. 17 Fig. 5 – The Knotswithstanding! User Interface ..................................................................................... 21 Fig. 6 – The Knotswithstanding! Storage Panel ..................................................................................... 28 [v] 1. Introduction and Overview Knotswithstanding! is an interactive pedagogical tool intended to demonstrate fundamental properties of mathematical knots. It was conceptualized and designed by Erik Nestor, an undergraduate computer science major at Rhode Island College under the mentorship of Dr. Robert Ravenscroft as an honors project for the 2014-15 academic year. The tile set used in Knotswithstanding! was suggested by Dr. John Burke of the Rhode Island College Mathematics Department. Dr. Burke also deserves credit as the primary motivator for this project as it was begun as a response to his expressed need for a system which could demonstrate introductory level knotting concepts in the classroom. Computational representation of knot theory problems have travelled a slow and tentative road, with knot theory’s principal problems remaining unsolved. Significant work in graphical representation has been done by Robert Scharein of the University of British Columbia in his 1998 doctoral thesis Interactive Topological Drawing. His accompanying software package KnotPlot is an OpenGL utility which allows the user to render and manipulate 3D representations of mathematical knots. It and

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    164 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us