{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Defining the target Wo type function\n",
    "Let calculate the derivate expression of the family of functions we want to play with. \n",
    "\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 97,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "exp(sin(t))*cos(t)\n"
     ]
    }
   ],
   "source": [
    "#Importing all stuff\n",
    "\n",
    "from sympy import *\n",
    "\n",
    "#//////////////   Lets define here the expression of Wo we want to calculate the fold state.  /////////////\n",
    "\n",
    "\n",
    "t = Symbol('t') #Defining the symbol t\n",
    "\n",
    "Wo = exp(sin(t)) #Plug here your expression. Lets derivate it with sympy in case its get complex. \n",
    "    # IMPORTANT. Plug it in sympy notation so there is no chance to mistake. Later on we will re write it in np. \n",
    "    \n",
    "dWo = diff(Wo) #Now, let derive the expression and print the result so we can manually :( translate into np. \n",
    "print(dWo)\n",
    "    "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now, as it was explained in the theory, the differential equation in which we have to implement this expression is the following: "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\n",
    "$$\\frac{\\partial z}{\\partial t}=  \\sqrt{1-tan(\\gamma )^{2}\\left ( \\frac{\\partial W_{0} }{\\partial t} \\right )^{2}} $$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We will implement a function dzdt in python in which we will implement the previous expression in the $\\frac{\\partial z}{\\partial t}$"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 98,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "application/javascript": [
       "/* Put everything inside the global mpl namespace */\n",
       "window.mpl = {};\n",
       "\n",
       "\n",
       "mpl.get_websocket_type = function() {\n",
       "    if (typeof(WebSocket) !== 'undefined') {\n",
       "        return WebSocket;\n",
       "    } else if (typeof(MozWebSocket) !== 'undefined') {\n",
       "        return MozWebSocket;\n",
       "    } else {\n",
       "        alert('Your browser does not have WebSocket support. ' +\n",
       "              'Please try Chrome, Safari or Firefox ≥ 6. ' +\n",
       "              'Firefox 4 and 5 are also supported but you ' +\n",
       "              'have to enable WebSockets in about:config.');\n",
       "    };\n",
       "}\n",
       "\n",
       "mpl.figure = function(figure_id, websocket, ondownload, parent_element) {\n",
       "    this.id = figure_id;\n",
       "\n",
       "    this.ws = websocket;\n",
       "\n",
       "    this.supports_binary = (this.ws.binaryType != undefined);\n",
       "\n",
       "    if (!this.supports_binary) {\n",
       "        var warnings = document.getElementById(\"mpl-warnings\");\n",
       "        if (warnings) {\n",
       "            warnings.style.display = 'block';\n",
       "            warnings.textContent = (\n",
       "                \"This browser does not support binary websocket messages. \" +\n",
       "                    \"Performance may be slow.\");\n",
       "        }\n",
       "    }\n",
       "\n",
       "    this.imageObj = new Image();\n",
       "\n",
       "    this.context = undefined;\n",
       "    this.message = undefined;\n",
       "    this.canvas = undefined;\n",
       "    this.rubberband_canvas = undefined;\n",
       "    this.rubberband_context = undefined;\n",
       "    this.format_dropdown = undefined;\n",
       "\n",
       "    this.image_mode = 'full';\n",
       "\n",
       "    this.root = $('<div/>');\n",
       "    this._root_extra_style(this.root)\n",
       "    this.root.attr('style', 'display: inline-block');\n",
       "\n",
       "    $(parent_element).append(this.root);\n",
       "\n",
       "    this._init_header(this);\n",
       "    this._init_canvas(this);\n",
       "    this._init_toolbar(this);\n",
       "\n",
       "    var fig = this;\n",
       "\n",
       "    this.waiting = false;\n",
       "\n",
       "    this.ws.onopen =  function () {\n",
       "            fig.send_message(\"supports_binary\", {value: fig.supports_binary});\n",
       "            fig.send_message(\"send_image_mode\", {});\n",
       "            if (mpl.ratio != 1) {\n",
       "                fig.send_message(\"set_dpi_ratio\", {'dpi_ratio': mpl.ratio});\n",
       "            }\n",
       "            fig.send_message(\"refresh\", {});\n",
       "        }\n",
       "\n",
       "    this.imageObj.onload = function() {\n",
       "            if (fig.image_mode == 'full') {\n",
       "                // Full images could contain transparency (where diff images\n",
       "                // almost always do), so we need to clear the canvas so that\n",
       "                // there is no ghosting.\n",
       "                fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n",
       "            }\n",
       "            fig.context.drawImage(fig.imageObj, 0, 0);\n",
       "        };\n",
       "\n",
       "    this.imageObj.onunload = function() {\n",
       "        fig.ws.close();\n",
       "    }\n",
       "\n",
       "    this.ws.onmessage = this._make_on_message_function(this);\n",
       "\n",
       "    this.ondownload = ondownload;\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._init_header = function() {\n",
       "    var titlebar = $(\n",
       "        '<div class=\"ui-dialog-titlebar ui-widget-header ui-corner-all ' +\n",
       "        'ui-helper-clearfix\"/>');\n",
       "    var titletext = $(\n",
       "        '<div class=\"ui-dialog-title\" style=\"width: 100%; ' +\n",
       "        'text-align: center; padding: 3px;\"/>');\n",
       "    titlebar.append(titletext)\n",
       "    this.root.append(titlebar);\n",
       "    this.header = titletext[0];\n",
       "}\n",
       "\n",
       "\n",
       "\n",
       "mpl.figure.prototype._canvas_extra_style = function(canvas_div) {\n",
       "\n",
       "}\n",
       "\n",
       "\n",
       "mpl.figure.prototype._root_extra_style = function(canvas_div) {\n",
       "\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._init_canvas = function() {\n",
       "    var fig = this;\n",
       "\n",
       "    var canvas_div = $('<div/>');\n",
       "\n",
       "    canvas_div.attr('style', 'position: relative; clear: both; outline: 0');\n",
       "\n",
       "    function canvas_keyboard_event(event) {\n",
       "        return fig.key_event(event, event['data']);\n",
       "    }\n",
       "\n",
       "    canvas_div.keydown('key_press', canvas_keyboard_event);\n",
       "    canvas_div.keyup('key_release', canvas_keyboard_event);\n",
       "    this.canvas_div = canvas_div\n",
       "    this._canvas_extra_style(canvas_div)\n",
       "    this.root.append(canvas_div);\n",
       "\n",
       "    var canvas = $('<canvas/>');\n",
       "    canvas.addClass('mpl-canvas');\n",
       "    canvas.attr('style', \"left: 0; top: 0; z-index: 0; outline: 0\")\n",
       "\n",
       "    this.canvas = canvas[0];\n",
       "    this.context = canvas[0].getContext(\"2d\");\n",
       "\n",
       "    var backingStore = this.context.backingStorePixelRatio ||\n",
       "\tthis.context.webkitBackingStorePixelRatio ||\n",
       "\tthis.context.mozBackingStorePixelRatio ||\n",
       "\tthis.context.msBackingStorePixelRatio ||\n",
       "\tthis.context.oBackingStorePixelRatio ||\n",
       "\tthis.context.backingStorePixelRatio || 1;\n",
       "\n",
       "    mpl.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
       "\n",
       "    var rubberband = $('<canvas/>');\n",
       "    rubberband.attr('style', \"position: absolute; left: 0; top: 0; z-index: 1;\")\n",
       "\n",
       "    var pass_mouse_events = true;\n",
       "\n",
       "    canvas_div.resizable({\n",
       "        start: function(event, ui) {\n",
       "            pass_mouse_events = false;\n",
       "        },\n",
       "        resize: function(event, ui) {\n",
       "            fig.request_resize(ui.size.width, ui.size.height);\n",
       "        },\n",
       "        stop: function(event, ui) {\n",
       "            pass_mouse_events = true;\n",
       "            fig.request_resize(ui.size.width, ui.size.height);\n",
       "        },\n",
       "    });\n",
       "\n",
       "    function mouse_event_fn(event) {\n",
       "        if (pass_mouse_events)\n",
       "            return fig.mouse_event(event, event['data']);\n",
       "    }\n",
       "\n",
       "    rubberband.mousedown('button_press', mouse_event_fn);\n",
       "    rubberband.mouseup('button_release', mouse_event_fn);\n",
       "    // Throttle sequential mouse events to 1 every 20ms.\n",
       "    rubberband.mousemove('motion_notify', mouse_event_fn);\n",
       "\n",
       "    rubberband.mouseenter('figure_enter', mouse_event_fn);\n",
       "    rubberband.mouseleave('figure_leave', mouse_event_fn);\n",
       "\n",
       "    canvas_div.on(\"wheel\", function (event) {\n",
       "        event = event.originalEvent;\n",
       "        event['data'] = 'scroll'\n",
       "        if (event.deltaY < 0) {\n",
       "            event.step = 1;\n",
       "        } else {\n",
       "            event.step = -1;\n",
       "        }\n",
       "        mouse_event_fn(event);\n",
       "    });\n",
       "\n",
       "    canvas_div.append(canvas);\n",
       "    canvas_div.append(rubberband);\n",
       "\n",
       "    this.rubberband = rubberband;\n",
       "    this.rubberband_canvas = rubberband[0];\n",
       "    this.rubberband_context = rubberband[0].getContext(\"2d\");\n",
       "    this.rubberband_context.strokeStyle = \"#000000\";\n",
       "\n",
       "    this._resize_canvas = function(width, height) {\n",
       "        // Keep the size of the canvas, canvas container, and rubber band\n",
       "        // canvas in synch.\n",
       "        canvas_div.css('width', width)\n",
       "        canvas_div.css('height', height)\n",
       "\n",
       "        canvas.attr('width', width * mpl.ratio);\n",
       "        canvas.attr('height', height * mpl.ratio);\n",
       "        canvas.attr('style', 'width: ' + width + 'px; height: ' + height + 'px;');\n",
       "\n",
       "        rubberband.attr('width', width);\n",
       "        rubberband.attr('height', height);\n",
       "    }\n",
       "\n",
       "    // Set the figure to an initial 600x600px, this will subsequently be updated\n",
       "    // upon first draw.\n",
       "    this._resize_canvas(600, 600);\n",
       "\n",
       "    // Disable right mouse context menu.\n",
       "    $(this.rubberband_canvas).bind(\"contextmenu\",function(e){\n",
       "        return false;\n",
       "    });\n",
       "\n",
       "    function set_focus () {\n",
       "        canvas.focus();\n",
       "        canvas_div.focus();\n",
       "    }\n",
       "\n",
       "    window.setTimeout(set_focus, 100);\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._init_toolbar = function() {\n",
       "    var fig = this;\n",
       "\n",
       "    var nav_element = $('<div/>');\n",
       "    nav_element.attr('style', 'width: 100%');\n",
       "    this.root.append(nav_element);\n",
       "\n",
       "    // Define a callback function for later on.\n",
       "    function toolbar_event(event) {\n",
       "        return fig.toolbar_button_onclick(event['data']);\n",
       "    }\n",
       "    function toolbar_mouse_event(event) {\n",
       "        return fig.toolbar_button_onmouseover(event['data']);\n",
       "    }\n",
       "\n",
       "    for(var toolbar_ind in mpl.toolbar_items) {\n",
       "        var name = mpl.toolbar_items[toolbar_ind][0];\n",
       "        var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
       "        var image = mpl.toolbar_items[toolbar_ind][2];\n",
       "        var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
       "\n",
       "        if (!name) {\n",
       "            // put a spacer in here.\n",
       "            continue;\n",
       "        }\n",
       "        var button = $('<button/>');\n",
       "        button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n",
       "                        'ui-button-icon-only');\n",
       "        button.attr('role', 'button');\n",
       "        button.attr('aria-disabled', 'false');\n",
       "        button.click(method_name, toolbar_event);\n",
       "        button.mouseover(tooltip, toolbar_mouse_event);\n",
       "\n",
       "        var icon_img = $('<span/>');\n",
       "        icon_img.addClass('ui-button-icon-primary ui-icon');\n",
       "        icon_img.addClass(image);\n",
       "        icon_img.addClass('ui-corner-all');\n",
       "\n",
       "        var tooltip_span = $('<span/>');\n",
       "        tooltip_span.addClass('ui-button-text');\n",
       "        tooltip_span.html(tooltip);\n",
       "\n",
       "        button.append(icon_img);\n",
       "        button.append(tooltip_span);\n",
       "\n",
       "        nav_element.append(button);\n",
       "    }\n",
       "\n",
       "    var fmt_picker_span = $('<span/>');\n",
       "\n",
       "    var fmt_picker = $('<select/>');\n",
       "    fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n",
       "    fmt_picker_span.append(fmt_picker);\n",
       "    nav_element.append(fmt_picker_span);\n",
       "    this.format_dropdown = fmt_picker[0];\n",
       "\n",
       "    for (var ind in mpl.extensions) {\n",
       "        var fmt = mpl.extensions[ind];\n",
       "        var option = $(\n",
       "            '<option/>', {selected: fmt === mpl.default_extension}).html(fmt);\n",
       "        fmt_picker.append(option);\n",
       "    }\n",
       "\n",
       "    // Add hover states to the ui-buttons\n",
       "    $( \".ui-button\" ).hover(\n",
       "        function() { $(this).addClass(\"ui-state-hover\");},\n",
       "        function() { $(this).removeClass(\"ui-state-hover\");}\n",
       "    );\n",
       "\n",
       "    var status_bar = $('<span class=\"mpl-message\"/>');\n",
       "    nav_element.append(status_bar);\n",
       "    this.message = status_bar[0];\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {\n",
       "    // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
       "    // which will in turn request a refresh of the image.\n",
       "    this.send_message('resize', {'width': x_pixels, 'height': y_pixels});\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.send_message = function(type, properties) {\n",
       "    properties['type'] = type;\n",
       "    properties['figure_id'] = this.id;\n",
       "    this.ws.send(JSON.stringify(properties));\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.send_draw_message = function() {\n",
       "    if (!this.waiting) {\n",
       "        this.waiting = true;\n",
       "        this.ws.send(JSON.stringify({type: \"draw\", figure_id: this.id}));\n",
       "    }\n",
       "}\n",
       "\n",
       "\n",
       "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
       "    var format_dropdown = fig.format_dropdown;\n",
       "    var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
       "    fig.ondownload(fig, format);\n",
       "}\n",
       "\n",
       "\n",
       "mpl.figure.prototype.handle_resize = function(fig, msg) {\n",
       "    var size = msg['size'];\n",
       "    if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {\n",
       "        fig._resize_canvas(size[0], size[1]);\n",
       "        fig.send_message(\"refresh\", {});\n",
       "    };\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n",
       "    var x0 = msg['x0'] / mpl.ratio;\n",
       "    var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n",
       "    var x1 = msg['x1'] / mpl.ratio;\n",
       "    var y1 = (fig.canvas.height - msg['y1']) / mpl.ratio;\n",
       "    x0 = Math.floor(x0) + 0.5;\n",
       "    y0 = Math.floor(y0) + 0.5;\n",
       "    x1 = Math.floor(x1) + 0.5;\n",
       "    y1 = Math.floor(y1) + 0.5;\n",
       "    var min_x = Math.min(x0, x1);\n",
       "    var min_y = Math.min(y0, y1);\n",
       "    var width = Math.abs(x1 - x0);\n",
       "    var height = Math.abs(y1 - y0);\n",
       "\n",
       "    fig.rubberband_context.clearRect(\n",
       "        0, 0, fig.canvas.width / mpl.ratio, fig.canvas.height / mpl.ratio);\n",
       "\n",
       "    fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.handle_figure_label = function(fig, msg) {\n",
       "    // Updates the figure title.\n",
       "    fig.header.textContent = msg['label'];\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.handle_cursor = function(fig, msg) {\n",
       "    var cursor = msg['cursor'];\n",
       "    switch(cursor)\n",
       "    {\n",
       "    case 0:\n",
       "        cursor = 'pointer';\n",
       "        break;\n",
       "    case 1:\n",
       "        cursor = 'default';\n",
       "        break;\n",
       "    case 2:\n",
       "        cursor = 'crosshair';\n",
       "        break;\n",
       "    case 3:\n",
       "        cursor = 'move';\n",
       "        break;\n",
       "    }\n",
       "    fig.rubberband_canvas.style.cursor = cursor;\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.handle_message = function(fig, msg) {\n",
       "    fig.message.textContent = msg['message'];\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.handle_draw = function(fig, msg) {\n",
       "    // Request the server to send over a new figure.\n",
       "    fig.send_draw_message();\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.handle_image_mode = function(fig, msg) {\n",
       "    fig.image_mode = msg['mode'];\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.updated_canvas_event = function() {\n",
       "    // Called whenever the canvas gets updated.\n",
       "    this.send_message(\"ack\", {});\n",
       "}\n",
       "\n",
       "// A function to construct a web socket function for onmessage handling.\n",
       "// Called in the figure constructor.\n",
       "mpl.figure.prototype._make_on_message_function = function(fig) {\n",
       "    return function socket_on_message(evt) {\n",
       "        if (evt.data instanceof Blob) {\n",
       "            /* FIXME: We get \"Resource interpreted as Image but\n",
       "             * transferred with MIME type text/plain:\" errors on\n",
       "             * Chrome.  But how to set the MIME type?  It doesn't seem\n",
       "             * to be part of the websocket stream */\n",
       "            evt.data.type = \"image/png\";\n",
       "\n",
       "            /* Free the memory for the previous frames */\n",
       "            if (fig.imageObj.src) {\n",
       "                (window.URL || window.webkitURL).revokeObjectURL(\n",
       "                    fig.imageObj.src);\n",
       "            }\n",
       "\n",
       "            fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
       "                evt.data);\n",
       "            fig.updated_canvas_event();\n",
       "            fig.waiting = false;\n",
       "            return;\n",
       "        }\n",
       "        else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\n",
       "            fig.imageObj.src = evt.data;\n",
       "            fig.updated_canvas_event();\n",
       "            fig.waiting = false;\n",
       "            return;\n",
       "        }\n",
       "\n",
       "        var msg = JSON.parse(evt.data);\n",
       "        var msg_type = msg['type'];\n",
       "\n",
       "        // Call the  \"handle_{type}\" callback, which takes\n",
       "        // the figure and JSON message as its only arguments.\n",
       "        try {\n",
       "            var callback = fig[\"handle_\" + msg_type];\n",
       "        } catch (e) {\n",
       "            console.log(\"No handler for the '\" + msg_type + \"' message type: \", msg);\n",
       "            return;\n",
       "        }\n",
       "\n",
       "        if (callback) {\n",
       "            try {\n",
       "                // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
       "                callback(fig, msg);\n",
       "            } catch (e) {\n",
       "                console.log(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n",
       "            }\n",
       "        }\n",
       "    };\n",
       "}\n",
       "\n",
       "// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
       "mpl.findpos = function(e) {\n",
       "    //this section is from http://www.quirksmode.org/js/events_properties.html\n",
       "    var targ;\n",
       "    if (!e)\n",
       "        e = window.event;\n",
       "    if (e.target)\n",
       "        targ = e.target;\n",
       "    else if (e.srcElement)\n",
       "        targ = e.srcElement;\n",
       "    if (targ.nodeType == 3) // defeat Safari bug\n",
       "        targ = targ.parentNode;\n",
       "\n",
       "    // jQuery normalizes the pageX and pageY\n",
       "    // pageX,Y are the mouse positions relative to the document\n",
       "    // offset() returns the position of the element relative to the document\n",
       "    var x = e.pageX - $(targ).offset().left;\n",
       "    var y = e.pageY - $(targ).offset().top;\n",
       "\n",
       "    return {\"x\": x, \"y\": y};\n",
       "};\n",
       "\n",
       "/*\n",
       " * return a copy of an object with only non-object keys\n",
       " * we need this to avoid circular references\n",
       " * http://stackoverflow.com/a/24161582/3208463\n",
       " */\n",
       "function simpleKeys (original) {\n",
       "  return Object.keys(original).reduce(function (obj, key) {\n",
       "    if (typeof original[key] !== 'object')\n",
       "        obj[key] = original[key]\n",
       "    return obj;\n",
       "  }, {});\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.mouse_event = function(event, name) {\n",
       "    var canvas_pos = mpl.findpos(event)\n",
       "\n",
       "    if (name === 'button_press')\n",
       "    {\n",
       "        this.canvas.focus();\n",
       "        this.canvas_div.focus();\n",
       "    }\n",
       "\n",
       "    var x = canvas_pos.x * mpl.ratio;\n",
       "    var y = canvas_pos.y * mpl.ratio;\n",
       "\n",
       "    this.send_message(name, {x: x, y: y, button: event.button,\n",
       "                             step: event.step,\n",
       "                             guiEvent: simpleKeys(event)});\n",
       "\n",
       "    /* This prevents the web browser from automatically changing to\n",
       "     * the text insertion cursor when the button is pressed.  We want\n",
       "     * to control all of the cursor setting manually through the\n",
       "     * 'cursor' event from matplotlib */\n",
       "    event.preventDefault();\n",
       "    return false;\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
       "    // Handle any extra behaviour associated with a key event\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.key_event = function(event, name) {\n",
       "\n",
       "    // Prevent repeat events\n",
       "    if (name == 'key_press')\n",
       "    {\n",
       "        if (event.which === this._key)\n",
       "            return;\n",
       "        else\n",
       "            this._key = event.which;\n",
       "    }\n",
       "    if (name == 'key_release')\n",
       "        this._key = null;\n",
       "\n",
       "    var value = '';\n",
       "    if (event.ctrlKey && event.which != 17)\n",
       "        value += \"ctrl+\";\n",
       "    if (event.altKey && event.which != 18)\n",
       "        value += \"alt+\";\n",
       "    if (event.shiftKey && event.which != 16)\n",
       "        value += \"shift+\";\n",
       "\n",
       "    value += 'k';\n",
       "    value += event.which.toString();\n",
       "\n",
       "    this._key_event_extra(event, name);\n",
       "\n",
       "    this.send_message(name, {key: value,\n",
       "                             guiEvent: simpleKeys(event)});\n",
       "    return false;\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.toolbar_button_onclick = function(name) {\n",
       "    if (name == 'download') {\n",
       "        this.handle_save(this, null);\n",
       "    } else {\n",
       "        this.send_message(\"toolbar_button\", {name: name});\n",
       "    }\n",
       "};\n",
       "\n",
       "mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {\n",
       "    this.message.textContent = tooltip;\n",
       "};\n",
       "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
       "\n",
       "mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
       "\n",
       "mpl.default_extension = \"png\";var comm_websocket_adapter = function(comm) {\n",
       "    // Create a \"websocket\"-like object which calls the given IPython comm\n",
       "    // object with the appropriate methods. Currently this is a non binary\n",
       "    // socket, so there is still some room for performance tuning.\n",
       "    var ws = {};\n",
       "\n",
       "    ws.close = function() {\n",
       "        comm.close()\n",
       "    };\n",
       "    ws.send = function(m) {\n",
       "        //console.log('sending', m);\n",
       "        comm.send(m);\n",
       "    };\n",
       "    // Register the callback with on_msg.\n",
       "    comm.on_msg(function(msg) {\n",
       "        //console.log('receiving', msg['content']['data'], msg);\n",
       "        // Pass the mpl event to the overridden (by mpl) onmessage function.\n",
       "        ws.onmessage(msg['content']['data'])\n",
       "    });\n",
       "    return ws;\n",
       "}\n",
       "\n",
       "mpl.mpl_figure_comm = function(comm, msg) {\n",
       "    // This is the function which gets called when the mpl process\n",
       "    // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
       "\n",
       "    var id = msg.content.data.id;\n",
       "    // Get hold of the div created by the display call when the Comm\n",
       "    // socket was opened in Python.\n",
       "    var element = $(\"#\" + id);\n",
       "    var ws_proxy = comm_websocket_adapter(comm)\n",
       "\n",
       "    function ondownload(figure, format) {\n",
       "        window.open(figure.imageObj.src);\n",
       "    }\n",
       "\n",
       "    var fig = new mpl.figure(id, ws_proxy,\n",
       "                           ondownload,\n",
       "                           element.get(0));\n",
       "\n",
       "    // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
       "    // web socket which is closed, not our websocket->open comm proxy.\n",
       "    ws_proxy.onopen();\n",
       "\n",
       "    fig.parent_element = element.get(0);\n",
       "    fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n",
       "    if (!fig.cell_info) {\n",
       "        console.error(\"Failed to find cell for figure\", id, fig);\n",
       "        return;\n",
       "    }\n",
       "\n",
       "    var output_index = fig.cell_info[2]\n",
       "    var cell = fig.cell_info[0];\n",
       "\n",
       "};\n",
       "\n",
       "mpl.figure.prototype.handle_close = function(fig, msg) {\n",
       "    var width = fig.canvas.width/mpl.ratio\n",
       "    fig.root.unbind('remove')\n",
       "\n",
       "    // Update the output cell to use the data from the current canvas.\n",
       "    fig.push_to_output();\n",
       "    var dataURL = fig.canvas.toDataURL();\n",
       "    // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
       "    // the notebook keyboard shortcuts fail.\n",
       "    IPython.keyboard_manager.enable()\n",
       "    $(fig.parent_element).html('<img src=\"' + dataURL + '\" width=\"' + width + '\">');\n",
       "    fig.close_ws(fig, msg);\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.close_ws = function(fig, msg){\n",
       "    fig.send_message('closing', msg);\n",
       "    // fig.ws.close()\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.push_to_output = function(remove_interactive) {\n",
       "    // Turn the data on the canvas into data in the output cell.\n",
       "    var width = this.canvas.width/mpl.ratio\n",
       "    var dataURL = this.canvas.toDataURL();\n",
       "    this.cell_info[1]['text/html'] = '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.updated_canvas_event = function() {\n",
       "    // Tell IPython that the notebook contents must change.\n",
       "    IPython.notebook.set_dirty(true);\n",
       "    this.send_message(\"ack\", {});\n",
       "    var fig = this;\n",
       "    // Wait a second, then push the new image to the DOM so\n",
       "    // that it is saved nicely (might be nice to debounce this).\n",
       "    setTimeout(function () { fig.push_to_output() }, 1000);\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._init_toolbar = function() {\n",
       "    var fig = this;\n",
       "\n",
       "    var nav_element = $('<div/>');\n",
       "    nav_element.attr('style', 'width: 100%');\n",
       "    this.root.append(nav_element);\n",
       "\n",
       "    // Define a callback function for later on.\n",
       "    function toolbar_event(event) {\n",
       "        return fig.toolbar_button_onclick(event['data']);\n",
       "    }\n",
       "    function toolbar_mouse_event(event) {\n",
       "        return fig.toolbar_button_onmouseover(event['data']);\n",
       "    }\n",
       "\n",
       "    for(var toolbar_ind in mpl.toolbar_items){\n",
       "        var name = mpl.toolbar_items[toolbar_ind][0];\n",
       "        var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
       "        var image = mpl.toolbar_items[toolbar_ind][2];\n",
       "        var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
       "\n",
       "        if (!name) { continue; };\n",
       "\n",
       "        var button = $('<button class=\"btn btn-default\" href=\"#\" title=\"' + name + '\"><i class=\"fa ' + image + ' fa-lg\"></i></button>');\n",
       "        button.click(method_name, toolbar_event);\n",
       "        button.mouseover(tooltip, toolbar_mouse_event);\n",
       "        nav_element.append(button);\n",
       "    }\n",
       "\n",
       "    // Add the status bar.\n",
       "    var status_bar = $('<span class=\"mpl-message\" style=\"text-align:right; float: right;\"/>');\n",
       "    nav_element.append(status_bar);\n",
       "    this.message = status_bar[0];\n",
       "\n",
       "    // Add the close button to the window.\n",
       "    var buttongrp = $('<div class=\"btn-group inline pull-right\"></div>');\n",
       "    var button = $('<button class=\"btn btn-mini btn-primary\" href=\"#\" title=\"Stop Interaction\"><i class=\"fa fa-power-off icon-remove icon-large\"></i></button>');\n",
       "    button.click(function (evt) { fig.handle_close(fig, {}); } );\n",
       "    button.mouseover('Stop Interaction', toolbar_mouse_event);\n",
       "    buttongrp.append(button);\n",
       "    var titlebar = this.root.find($('.ui-dialog-titlebar'));\n",
       "    titlebar.prepend(buttongrp);\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._root_extra_style = function(el){\n",
       "    var fig = this\n",
       "    el.on(\"remove\", function(){\n",
       "\tfig.close_ws(fig, {});\n",
       "    });\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._canvas_extra_style = function(el){\n",
       "    // this is important to make the div 'focusable\n",
       "    el.attr('tabindex', 0)\n",
       "    // reach out to IPython and tell the keyboard manager to turn it's self\n",
       "    // off when our div gets focus\n",
       "\n",
       "    // location in version 3\n",
       "    if (IPython.notebook.keyboard_manager) {\n",
       "        IPython.notebook.keyboard_manager.register_events(el);\n",
       "    }\n",
       "    else {\n",
       "        // location in version 2\n",
       "        IPython.keyboard_manager.register_events(el);\n",
       "    }\n",
       "\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
       "    var manager = IPython.notebook.keyboard_manager;\n",
       "    if (!manager)\n",
       "        manager = IPython.keyboard_manager;\n",
       "\n",
       "    // Check for shift+enter\n",
       "    if (event.shiftKey && event.which == 13) {\n",
       "        this.canvas_div.blur();\n",
       "        // select the cell after this one\n",
       "        var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n",
       "        IPython.notebook.select(index + 1);\n",
       "    }\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
       "    fig.ondownload(fig, null);\n",
       "}\n",
       "\n",
       "\n",
       "mpl.find_output_cell = function(html_output) {\n",
       "    // Return the cell and output element which can be found *uniquely* in the notebook.\n",
       "    // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
       "    // IPython event is triggered only after the cells have been serialised, which for\n",
       "    // our purposes (turning an active figure into a static one), is too late.\n",
       "    var cells = IPython.notebook.get_cells();\n",
       "    var ncells = cells.length;\n",
       "    for (var i=0; i<ncells; i++) {\n",
       "        var cell = cells[i];\n",
       "        if (cell.cell_type === 'code'){\n",
       "            for (var j=0; j<cell.output_area.outputs.length; j++) {\n",
       "                var data = cell.output_area.outputs[j];\n",
       "                if (data.data) {\n",
       "                    // IPython >= 3 moved mimebundle to data attribute of output\n",
       "                    data = data.data;\n",
       "                }\n",
       "                if (data['text/html'] == html_output) {\n",
       "                    return [cell, data, j];\n",
       "                }\n",
       "            }\n",
       "        }\n",
       "    }\n",
       "}\n",
       "\n",
       "// Register the function which deals with the matplotlib target/channel.\n",
       "// The kernel may be null if the page has been refreshed.\n",
       "if (IPython.notebook.kernel != null) {\n",
       "    IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n",
       "}\n"
      ],
      "text/plain": [
       "<IPython.core.display.Javascript object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA+gAAAGQCAYAAAA9TUphAAAgAElEQVR4XuydB5gUxdqFj2RBEVBQxABeFSWKAQOK5GwABZQoUVBBkogIShJFJWNAogISJOckICIoQSQaEIwIBhQkSnD/55T/rMu6YVJ3V8+cug/PvXe3u+rr99Ts9Kn6quqchISEBKiIgAiIgAiIgAiIgAiIgAiIgAiIgAh4SuAcGXRP+atxERABERABERABERABERABERABETAEZNDVEURABERABERABERABERABERABETAAgIy6BaIoBBEQAREQAREQAREQAREQAREQAREQAZdfUAEREAEREAEREAEREAEREAEREAELCAgg26BCApBBERABERABERABERABERABERABGTQ1QdEQAREQAREQAREQAREQAREQAREwAICMugWiKAQREAEREAEREAEREAEREAEREAEREAGXX1ABERABETAWgKPPPIIVq1ahW+//dbaGIMJ7JxzzsHzzz+PXr16pXk5f9+7d28kJCQkXlewYEGUK1cO48ePD6YpXRMEAfanQoUKYdy4cWAfUxEBERABERABWwjIoNuihOIQAREQgWQEaMiaNWuGDRs24Oabbw6Jz7Fjx/Dyyy8bY8d/NpeffvoJb731Fu6//37ccMMNZ4XqlUFnu2+//XaK2BYtWoRq1aqFhNTPBv3EiRN44403MGXKFHzxxRf466+/cMUVV6BKlSpo3749rr322pBY2HBxqAb9559/xiuvvIL58+fj+++/B/W87rrrULt2bTzxxBPIlSuXDY+lGERABERABGKAgAx6DIioRxABEYhNApEY9N9++w158+YNatbWa3obN27ELbfckuJs5qlTp/D3338ja9asroZJg05DOnr06P+0W7FiReTPnz+keCIx6DTEGTJkQObMmUNqMxoXsx9xMGLTpk2oVasWKlWqhPPOOw9ffvml4bN//36cPHkyGk25WkcoBp0DZDVq1MCRI0fQqFEj3HTTTSZW9lsyuOOOO7B06VJX41djIiACIiACsUtABj12tdWTiYAI+JyAjQb96NGjyJEjR1TJpmXQo9pQCJXRoE+fPt2YsmiUSAx6NNoPtw6acmYMTJs2DQ888MBZ1XDg4Nlnn8Wrr74abvWJ950+fdoMxGTJkiXiuoKpIFiDfvDgQRQrVgyMj0stOGuetHBm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yZro3PRWYM+ePapb9N1b2bJl2YKnNzoVnfR6iG2THiycIEd/gNLaunv3bmUM5KWKjGOWlleac/3Z3StCGnSz2I0cORL79u3DhQsXlCHPkycP6tevzzW0DcK4bds2NZxEGhtkiJdMGMdZ3A0CGAKh0qCHAGQWkQpQASpABagAFaACVIAKUAEqQAX0V4AGXX9GjJAKUAEqQAWoABWgAlSAClABKkAFQkABGvQQgMwiUgEqQAWoABWgAlSAClABKkAFqID+CtCg68+IEVIBKkAFqAAVoAJUgApQASpABahACChAgx4CkFlEKkAFqAAVoAJUgApQASpABagAFdBfARp0/RkxQipABagAFaACVIAKUAEqQAWoABUIAQVo0EMAMotIBagAFaACVIAKUAEqQAWoABWgAvorQIOuPyNGSAWoABWgAlSAClABKkAFqAAVoAIhoAANeghAZhGpABWgAlSAClABKkAFqAAVoAJUQH8FaND1Z8QIqQAVoAJUgApQASpABagAFaACVCAEFKBBDwHILCIVoAJUgApQASpABagAFaACVIAK6K8ADbr+jBghFaACVIAKUAEqQAWoABWgAlSACoSAAjToIQCZRaQCVIAKUAEqQAWoABWgAlSAClAB/RWgQdefESOkAlSAClABKkAFqAAVoAJUgApQgRBQgAY9BCCziFSAClABKkAFqAAVoAJUgApQASqgvwI06PozYoRUgApQASpABagAFaACVIAKUAEqEAIK0KCHAGQWkQpQASpABagAFaACVIAKUAEqQAX0V4AGXX9GjJAKUAEqQAWoABWgAlSAClABKkAFQkABGvQQgMwiUgEqQAWoABWgAlSAClABKkAFqID+CtCg68+IEVIBKkAFqAAVoAJUgApQASpABahACChAgx4CkFlEKkAFqAAVoAJUgApQASpABagAFdBfARp0/RkxQipABagAFaACVIAKUAEqQAWoABUIAQVo0EMAMotIBagAFaACVIAKUAEqQAWoABWgAvor8P/BAP7/jeUGhwAAAABJRU5ErkJggg==\" width=\"1000\">"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "34d55aa60e8345b68c03a7a48bd284c1",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "interactive(children=(IntSlider(value=400, description='n:', max=600, min=1), FloatSlider(value=0.0, descripti…"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import ipywidgets as widgets\n",
    "from IPython.display import display\n",
    "import matplotlib.pyplot as plt\n",
    "from matplotlib import style\n",
    "\n",
    "\n",
    "import numpy as np\n",
    "\n",
    "%matplotlib nbagg\n",
    "style.use('ggplot')\n",
    "\n",
    "fig, ax = plt.subplots(1, figsize=(10, 4))\n",
    "plt.ylim(-1.8,1.8)\n",
    "plt.suptitle('Interactive Folding Curved Crease')\n",
    "\n",
    "\n",
    "\n",
    "def Wo(t):\n",
    "    return np.exp(np.sin(t))\n",
    "def dWodt(t):\n",
    "    return np.cos(t)*np.exp(np.sin(t))\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "def dzdt(t, y, Gamma):\n",
    "    '''\n",
    "    Here the function dz/dt is written. We are asking later in the euler integration the slope of the\n",
    "    z(t) function at different x values.\n",
    "    \n",
    "    '''\n",
    "    fold_ang = Gamma/180 * np.pi # Degrees\n",
    "    return np.sqrt(1-(np.tan(fold_ang)**2)*((dWodt(t))**2))\n",
    "\n",
    "def euler(n, Gamma):\n",
    "    ax.clear()\n",
    "    fold_ang = Gamma/180 * np.pi # Degrees\n",
    "    x0 = 0 #Initial Conditions. Mandatory to solve the ODE\n",
    "    y0 = 0 #Initial Conditions. Mandatory to solve the ODE\n",
    "    xf = 2*np.pi #Limit of the calculation. Any value furder than 2pi will be a repetition. \n",
    "    h = (xf-x0)/n #Tiny steps definition\n",
    "    x = [x0] #Array of the discrete estimated x values\n",
    "    y = [y0] #Array of the discrete estimated y values\n",
    "\n",
    "    for i in range(n):\n",
    "        y0 = y0 + h * dzdt(x0,y0, Gamma)\n",
    "        x0 = x0 + h\n",
    "        x.append(x0)\n",
    "        y.append(y0)\n",
    "        \n",
    "    z = []\n",
    "    for i in x:\n",
    "        z.append(Wo(i)/np.cos(fold_ang))\n",
    "        \n",
    "    ax.plot(y,z, color = 'black',linewidth = 3, label = '$Wgamma(t)$')\n",
    "    ax.plot(x, Wo(x), color = 'magenta', linewidth = 1 ,label = '$Wo(t)$')\n",
    "    plt.legend()\n",
    "    plt.show()\n",
    "    return x, y, z\n",
    "\n",
    "\n",
    "\n",
    "n = widgets.IntSlider(min=1, max=600, value=400, description='n:')\n",
    "Gamma = widgets.FloatSlider(min=0, max=45, value=0, description='Folding Angle:')\n",
    "    \n",
    "widgets.interactive(euler, n=n, Gamma=Gamma)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 93,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/javascript": [
       "/* Put everything inside the global mpl namespace */\n",
       "window.mpl = {};\n",
       "\n",
       "\n",
       "mpl.get_websocket_type = function() {\n",
       "    if (typeof(WebSocket) !== 'undefined') {\n",
       "        return WebSocket;\n",
       "    } else if (typeof(MozWebSocket) !== 'undefined') {\n",
       "        return MozWebSocket;\n",
       "    } else {\n",
       "        alert('Your browser does not have WebSocket support. ' +\n",
       "              'Please try Chrome, Safari or Firefox ≥ 6. ' +\n",
       "              'Firefox 4 and 5 are also supported but you ' +\n",
       "              'have to enable WebSockets in about:config.');\n",
       "    };\n",
       "}\n",
       "\n",
       "mpl.figure = function(figure_id, websocket, ondownload, parent_element) {\n",
       "    this.id = figure_id;\n",
       "\n",
       "    this.ws = websocket;\n",
       "\n",
       "    this.supports_binary = (this.ws.binaryType != undefined);\n",
       "\n",
       "    if (!this.supports_binary) {\n",
       "        var warnings = document.getElementById(\"mpl-warnings\");\n",
       "        if (warnings) {\n",
       "            warnings.style.display = 'block';\n",
       "            warnings.textContent = (\n",
       "                \"This browser does not support binary websocket messages. \" +\n",
       "                    \"Performance may be slow.\");\n",
       "        }\n",
       "    }\n",
       "\n",
       "    this.imageObj = new Image();\n",
       "\n",
       "    this.context = undefined;\n",
       "    this.message = undefined;\n",
       "    this.canvas = undefined;\n",
       "    this.rubberband_canvas = undefined;\n",
       "    this.rubberband_context = undefined;\n",
       "    this.format_dropdown = undefined;\n",
       "\n",
       "    this.image_mode = 'full';\n",
       "\n",
       "    this.root = $('<div/>');\n",
       "    this._root_extra_style(this.root)\n",
       "    this.root.attr('style', 'display: inline-block');\n",
       "\n",
       "    $(parent_element).append(this.root);\n",
       "\n",
       "    this._init_header(this);\n",
       "    this._init_canvas(this);\n",
       "    this._init_toolbar(this);\n",
       "\n",
       "    var fig = this;\n",
       "\n",
       "    this.waiting = false;\n",
       "\n",
       "    this.ws.onopen =  function () {\n",
       "            fig.send_message(\"supports_binary\", {value: fig.supports_binary});\n",
       "            fig.send_message(\"send_image_mode\", {});\n",
       "            if (mpl.ratio != 1) {\n",
       "                fig.send_message(\"set_dpi_ratio\", {'dpi_ratio': mpl.ratio});\n",
       "            }\n",
       "            fig.send_message(\"refresh\", {});\n",
       "        }\n",
       "\n",
       "    this.imageObj.onload = function() {\n",
       "            if (fig.image_mode == 'full') {\n",
       "                // Full images could contain transparency (where diff images\n",
       "                // almost always do), so we need to clear the canvas so that\n",
       "                // there is no ghosting.\n",
       "                fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n",
       "            }\n",
       "            fig.context.drawImage(fig.imageObj, 0, 0);\n",
       "        };\n",
       "\n",
       "    this.imageObj.onunload = function() {\n",
       "        fig.ws.close();\n",
       "    }\n",
       "\n",
       "    this.ws.onmessage = this._make_on_message_function(this);\n",
       "\n",
       "    this.ondownload = ondownload;\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._init_header = function() {\n",
       "    var titlebar = $(\n",
       "        '<div class=\"ui-dialog-titlebar ui-widget-header ui-corner-all ' +\n",
       "        'ui-helper-clearfix\"/>');\n",
       "    var titletext = $(\n",
       "        '<div class=\"ui-dialog-title\" style=\"width: 100%; ' +\n",
       "        'text-align: center; padding: 3px;\"/>');\n",
       "    titlebar.append(titletext)\n",
       "    this.root.append(titlebar);\n",
       "    this.header = titletext[0];\n",
       "}\n",
       "\n",
       "\n",
       "\n",
       "mpl.figure.prototype._canvas_extra_style = function(canvas_div) {\n",
       "\n",
       "}\n",
       "\n",
       "\n",
       "mpl.figure.prototype._root_extra_style = function(canvas_div) {\n",
       "\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._init_canvas = function() {\n",
       "    var fig = this;\n",
       "\n",
       "    var canvas_div = $('<div/>');\n",
       "\n",
       "    canvas_div.attr('style', 'position: relative; clear: both; outline: 0');\n",
       "\n",
       "    function canvas_keyboard_event(event) {\n",
       "        return fig.key_event(event, event['data']);\n",
       "    }\n",
       "\n",
       "    canvas_div.keydown('key_press', canvas_keyboard_event);\n",
       "    canvas_div.keyup('key_release', canvas_keyboard_event);\n",
       "    this.canvas_div = canvas_div\n",
       "    this._canvas_extra_style(canvas_div)\n",
       "    this.root.append(canvas_div);\n",
       "\n",
       "    var canvas = $('<canvas/>');\n",
       "    canvas.addClass('mpl-canvas');\n",
       "    canvas.attr('style', \"left: 0; top: 0; z-index: 0; outline: 0\")\n",
       "\n",
       "    this.canvas = canvas[0];\n",
       "    this.context = canvas[0].getContext(\"2d\");\n",
       "\n",
       "    var backingStore = this.context.backingStorePixelRatio ||\n",
       "\tthis.context.webkitBackingStorePixelRatio ||\n",
       "\tthis.context.mozBackingStorePixelRatio ||\n",
       "\tthis.context.msBackingStorePixelRatio ||\n",
       "\tthis.context.oBackingStorePixelRatio ||\n",
       "\tthis.context.backingStorePixelRatio || 1;\n",
       "\n",
       "    mpl.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
       "\n",
       "    var rubberband = $('<canvas/>');\n",
       "    rubberband.attr('style', \"position: absolute; left: 0; top: 0; z-index: 1;\")\n",
       "\n",
       "    var pass_mouse_events = true;\n",
       "\n",
       "    canvas_div.resizable({\n",
       "        start: function(event, ui) {\n",
       "            pass_mouse_events = false;\n",
       "        },\n",
       "        resize: function(event, ui) {\n",
       "            fig.request_resize(ui.size.width, ui.size.height);\n",
       "        },\n",
       "        stop: function(event, ui) {\n",
       "            pass_mouse_events = true;\n",
       "            fig.request_resize(ui.size.width, ui.size.height);\n",
       "        },\n",
       "    });\n",
       "\n",
       "    function mouse_event_fn(event) {\n",
       "        if (pass_mouse_events)\n",
       "            return fig.mouse_event(event, event['data']);\n",
       "    }\n",
       "\n",
       "    rubberband.mousedown('button_press', mouse_event_fn);\n",
       "    rubberband.mouseup('button_release', mouse_event_fn);\n",
       "    // Throttle sequential mouse events to 1 every 20ms.\n",
       "    rubberband.mousemove('motion_notify', mouse_event_fn);\n",
       "\n",
       "    rubberband.mouseenter('figure_enter', mouse_event_fn);\n",
       "    rubberband.mouseleave('figure_leave', mouse_event_fn);\n",
       "\n",
       "    canvas_div.on(\"wheel\", function (event) {\n",
       "        event = event.originalEvent;\n",
       "        event['data'] = 'scroll'\n",
       "        if (event.deltaY < 0) {\n",
       "            event.step = 1;\n",
       "        } else {\n",
       "            event.step = -1;\n",
       "        }\n",
       "        mouse_event_fn(event);\n",
       "    });\n",
       "\n",
       "    canvas_div.append(canvas);\n",
       "    canvas_div.append(rubberband);\n",
       "\n",
       "    this.rubberband = rubberband;\n",
       "    this.rubberband_canvas = rubberband[0];\n",
       "    this.rubberband_context = rubberband[0].getContext(\"2d\");\n",
       "    this.rubberband_context.strokeStyle = \"#000000\";\n",
       "\n",
       "    this._resize_canvas = function(width, height) {\n",
       "        // Keep the size of the canvas, canvas container, and rubber band\n",
       "        // canvas in synch.\n",
       "        canvas_div.css('width', width)\n",
       "        canvas_div.css('height', height)\n",
       "\n",
       "        canvas.attr('width', width * mpl.ratio);\n",
       "        canvas.attr('height', height * mpl.ratio);\n",
       "        canvas.attr('style', 'width: ' + width + 'px; height: ' + height + 'px;');\n",
       "\n",
       "        rubberband.attr('width', width);\n",
       "        rubberband.attr('height', height);\n",
       "    }\n",
       "\n",
       "    // Set the figure to an initial 600x600px, this will subsequently be updated\n",
       "    // upon first draw.\n",
       "    this._resize_canvas(600, 600);\n",
       "\n",
       "    // Disable right mouse context menu.\n",
       "    $(this.rubberband_canvas).bind(\"contextmenu\",function(e){\n",
       "        return false;\n",
       "    });\n",
       "\n",
       "    function set_focus () {\n",
       "        canvas.focus();\n",
       "        canvas_div.focus();\n",
       "    }\n",
       "\n",
       "    window.setTimeout(set_focus, 100);\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._init_toolbar = function() {\n",
       "    var fig = this;\n",
       "\n",
       "    var nav_element = $('<div/>');\n",
       "    nav_element.attr('style', 'width: 100%');\n",
       "    this.root.append(nav_element);\n",
       "\n",
       "    // Define a callback function for later on.\n",
       "    function toolbar_event(event) {\n",
       "        return fig.toolbar_button_onclick(event['data']);\n",
       "    }\n",
       "    function toolbar_mouse_event(event) {\n",
       "        return fig.toolbar_button_onmouseover(event['data']);\n",
       "    }\n",
       "\n",
       "    for(var toolbar_ind in mpl.toolbar_items) {\n",
       "        var name = mpl.toolbar_items[toolbar_ind][0];\n",
       "        var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
       "        var image = mpl.toolbar_items[toolbar_ind][2];\n",
       "        var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
       "\n",
       "        if (!name) {\n",
       "            // put a spacer in here.\n",
       "            continue;\n",
       "        }\n",
       "        var button = $('<button/>');\n",
       "        button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n",
       "                        'ui-button-icon-only');\n",
       "        button.attr('role', 'button');\n",
       "        button.attr('aria-disabled', 'false');\n",
       "        button.click(method_name, toolbar_event);\n",
       "        button.mouseover(tooltip, toolbar_mouse_event);\n",
       "\n",
       "        var icon_img = $('<span/>');\n",
       "        icon_img.addClass('ui-button-icon-primary ui-icon');\n",
       "        icon_img.addClass(image);\n",
       "        icon_img.addClass('ui-corner-all');\n",
       "\n",
       "        var tooltip_span = $('<span/>');\n",
       "        tooltip_span.addClass('ui-button-text');\n",
       "        tooltip_span.html(tooltip);\n",
       "\n",
       "        button.append(icon_img);\n",
       "        button.append(tooltip_span);\n",
       "\n",
       "        nav_element.append(button);\n",
       "    }\n",
       "\n",
       "    var fmt_picker_span = $('<span/>');\n",
       "\n",
       "    var fmt_picker = $('<select/>');\n",
       "    fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n",
       "    fmt_picker_span.append(fmt_picker);\n",
       "    nav_element.append(fmt_picker_span);\n",
       "    this.format_dropdown = fmt_picker[0];\n",
       "\n",
       "    for (var ind in mpl.extensions) {\n",
       "        var fmt = mpl.extensions[ind];\n",
       "        var option = $(\n",
       "            '<option/>', {selected: fmt === mpl.default_extension}).html(fmt);\n",
       "        fmt_picker.append(option);\n",
       "    }\n",
       "\n",
       "    // Add hover states to the ui-buttons\n",
       "    $( \".ui-button\" ).hover(\n",
       "        function() { $(this).addClass(\"ui-state-hover\");},\n",
       "        function() { $(this).removeClass(\"ui-state-hover\");}\n",
       "    );\n",
       "\n",
       "    var status_bar = $('<span class=\"mpl-message\"/>');\n",
       "    nav_element.append(status_bar);\n",
       "    this.message = status_bar[0];\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {\n",
       "    // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
       "    // which will in turn request a refresh of the image.\n",
       "    this.send_message('resize', {'width': x_pixels, 'height': y_pixels});\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.send_message = function(type, properties) {\n",
       "    properties['type'] = type;\n",
       "    properties['figure_id'] = this.id;\n",
       "    this.ws.send(JSON.stringify(properties));\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.send_draw_message = function() {\n",
       "    if (!this.waiting) {\n",
       "        this.waiting = true;\n",
       "        this.ws.send(JSON.stringify({type: \"draw\", figure_id: this.id}));\n",
       "    }\n",
       "}\n",
       "\n",
       "\n",
       "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
       "    var format_dropdown = fig.format_dropdown;\n",
       "    var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
       "    fig.ondownload(fig, format);\n",
       "}\n",
       "\n",
       "\n",
       "mpl.figure.prototype.handle_resize = function(fig, msg) {\n",
       "    var size = msg['size'];\n",
       "    if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {\n",
       "        fig._resize_canvas(size[0], size[1]);\n",
       "        fig.send_message(\"refresh\", {});\n",
       "    };\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n",
       "    var x0 = msg['x0'] / mpl.ratio;\n",
       "    var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n",
       "    var x1 = msg['x1'] / mpl.ratio;\n",
       "    var y1 = (fig.canvas.height - msg['y1']) / mpl.ratio;\n",
       "    x0 = Math.floor(x0) + 0.5;\n",
       "    y0 = Math.floor(y0) + 0.5;\n",
       "    x1 = Math.floor(x1) + 0.5;\n",
       "    y1 = Math.floor(y1) + 0.5;\n",
       "    var min_x = Math.min(x0, x1);\n",
       "    var min_y = Math.min(y0, y1);\n",
       "    var width = Math.abs(x1 - x0);\n",
       "    var height = Math.abs(y1 - y0);\n",
       "\n",
       "    fig.rubberband_context.clearRect(\n",
       "        0, 0, fig.canvas.width / mpl.ratio, fig.canvas.height / mpl.ratio);\n",
       "\n",
       "    fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.handle_figure_label = function(fig, msg) {\n",
       "    // Updates the figure title.\n",
       "    fig.header.textContent = msg['label'];\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.handle_cursor = function(fig, msg) {\n",
       "    var cursor = msg['cursor'];\n",
       "    switch(cursor)\n",
       "    {\n",
       "    case 0:\n",
       "        cursor = 'pointer';\n",
       "        break;\n",
       "    case 1:\n",
       "        cursor = 'default';\n",
       "        break;\n",
       "    case 2:\n",
       "        cursor = 'crosshair';\n",
       "        break;\n",
       "    case 3:\n",
       "        cursor = 'move';\n",
       "        break;\n",
       "    }\n",
       "    fig.rubberband_canvas.style.cursor = cursor;\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.handle_message = function(fig, msg) {\n",
       "    fig.message.textContent = msg['message'];\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.handle_draw = function(fig, msg) {\n",
       "    // Request the server to send over a new figure.\n",
       "    fig.send_draw_message();\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.handle_image_mode = function(fig, msg) {\n",
       "    fig.image_mode = msg['mode'];\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.updated_canvas_event = function() {\n",
       "    // Called whenever the canvas gets updated.\n",
       "    this.send_message(\"ack\", {});\n",
       "}\n",
       "\n",
       "// A function to construct a web socket function for onmessage handling.\n",
       "// Called in the figure constructor.\n",
       "mpl.figure.prototype._make_on_message_function = function(fig) {\n",
       "    return function socket_on_message(evt) {\n",
       "        if (evt.data instanceof Blob) {\n",
       "            /* FIXME: We get \"Resource interpreted as Image but\n",
       "             * transferred with MIME type text/plain:\" errors on\n",
       "             * Chrome.  But how to set the MIME type?  It doesn't seem\n",
       "             * to be part of the websocket stream */\n",
       "            evt.data.type = \"image/png\";\n",
       "\n",
       "            /* Free the memory for the previous frames */\n",
       "            if (fig.imageObj.src) {\n",
       "                (window.URL || window.webkitURL).revokeObjectURL(\n",
       "                    fig.imageObj.src);\n",
       "            }\n",
       "\n",
       "            fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
       "                evt.data);\n",
       "            fig.updated_canvas_event();\n",
       "            fig.waiting = false;\n",
       "            return;\n",
       "        }\n",
       "        else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\n",
       "            fig.imageObj.src = evt.data;\n",
       "            fig.updated_canvas_event();\n",
       "            fig.waiting = false;\n",
       "            return;\n",
       "        }\n",
       "\n",
       "        var msg = JSON.parse(evt.data);\n",
       "        var msg_type = msg['type'];\n",
       "\n",
       "        // Call the  \"handle_{type}\" callback, which takes\n",
       "        // the figure and JSON message as its only arguments.\n",
       "        try {\n",
       "            var callback = fig[\"handle_\" + msg_type];\n",
       "        } catch (e) {\n",
       "            console.log(\"No handler for the '\" + msg_type + \"' message type: \", msg);\n",
       "            return;\n",
       "        }\n",
       "\n",
       "        if (callback) {\n",
       "            try {\n",
       "                // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
       "                callback(fig, msg);\n",
       "            } catch (e) {\n",
       "                console.log(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n",
       "            }\n",
       "        }\n",
       "    };\n",
       "}\n",
       "\n",
       "// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
       "mpl.findpos = function(e) {\n",
       "    //this section is from http://www.quirksmode.org/js/events_properties.html\n",
       "    var targ;\n",
       "    if (!e)\n",
       "        e = window.event;\n",
       "    if (e.target)\n",
       "        targ = e.target;\n",
       "    else if (e.srcElement)\n",
       "        targ = e.srcElement;\n",
       "    if (targ.nodeType == 3) // defeat Safari bug\n",
       "        targ = targ.parentNode;\n",
       "\n",
       "    // jQuery normalizes the pageX and pageY\n",
       "    // pageX,Y are the mouse positions relative to the document\n",
       "    // offset() returns the position of the element relative to the document\n",
       "    var x = e.pageX - $(targ).offset().left;\n",
       "    var y = e.pageY - $(targ).offset().top;\n",
       "\n",
       "    return {\"x\": x, \"y\": y};\n",
       "};\n",
       "\n",
       "/*\n",
       " * return a copy of an object with only non-object keys\n",
       " * we need this to avoid circular references\n",
       " * http://stackoverflow.com/a/24161582/3208463\n",
       " */\n",
       "function simpleKeys (original) {\n",
       "  return Object.keys(original).reduce(function (obj, key) {\n",
       "    if (typeof original[key] !== 'object')\n",
       "        obj[key] = original[key]\n",
       "    return obj;\n",
       "  }, {});\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.mouse_event = function(event, name) {\n",
       "    var canvas_pos = mpl.findpos(event)\n",
       "\n",
       "    if (name === 'button_press')\n",
       "    {\n",
       "        this.canvas.focus();\n",
       "        this.canvas_div.focus();\n",
       "    }\n",
       "\n",
       "    var x = canvas_pos.x * mpl.ratio;\n",
       "    var y = canvas_pos.y * mpl.ratio;\n",
       "\n",
       "    this.send_message(name, {x: x, y: y, button: event.button,\n",
       "                             step: event.step,\n",
       "                             guiEvent: simpleKeys(event)});\n",
       "\n",
       "    /* This prevents the web browser from automatically changing to\n",
       "     * the text insertion cursor when the button is pressed.  We want\n",
       "     * to control all of the cursor setting manually through the\n",
       "     * 'cursor' event from matplotlib */\n",
       "    event.preventDefault();\n",
       "    return false;\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
       "    // Handle any extra behaviour associated with a key event\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.key_event = function(event, name) {\n",
       "\n",
       "    // Prevent repeat events\n",
       "    if (name == 'key_press')\n",
       "    {\n",
       "        if (event.which === this._key)\n",
       "            return;\n",
       "        else\n",
       "            this._key = event.which;\n",
       "    }\n",
       "    if (name == 'key_release')\n",
       "        this._key = null;\n",
       "\n",
       "    var value = '';\n",
       "    if (event.ctrlKey && event.which != 17)\n",
       "        value += \"ctrl+\";\n",
       "    if (event.altKey && event.which != 18)\n",
       "        value += \"alt+\";\n",
       "    if (event.shiftKey && event.which != 16)\n",
       "        value += \"shift+\";\n",
       "\n",
       "    value += 'k';\n",
       "    value += event.which.toString();\n",
       "\n",
       "    this._key_event_extra(event, name);\n",
       "\n",
       "    this.send_message(name, {key: value,\n",
       "                             guiEvent: simpleKeys(event)});\n",
       "    return false;\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.toolbar_button_onclick = function(name) {\n",
       "    if (name == 'download') {\n",
       "        this.handle_save(this, null);\n",
       "    } else {\n",
       "        this.send_message(\"toolbar_button\", {name: name});\n",
       "    }\n",
       "};\n",
       "\n",
       "mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {\n",
       "    this.message.textContent = tooltip;\n",
       "};\n",
       "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
       "\n",
       "mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
       "\n",
       "mpl.default_extension = \"png\";var comm_websocket_adapter = function(comm) {\n",
       "    // Create a \"websocket\"-like object which calls the given IPython comm\n",
       "    // object with the appropriate methods. Currently this is a non binary\n",
       "    // socket, so there is still some room for performance tuning.\n",
       "    var ws = {};\n",
       "\n",
       "    ws.close = function() {\n",
       "        comm.close()\n",
       "    };\n",
       "    ws.send = function(m) {\n",
       "        //console.log('sending', m);\n",
       "        comm.send(m);\n",
       "    };\n",
       "    // Register the callback with on_msg.\n",
       "    comm.on_msg(function(msg) {\n",
       "        //console.log('receiving', msg['content']['data'], msg);\n",
       "        // Pass the mpl event to the overridden (by mpl) onmessage function.\n",
       "        ws.onmessage(msg['content']['data'])\n",
       "    });\n",
       "    return ws;\n",
       "}\n",
       "\n",
       "mpl.mpl_figure_comm = function(comm, msg) {\n",
       "    // This is the function which gets called when the mpl process\n",
       "    // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
       "\n",
       "    var id = msg.content.data.id;\n",
       "    // Get hold of the div created by the display call when the Comm\n",
       "    // socket was opened in Python.\n",
       "    var element = $(\"#\" + id);\n",
       "    var ws_proxy = comm_websocket_adapter(comm)\n",
       "\n",
       "    function ondownload(figure, format) {\n",
       "        window.open(figure.imageObj.src);\n",
       "    }\n",
       "\n",
       "    var fig = new mpl.figure(id, ws_proxy,\n",
       "                           ondownload,\n",
       "                           element.get(0));\n",
       "\n",
       "    // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
       "    // web socket which is closed, not our websocket->open comm proxy.\n",
       "    ws_proxy.onopen();\n",
       "\n",
       "    fig.parent_element = element.get(0);\n",
       "    fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n",
       "    if (!fig.cell_info) {\n",
       "        console.error(\"Failed to find cell for figure\", id, fig);\n",
       "        return;\n",
       "    }\n",
       "\n",
       "    var output_index = fig.cell_info[2]\n",
       "    var cell = fig.cell_info[0];\n",
       "\n",
       "};\n",
       "\n",
       "mpl.figure.prototype.handle_close = function(fig, msg) {\n",
       "    var width = fig.canvas.width/mpl.ratio\n",
       "    fig.root.unbind('remove')\n",
       "\n",
       "    // Update the output cell to use the data from the current canvas.\n",
       "    fig.push_to_output();\n",
       "    var dataURL = fig.canvas.toDataURL();\n",
       "    // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
       "    // the notebook keyboard shortcuts fail.\n",
       "    IPython.keyboard_manager.enable()\n",
       "    $(fig.parent_element).html('<img src=\"' + dataURL + '\" width=\"' + width + '\">');\n",
       "    fig.close_ws(fig, msg);\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.close_ws = function(fig, msg){\n",
       "    fig.send_message('closing', msg);\n",
       "    // fig.ws.close()\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.push_to_output = function(remove_interactive) {\n",
       "    // Turn the data on the canvas into data in the output cell.\n",
       "    var width = this.canvas.width/mpl.ratio\n",
       "    var dataURL = this.canvas.toDataURL();\n",
       "    this.cell_info[1]['text/html'] = '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.updated_canvas_event = function() {\n",
       "    // Tell IPython that the notebook contents must change.\n",
       "    IPython.notebook.set_dirty(true);\n",
       "    this.send_message(\"ack\", {});\n",
       "    var fig = this;\n",
       "    // Wait a second, then push the new image to the DOM so\n",
       "    // that it is saved nicely (might be nice to debounce this).\n",
       "    setTimeout(function () { fig.push_to_output() }, 1000);\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._init_toolbar = function() {\n",
       "    var fig = this;\n",
       "\n",
       "    var nav_element = $('<div/>');\n",
       "    nav_element.attr('style', 'width: 100%');\n",
       "    this.root.append(nav_element);\n",
       "\n",
       "    // Define a callback function for later on.\n",
       "    function toolbar_event(event) {\n",
       "        return fig.toolbar_button_onclick(event['data']);\n",
       "    }\n",
       "    function toolbar_mouse_event(event) {\n",
       "        return fig.toolbar_button_onmouseover(event['data']);\n",
       "    }\n",
       "\n",
       "    for(var toolbar_ind in mpl.toolbar_items){\n",
       "        var name = mpl.toolbar_items[toolbar_ind][0];\n",
       "        var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
       "        var image = mpl.toolbar_items[toolbar_ind][2];\n",
       "        var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
       "\n",
       "        if (!name) { continue; };\n",
       "\n",
       "        var button = $('<button class=\"btn btn-default\" href=\"#\" title=\"' + name + '\"><i class=\"fa ' + image + ' fa-lg\"></i></button>');\n",
       "        button.click(method_name, toolbar_event);\n",
       "        button.mouseover(tooltip, toolbar_mouse_event);\n",
       "        nav_element.append(button);\n",
       "    }\n",
       "\n",
       "    // Add the status bar.\n",
       "    var status_bar = $('<span class=\"mpl-message\" style=\"text-align:right; float: right;\"/>');\n",
       "    nav_element.append(status_bar);\n",
       "    this.message = status_bar[0];\n",
       "\n",
       "    // Add the close button to the window.\n",
       "    var buttongrp = $('<div class=\"btn-group inline pull-right\"></div>');\n",
       "    var button = $('<button class=\"btn btn-mini btn-primary\" href=\"#\" title=\"Stop Interaction\"><i class=\"fa fa-power-off icon-remove icon-large\"></i></button>');\n",
       "    button.click(function (evt) { fig.handle_close(fig, {}); } );\n",
       "    button.mouseover('Stop Interaction', toolbar_mouse_event);\n",
       "    buttongrp.append(button);\n",
       "    var titlebar = this.root.find($('.ui-dialog-titlebar'));\n",
       "    titlebar.prepend(buttongrp);\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._root_extra_style = function(el){\n",
       "    var fig = this\n",
       "    el.on(\"remove\", function(){\n",
       "\tfig.close_ws(fig, {});\n",
       "    });\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._canvas_extra_style = function(el){\n",
       "    // this is important to make the div 'focusable\n",
       "    el.attr('tabindex', 0)\n",
       "    // reach out to IPython and tell the keyboard manager to turn it's self\n",
       "    // off when our div gets focus\n",
       "\n",
       "    // location in version 3\n",
       "    if (IPython.notebook.keyboard_manager) {\n",
       "        IPython.notebook.keyboard_manager.register_events(el);\n",
       "    }\n",
       "    else {\n",
       "        // location in version 2\n",
       "        IPython.keyboard_manager.register_events(el);\n",
       "    }\n",
       "\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
       "    var manager = IPython.notebook.keyboard_manager;\n",
       "    if (!manager)\n",
       "        manager = IPython.keyboard_manager;\n",
       "\n",
       "    // Check for shift+enter\n",
       "    if (event.shiftKey && event.which == 13) {\n",
       "        this.canvas_div.blur();\n",
       "        // select the cell after this one\n",
       "        var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n",
       "        IPython.notebook.select(index + 1);\n",
       "    }\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
       "    fig.ondownload(fig, null);\n",
       "}\n",
       "\n",
       "\n",
       "mpl.find_output_cell = function(html_output) {\n",
       "    // Return the cell and output element which can be found *uniquely* in the notebook.\n",
       "    // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
       "    // IPython event is triggered only after the cells have been serialised, which for\n",
       "    // our purposes (turning an active figure into a static one), is too late.\n",
       "    var cells = IPython.notebook.get_cells();\n",
       "    var ncells = cells.length;\n",
       "    for (var i=0; i<ncells; i++) {\n",
       "        var cell = cells[i];\n",
       "        if (cell.cell_type === 'code'){\n",
       "            for (var j=0; j<cell.output_area.outputs.length; j++) {\n",
       "                var data = cell.output_area.outputs[j];\n",
       "                if (data.data) {\n",
       "                    // IPython >= 3 moved mimebundle to data attribute of output\n",
       "                    data = data.data;\n",
       "                }\n",
       "                if (data['text/html'] == html_output) {\n",
       "                    return [cell, data, j];\n",
       "                }\n",
       "            }\n",
       "        }\n",
       "    }\n",
       "}\n",
       "\n",
       "// Register the function which deals with the matplotlib target/channel.\n",
       "// The kernel may be null if the page has been refreshed.\n",
       "if (IPython.notebook.kernel != null) {\n",
       "    IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n",
       "}\n"
      ],
      "text/plain": [
       "<IPython.core.display.Javascript object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAoAAAAHgCAYAAAA10dzkAAAgAElEQVR4XuydB9g2RXX3Fxt2QVRAul1UjDFiiRgTsYsFCEYxBhWNNRhUVPIpYosaggrRRJIYRUCNRhELRgQlaIxRCJFEjTQp+r4vVeyd7/otnMfDvLO703bu3fs+c13P9ZZnZ3fmP2dn/nvqJldfffXVjTVDwBAwBAwBQ8AQMAQMgZVBYBMjgCuz1jZRQ8AQMAQMAUPAEDAEWgSMAJogGAKGgCFgCBgChoAhsGIIGAFcsQW36RoChoAhYAgYAoaAIWAE0GTAEDAEDAFDwBAwBAyBFUPACOCKLbhN1xAwBAwBQ8AQMAQMASOAJgOGgCFgCBgChoAhYAisGAJGAFdswW26hoAhYAgYAoaAIWAIGAE0GTAEDAFDwBAwBAwBQ2DFEDACuGILbtM1BAwBQ8AQMAQMAUPACKDJgCGwZAjst99+zec///nm29/+9qxntskmmzSHHHJI85rXvKZ3Hvz+0EMPbXRRox133LF56EMf2rznPe+ZNQZTGjzytNNOOzX/9E//1CBj1gwBQ2DeCBgBnPf62egdBDjwn/GMZzRf+cpXmt/5nd+JwufHP/5x85a3vKUlDvxMuX33u99tjjrqqOaJT3xi81u/9VvXGeqiCCDPfe973+uF7cQTT2we9ahHRUE6ZwL405/+tPnbv/3b5gMf+EDzzW9+s/nZz37WbL/99s0jHvGI5s/+7M+au9zlLlFYTOHiWAK4YcOG5q/+6q+aT3ziE82FF17YsJ53u9vdmic96UnNC1/4wmazzTabwrRsDIbAyiJgBHBll345J55DAC+77LLmtre9bZDWadHoffWrX23ud7/7ebUxv/jFL5pf//rXzaabblp1mBBACM8//MM/bPTchz3sYc3WW28dNZ4cAgjhut71rtfc8IY3jHpmiYuRI8ju6aef3jzucY9rdt999+bmN79583//938tPuvXr29+/vOfl3hU1XvEEEA+wB7zmMc0P/zhD5unPe1pzX3ve992rMgtGDzoQQ9qPvOZz1Qdvz3MEDAErouAEUCTiKVCYIoE8Ec/+lFzs5vdrCjOfQSw6IMibgYB/PCHP9we+iVaDgEs8fzUe0D60Hj+8z//c7PXXntd5zYQ07/4i79oDjvssNTbr/X75S9/2RL9G93oRtn3CrlBKAH83ve+19zznvdsGB+uCGj9dEMz+Pd///fN//t//8/7WEz5aFBvcpObhAzLrjEEDIFEBIwAJgJn3aaJgI8ACjFBA/OCF7yg+exnP9seLn/yJ3/SvPnNb26uf/3rt/5y+De5TfugYcrj0DrllFMazMUccq9+9aubxz/+8Wvd5PkcfB/84AdbQoRG7sorr2wuuOCC9nknn3xyaxK76U1v2vzBH/xBaybDZ003DlH82j760Y8269atazWTXHv44Yc3//M//9P8/u///kZjFd8sbQLm2VtuuWXzhCc8odUW6vb973+/ud3tbtea44SQQFDe+MY3Nscee2xz0UUXtb9/ylOe0rzuda8b1CiGEsBLLrmkeeUrX9maBq+66qrmrne9a3PggQe266GbjwB+4QtfaP78z/+8Oeuss5ptttmmOeigg1p8hnwAZV3o/y//8i/N+973vnYNMcliSgdfaZCq1772te3/sw73v//9m3e84x2tRmvIr/DLX/5y84AHPKB59rOf3fYfauJqgLzo5prxRT6RlRvc4AbNkUce2crsv//7vze/+7u/27zqVa9qNde6Ie+QL65ljWnMB59JMGAdtttuu3asL3vZy1qNqTSue/GLX9zKH+uA/ID7fe5zn0EfQGT8Fa94RStDT33qU4cgaGWfd+lFL3pRS46R7ze96U3t82nHHHNM89a3vrX5+te/3r63rBk4MHZpp512WnPEEUc04A/BRG733nvvVpY1kUT7iuyddNJJzaWXXtrc+ta3bnbdddfm7W9/+3XeQQg8fc8444wWl4c85CGte8g97nGPwfnYBYbAXBAwAjiXlbJxBiHQRQAhY3e84x3bwxzTKSSQQ/Cd73xn87znPa9BSwcp4O/4KO25557t83bZZZf253//93/bgxbSAVFBo4eGh4OH+9CHJs/feeedW1LBIcS9X/7yl7dk8PWvf317mG677bbtAY6f2C1vecv2cIMQ0tCgPfCBD2y+8Y1vNM985jOb3/7t324wK55wwgktqcCUyp+Qz+c85znNbrvt1vbDrHaHO9yhddDXQSDPetazmo985CPtwai1RUcffXQ7F/GXhPg8+tGPbiBJ3Pfud797S7T+7u/+rnnsYx/bHH/88b1rIATQDT7BDHurW92q7fuTn/ykNQeec845LSmBdH/oQx9qcXzb297WHHDAAWvPcAkgY2H9wJV1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nidPnly6XghEJNI+c+aMzv03duxYLQa5kQAJuCdAAeieOc9IAiRAAlYEahGAaS8BW10AG5MACWROgAIw8yFgB0iABEggGoFaBCCWef/+97+rn//856WDL1y4UH366afqpz/9abQTcm8SIIG6I0ABWHdDygsiARKoRwL/+te/1EcffaQvDYmTx40bpyuTNGnSRDVv3lytWrVK19idMmWK3uf06dMKufeGDBmivve976m33npL/eY3v9FBGN/+9rfrERGviQRIIAIBCsAIsLgrCZAACWRF4O2331Zz5sy57PTf/e53tZ8dAjLgWwffO9nQBhG/H374oWrWrJm69dZbL6nEkdW18LwkQALZE6AAzH4M2AMSIAESIAESIAEScEqAAtApbp6MBEiABEiABEiABLInQAGY/RiwByRAAiRAAiRAAiTglAAFoFPcPBkJkAAJkAAJkAAJZE+AAjD7MWAPSIAESIAESIAESMApAQpAp7h5MhIgARIgARIgARLIngAFYPZjwB6QAAmQAAmQAAmQgFMCFIBOcfNkJEACJEACJEACJJA9AQrA7MeAPSABEiABEiABEiABpwQoAJ3i5slIgARIgARIgARIIHsCFIDZjwF7QAIkQAIkQAIkQAJOCVAAOsXNk5EACZAACZAACZBA9gQoALMfA/aABEiABEiABEiABJwSoAB0ipsnIwESIAESIAESIIHsCVAAZj8G7AEJkAAJkAAJkAAJOCVAAegUN09GAiRAAiRAAiRAAtkToADMfgzYAxIgARIgARIgARJwSoAC0ClunowESIAESIAESIAEsidAAZj9GLAHJEACJEACJEACJOCUAAWgU9w8GQmQAAmQAAmQAAlkT4ACMPsxYA9IgARIgARIgARIwCkBCkCnuHkyEiABEiABEiABEsieAAVg9mPAHpAACZAACZAACZCAUwIUgE5x82QkQAIkQAIkQAIkkD0BCsDsx4A9IAESIAESIAESIAGnBCgAneLmyUiABEiABEiABEggewIUgNmPAXtAAiRAAiRAAiRAAk4JUAA6xc2TkQAJkAAJkAAJkED2BCgAsx8D9oAESIAESIAESIAEnBKgAHSKmycjARIgARIgARIggewJUABmPwbsAQmQAAmQAAmQAAk4JUAB6BQ3T0YCJEACJEACJEAC2ROgAMx+DNgDEiABEiABEiABEnBKgALQKW6ejARIgARIgARIgASyJ0ABmP0YsAckQAIkQAIkQAIk4JQABaBT3DwZCZAACZAACZAACWRPgAIw+zFgD0iABEiABEiABEjAKQEKQKe4eTISIAESIAESIAESyJ4ABWD2Y8AekAAJkAAJkAAJkIBTAhSATnHzZCRAAiRAAiRAAiSQPQEKwOzHgD0gARIgARIgARIgAacEKACd4ubJSIAESIAESIAESCB7AhSA2Y8Be0ACJEACJEACJEACTglQADrFzZORAAmQAAmQAAmQQPYEKACzHwP2gARIgARIgARIgAScEqAAdIqbJyMBEiABEiABEiCB7An8D/sLjJQcb0DKAAAAAElFTkSuQmCC\" width=\"640\">"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "c0475fb202f1435fa03f51cd44beb0d5",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "interactive(children=(IntSlider(value=50, description='n:', max=600, min=1), FloatSlider(value=0.0, descriptio…"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "\n",
    "\n",
    "import ipywidgets as widgets\n",
    "from IPython.display import display\n",
    "import matplotlib.pyplot as plt\n",
    "from matplotlib import style\n",
    "from mpl_toolkits.mplot3d import Axes3D # <--- This is important for 3d plotting \n",
    "\n",
    "\n",
    "\n",
    "import numpy as np\n",
    "\n",
    "%matplotlib nbagg\n",
    "style.use('ggplot')\n",
    "\n",
    "fig = plt.figure()\n",
    "\n",
    "\n",
    "ax = fig.add_subplot( projection='3d')\n",
    "plt.suptitle('Interactive Folding Curved Crease')\n",
    "\n",
    "\n",
    "def Wo(x):\n",
    "    return np.cos(x)*np.sin(x)*x\n",
    "def dWodt(x):\n",
    "    return x*np.cos(2*x) + np.sin(x)*np.cos(x)\n",
    "\n",
    "    '''\n",
    " def Wo(t): \n",
    "     return np.sin(t)\n",
    "def dWodt(t):\n",
    "    return np.cos(t)\n",
    "    '''\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "def dzdt(t, y, Gamma):\n",
    "    '''\n",
    "    Here the function dz/dt is written. We are asking later in the euler integration the slope of the\n",
    "    z(t) function at different x values.\n",
    "    \n",
    "    '''\n",
    "    fold_ang = Gamma/180 * np.pi # Degrees\n",
    "    return np.sqrt(1-(np.tan(fold_ang)**2)*((dWodt(t))**2))\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "def euler(n, Gamma, length, steps):\n",
    "    ax.clear()\n",
    "    fold_ang = Gamma/180 * np.pi # Degrees\n",
    "    x0 = 0 #Initial Conditions. Mandatory to solve the ODE\n",
    "    y0 = 0 #Initial Conditions. Mandatory to solve the ODE\n",
    "    xf = 2*np.pi #Limit of the calculation. Any value furder than 2pi will be a repetition. \n",
    "    h = (xf-x0)/n #Tiny steps definition\n",
    "    x = [x0] #Array of the discrete estimated x values\n",
    "    y = [y0] #Array of the discrete estimated y values\n",
    "\n",
    "    for i in range(n):\n",
    "        y0 = y0 + h * dzdt(x0,y0, Gamma)\n",
    "        x0 = x0 + h\n",
    "        x.append(x0)\n",
    "        y.append(y0)\n",
    "        \n",
    "    z = []\n",
    "    for i in x:\n",
    "        z.append(Wo(t)/np.cos(fold_ang))\n",
    "    \n",
    "    h = []\n",
    "    for i in y:\n",
    "        h.append(0)\n",
    "    print(len(h))\n",
    "    print(len(z))\n",
    "    print(range(n+1))\n",
    "    \n",
    "    mesh_h = length / steps\n",
    "    for stp in range(steps):\n",
    "        for i in range(n+1):\n",
    "            y.append(y[i])\n",
    "            z.append(z[i]-stp*mesh_h*np.cos(fold_ang))\n",
    "            h.append((-stp)*np.sin(fold_ang))\n",
    "    \n",
    "    #Ahora tengo todos los vectores con los mismos valores. \n",
    "    \n",
    "    #y,z,h = np.meshgrid(y, z,h)\n",
    "    ax.scatter(y,z,h ,color = 'black',linewidth = 1, label = '$Wgamma(t)$')\n",
    "    ax.plot(x, Wo(x), color = 'magenta', linewidth = 1 ,label = '$Wo(t)$')\n",
    "    ax.plot_trisurf(y, z, h, vmax =0.1, shade = True, color = 'pink', alpha = 0.5)\n",
    "    ax.set_xlim(0,6.3)\n",
    "    ax.set_ylim(-10,0) \n",
    "    ax.set_zlim(0,-6) \n",
    "\n",
    "    \n",
    "    \n",
    "    plt.legend()\n",
    "    plt.show()\n",
    "    return x, y, z\n",
    "\n",
    "\n",
    "\n",
    "length= widgets.FloatSlider(min=0, max=45, value=10, description='Side Length:')\n",
    "steps = widgets.IntSlider(min=1, max=10, value=5, description='Mesh def:')\n",
    "n = widgets.IntSlider(min=1, max=600, value=50, description='n:')\n",
    "Gamma = widgets.FloatSlider(min=0, max=45, value=0, description='Fold it:')\n",
    "    \n",
    "widgets.interactive(euler, n=n, Gamma=Gamma, length = length, steps = steps)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.9"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
