# rE and rV measures for 2D Vector-Base Amplitude Panning (VBAP,VBIP,MDAP)

Acoustic Holography and Holophony

Franz Zotter, 2016.

The examples below show the directions and widths indicated by the $\boldsymbol{r}_\mathrm{V}$ and $\boldsymbol{r}_\mathrm{E}$ measures for pairwise vector-base amplitude panning along the horizon.

Assume that you are given the desired panning direction as

$$\boldsymbol\theta=\begin{bmatrix} \cos\varphi_\mathrm{s}\\ \sin\varphi_\mathrm{s} \end{bmatrix}$$

and the coordinates of your loudspeakers as

$$\mathbf{X}=\begin{bmatrix} \cos\varphi_1, &\dots, &\cos\varphi_\mathrm{L}\\ \sin\varphi_1, &\dots, &\sin\varphi_\mathrm{L} \end{bmatrix}.$$

Then VBAP searches the loudspeaker pair that encloses the direction $\boldsymbol\theta$. This is done by constructing the convex hull, which defines the lines (simplices) connecting all the loudspeaker pairs by the loudspeaker indices involved. For a ring of $\mathrm{L}$ loudspeakers with loudspeakers sorted in azimuth, it looks like this

$$Q=\mathrm{convhull}\{\mathbf{X}\}=\begin{bmatrix} 1& 2\\ 2& 3\\ \vdots &\vdots\\ a& b\\ \vdots &\vdots\\ \mathrm{L}-1& \mathrm{L}\\ \mathrm{L} & 1 \end{bmatrix}.$$

Now VBAP searches through the convex hull to find the loudspeaker pair (simplex of the indices $a,b$) of which the wheighted superposition of direction vectors allows for a solution with numerically all-positive weights $\boldsymbol{g}_q=[g_a,g_b]$ with $g_a,g_b>0$ to represent $\boldsymbol\theta$:

$\boldsymbol g=\boldsymbol 0$ with length $\mathrm{L}$

For all $q$ indexing through all pairs:

$\boldsymbol{g}_q=\mathbf{X}[Q[q,:]]^{-1}\boldsymbol{\theta}$

if $g_a,g_b>-10^{-3}$:

$\boldsymbol{g}[[a,b],:]=\boldsymbol{g}_q$

break loop

This algorithm is defined below.



In [1]:

import numpy as np
from numpy.linalg import inv

def vectorpan(xys,xyls,simplices):
g=np.zeros(phils.shape[0])
for n in range(0,simplices.shape[0]):
na=simplices[n,0]
nb=simplices[n,1]
M=np.array([xyls[:,na],xyls[:,nb]]).T
gnm=np.dot(inv(M),xys)
if np.sum(gnm<-1e-3)==0:
g[na]=gnm[0]
g[nb]=gnm[1]
break
return g



## Vector measures for arbitrarily many loudspeakers

The vector measures are easily extended to more than 2 loudspeakers, i.e., to

$$\boldsymbol{r}_\mathrm{V}= \frac{\sum_{l=1}^\mathrm{L}g_l\,\boldsymbol\theta_l}{\sum_{l=1}^\mathrm{L}g_l}, \qquad\qquad \boldsymbol{r}_\mathrm{E}= \frac{\sum_{l=1}^\mathrm{L}g_l^2\,\boldsymbol\theta_l}{\sum_{l=1}^\mathrm{L}g_l^2}.$$


In [2]:

def r_vector(g,theta):
L=theta.size
thx=np.sin(theta[:])
thy=np.cos(theta[:])
rx=np.dot(thx,g).T
ry=np.dot(thy,g).T
normalizer=sum(g,0)
rx/=normalizer
ry/=normalizer
return np.array([rx,ry])



This vector model is now applied on an example using 5 equally spaced loudpeaker on the horizon and panning for all directions from $-180^\circ\dots180^\circ$. It shows again the directions and widths displayed by $\boldsymbol r_\mathrm{V,E}$.



In [3]:

from scipy.spatial import ConvexHull
from bokeh.plotting import figure, output_file, show
from bokeh.io import output_notebook

L=5
Npts=200
phils=np.arange(0,L)*2*np.pi/L
xyls=np.array([np.cos(phils),np.sin(phils)])
phis=np.linspace(-np.pi*0.99,np.pi,Npts)
xys=np.array([np.cos(phis),np.sin(phis)])
g=np.zeros([L,Npts])
qh=ConvexHull(xyls.T)
for n in range(0,Npts):
gn=vectorpan(xys[:,n],xyls,qh.simplices)
gn=np.abs(gn)
gn/=np.sqrt(np.sum(gn))
g[:,n]=gn

output_notebook()
p1=figure(title="r vector direction VBAP",plot_width=300,plot_height=250)
p2=figure(title="r vector width VBAP",plot_width=300,plot_height=250,x_range=[-180,180],y_range=[0,100])

r=r_vector(g,phils)
mr=np.sqrt(np.sum(r**2,0))
p1.line(phis*180/np.pi,np.arctan2(r[0,:],r[1,:])*180/np.pi,legend="rV",line_width=2)
p2.line(phis*180/np.pi,2*np.arccos(mr)*180/np.pi,legend="2acos||rV||",line_width=2)
r=r_vector(g**2,phils)
mr=np.sqrt(np.sum(r**2,0))
p1.line(phis*180/np.pi,np.arctan2(r[0,:],r[1,:])*180/np.pi,legend="rE",color="red",line_width=2)
p2.line(phis*180/np.pi,2*np.arccos(mr)*180/np.pi,legend="2acos||rE||",color="red",line_width=2)
p1.legend.location="top_left"
p2.legend.background_fill_alpha = 0.5
show(p1)
show(p2)




var element = $('#dab1df10-0e5d-46d6-8550-4fdc8fc71729'); (function(global) { function now() { return new Date(); } var force = "1"; if (typeof (window._bokeh_onload_callbacks) === "undefined" || force !== "") { window._bokeh_onload_callbacks = []; window._bokeh_is_loading = undefined; } if (typeof (window._bokeh_timeout) === "undefined" || force !== "") { window._bokeh_timeout = Date.now() + 5000; window._bokeh_failed_load = false; } var NB_LOAD_WARNING = {'data': {'text/html': "<div style='background-color: #fdd'>\n"+ "<p>\n"+ "BokehJS does not appear to have successfully loaded. If loading BokehJS from CDN, this \n"+ "may be due to a slow or bad network connection. Possible fixes:\n"+ "</p>\n"+ "<ul>\n"+ "<li>re-rerun output_notebook() to attempt to load from CDN again, or</li>\n"+ "<li>use INLINE resources instead, as so:</li>\n"+ "</ul>\n"+ "<code>\n"+ "from bokeh.resources import INLINE\n"+ "output_notebook(resources=INLINE)\n"+ "</code>\n"+ "</div>"}}; function display_loaded() { if (window.Bokeh !== undefined) { Bokeh.$("#91776162-461a-481a-8b2a-dfad6740a1d3").text("BokehJS successfully loaded.");
} else if (Date.now() < window._bokeh_timeout) {
}
}

function run_callbacks() {
console.info("Bokeh: all callbacks have finished");
}

console.log("Bokeh: BokehJS is being loaded, scheduling callback at", now());
return null;
}
if (js_urls == null || js_urls.length === 0) {
run_callbacks();
return null;
}
for (var i = 0; i < js_urls.length; i++) {
var url = js_urls[i];
var s = document.createElement('script');
s.src = url;
s.async = false;
run_callbacks()
}
};
s.onerror = function() {
console.warn("failed to load library " + url);
};
console.log("Bokeh: injecting script tag for BokehJS library: ", url);
}
if (element == null) {
console.log("Bokeh: ERROR: autoload.js configured with elementid '91776162-461a-481a-8b2a-dfad6740a1d3' but no matching script tag was found. ")
return false;
}

var js_urls = ['https://cdn.pydata.org/bokeh/release/bokeh-0.12.2.min.js', 'https://cdn.pydata.org/bokeh/release/bokeh-widgets-0.12.2.min.js', 'https://cdn.pydata.org/bokeh/release/bokeh-compiler-0.12.2.min.js'];

var inline_js = [
function(Bokeh) {
Bokeh.set_log_level("info");
},

function(Bokeh) {

Bokeh.$("#91776162-461a-481a-8b2a-dfad6740a1d3").text("BokehJS is loading..."); }, function(Bokeh) { console.log("Bokeh: injecting CSS: https://cdn.pydata.org/bokeh/release/bokeh-0.12.2.min.css"); Bokeh.embed.inject_css("https://cdn.pydata.org/bokeh/release/bokeh-0.12.2.min.css"); console.log("Bokeh: injecting CSS: https://cdn.pydata.org/bokeh/release/bokeh-widgets-0.12.2.min.css"); Bokeh.embed.inject_css("https://cdn.pydata.org/bokeh/release/bokeh-widgets-0.12.2.min.css"); } ]; function run_inline_js() { if ((window.Bokeh !== undefined) || (force === "1")) { for (var i = 0; i < inline_js.length; i++) { inline_js[i](window.Bokeh); }if (force === "1") { display_loaded(); }} else if (Date.now() < window._bokeh_timeout) { setTimeout(run_inline_js, 100); } else if (!window._bokeh_failed_load) { console.log("Bokeh: BokehJS failed to load within specified timeout."); window._bokeh_failed_load = true; } else if (!force) { var cell =$("#91776162-461a-481a-8b2a-dfad6740a1d3").parents('.cell').data().cell;
}

}

console.log("Bokeh: BokehJS loaded, going straight to plotting");
run_inline_js();
} else {
console.log("Bokeh: BokehJS plotting callback run at", now());
run_inline_js();
});
}
}(this));

(function(global) {
function now() {
return new Date();
}

var force = "";

if (typeof (window._bokeh_onload_callbacks) === "undefined" || force !== "") {
}

if (typeof (window._bokeh_timeout) === "undefined" || force !== "") {
window._bokeh_timeout = Date.now() + 0;
}

"<div style='background-color: #fdd'>\n"+
"<p>\n"+
"may be due to a slow or bad network connection. Possible fixes:\n"+
"</p>\n"+
"<ul>\n"+
"<li>re-rerun output_notebook() to attempt to load from CDN again, or</li>\n"+
"<li>use INLINE resources instead, as so:</li>\n"+
"</ul>\n"+
"<code>\n"+
"from bokeh.resources import INLINE\n"+
"output_notebook(resources=INLINE)\n"+
"</code>\n"+
"</div>"}};

if (window.Bokeh !== undefined) {
Bokeh.$("#0a2065e4-6508-492c-8ee4-52750858460a").text("BokehJS successfully loaded."); } else if (Date.now() < window._bokeh_timeout) { setTimeout(display_loaded, 100) } } function run_callbacks() { window._bokeh_onload_callbacks.forEach(function(callback) { callback() }); delete window._bokeh_onload_callbacks console.info("Bokeh: all callbacks have finished"); } function load_libs(js_urls, callback) { window._bokeh_onload_callbacks.push(callback); if (window._bokeh_is_loading > 0) { console.log("Bokeh: BokehJS is being loaded, scheduling callback at", now()); return null; } if (js_urls == null || js_urls.length === 0) { run_callbacks(); return null; } console.log("Bokeh: BokehJS not loaded, scheduling load and callback at", now()); window._bokeh_is_loading = js_urls.length; for (var i = 0; i < js_urls.length; i++) { var url = js_urls[i]; var s = document.createElement('script'); s.src = url; s.async = false; s.onreadystatechange = s.onload = function() { window._bokeh_is_loading--; if (window._bokeh_is_loading === 0) { console.log("Bokeh: all BokehJS libraries loaded"); run_callbacks() } }; s.onerror = function() { console.warn("failed to load library " + url); }; console.log("Bokeh: injecting script tag for BokehJS library: ", url); document.getElementsByTagName("head")[0].appendChild(s); } };var element = document.getElementById("0a2065e4-6508-492c-8ee4-52750858460a"); if (element == null) { console.log("Bokeh: ERROR: autoload.js configured with elementid '0a2065e4-6508-492c-8ee4-52750858460a' but no matching script tag was found. ") return false; } var js_urls = []; var inline_js = [ function(Bokeh) { Bokeh.$(function() {
var render_items = [{"docid":"5597115d-d877-491e-b06d-54eb0f695a69","elementid":"0a2065e4-6508-492c-8ee4-52750858460a","modelid":"663475fb-8fb5-4b13-9b1c-e7fdd26f6d8b"}];

Bokeh.embed.embed_items(docs_json, render_items);
});
},
function(Bokeh) {
}
];

function run_inline_js() {

if ((window.Bokeh !== undefined) || (force === "1")) {
for (var i = 0; i < inline_js.length; i++) {
inline_js[i](window.Bokeh);
}if (force === "1") {
}} else if (Date.now() < window._bokeh_timeout) {
setTimeout(run_inline_js, 100);
console.log("Bokeh: BokehJS failed to load within specified timeout.");
} else if (!force) {
var cell = $("#0a2065e4-6508-492c-8ee4-52750858460a").parents('.cell').data().cell; cell.output_area.append_execute_result(NB_LOAD_WARNING) } } if (window._bokeh_is_loading === 0) { console.log("Bokeh: BokehJS loaded, going straight to plotting"); run_inline_js(); } else { load_libs(js_urls, function() { console.log("Bokeh: BokehJS plotting callback run at", now()); run_inline_js(); }); } }(this)); (function(global) { function now() { return new Date(); } var force = ""; if (typeof (window._bokeh_onload_callbacks) === "undefined" || force !== "") { window._bokeh_onload_callbacks = []; window._bokeh_is_loading = undefined; } if (typeof (window._bokeh_timeout) === "undefined" || force !== "") { window._bokeh_timeout = Date.now() + 0; window._bokeh_failed_load = false; } var NB_LOAD_WARNING = {'data': {'text/html': "<div style='background-color: #fdd'>\n"+ "<p>\n"+ "BokehJS does not appear to have successfully loaded. If loading BokehJS from CDN, this \n"+ "may be due to a slow or bad network connection. Possible fixes:\n"+ "</p>\n"+ "<ul>\n"+ "<li>re-rerun output_notebook() to attempt to load from CDN again, or</li>\n"+ "<li>use INLINE resources instead, as so:</li>\n"+ "</ul>\n"+ "<code>\n"+ "from bokeh.resources import INLINE\n"+ "output_notebook(resources=INLINE)\n"+ "</code>\n"+ "</div>"}}; function display_loaded() { if (window.Bokeh !== undefined) { Bokeh.$("#a8d52472-4aeb-43fe-b3d8-14acb6556fa2").text("BokehJS successfully loaded.");
} else if (Date.now() < window._bokeh_timeout) {
}
}

function run_callbacks() {
console.info("Bokeh: all callbacks have finished");
}

console.log("Bokeh: BokehJS is being loaded, scheduling callback at", now());
return null;
}
if (js_urls == null || js_urls.length === 0) {
run_callbacks();
return null;
}
for (var i = 0; i < js_urls.length; i++) {
var url = js_urls[i];
var s = document.createElement('script');
s.src = url;
s.async = false;
run_callbacks()
}
};
s.onerror = function() {
console.warn("failed to load library " + url);
};
console.log("Bokeh: injecting script tag for BokehJS library: ", url);
}
};var element = document.getElementById("a8d52472-4aeb-43fe-b3d8-14acb6556fa2");
if (element == null) {
console.log("Bokeh: ERROR: autoload.js configured with elementid 'a8d52472-4aeb-43fe-b3d8-14acb6556fa2' but no matching script tag was found. ")
return false;
}

var js_urls = [];

var inline_js = [
function(Bokeh) {
Bokeh.$(function() { var docs_json = {"e06318c6-318d-4258-949f-3fbd65ead514":{"roots":{"references":[{"attributes":{"callback":null,"column_names":["y","x"],"data":{"x":[-178.20000000000002,-176.40000000000003,-174.6,-172.8,-171.0,-169.2,-167.40000000000003,-165.6,-163.80000000000004,-162.0,-160.20000000000002,-158.40000000000003,-156.6,-154.8,-153.0,-151.20000000000002,-149.40000000000003,-147.6,-145.8,-144.0,-142.20000000000002,-140.4,-138.6,-136.8,-135.0,-133.20000000000002,-131.40000000000003,-129.60000000000002,-127.79999999999998,-126.0,-124.2,-122.40000000000002,-120.60000000000001,-118.79999999999998,-117.0,-115.20000000000002,-113.4,-111.6,-109.8,-108.0,-106.20000000000002,-104.4,-102.60000000000001,-100.80000000000001,-99.00000000000001,-97.19999999999999,-95.4,-93.60000000000001,-91.8,-90.0,-88.2,-86.4,-84.6,-82.8,-81.0,-79.19999999999999,-77.39999999999999,-75.60000000000001,-73.8,-72.0,-70.2,-68.39999999999999,-66.60000000000001,-64.80000000000001,-63.0,-61.20000000000001,-59.39999999999999,-57.60000000000001,-55.79999999999999,-54.0,-52.20000000000002,-50.4,-48.6,-46.79999999999999,-45.0,-43.20000000000001,-41.4,-39.60000000000001,-37.79999999999999,-36.0,-34.20000000000001,-32.39999999999999,-30.600000000000005,-28.79999999999999,-27.0,-25.199999999999985,-23.399999999999995,-21.600000000000005,-19.79999999999999,-18.0,-16.199999999999985,-14.399999999999995,-12.600000000000005,-10.799999999999988,-9.0,-7.199999999999984,-5.399999999999994,-3.600000000000005,-1.7999999999999898,0.0,1.8000000000000154,3.600000000000005,5.399999999999994,7.20000000000001,9.0,10.800000000000017,12.600000000000005,14.399999999999995,16.20000000000001,18.0,19.800000000000015,21.600000000000005,23.40000000000002,25.20000000000001,27.0,28.800000000000015,30.600000000000005,32.40000000000002,34.20000000000001,36.0,37.80000000000001,39.60000000000001,41.40000000000002,43.20000000000001,45.0,46.80000000000001,48.6,50.40000000000002,52.20000000000002,54.0,55.79999999999999,57.60000000000003,59.40000000000002,61.20000000000001,63.0,64.79999999999998,66.60000000000004,68.40000000000002,70.2,72.0,73.8,75.60000000000002,77.40000000000002,79.20000000000002,81.0,82.8,84.60000000000004,86.40000000000002,88.20000000000002,90.0,91.79999999999998,93.60000000000002,95.40000000000002,97.2,99.00000000000001,100.8,102.60000000000002,104.40000000000003,106.20000000000002,108.0,109.8,111.60000000000004,113.40000000000002,115.20000000000002,117.0,118.80000000000004,120.60000000000004,122.40000000000002,124.2,126.0,127.80000000000004,129.60000000000002,131.40000000000003,133.20000000000002,135.0,136.80000000000004,138.60000000000002,140.4,142.20000000000002,144.0,145.80000000000004,147.60000000000005,149.40000000000003,151.20000000000002,153.0,154.80000000000004,156.60000000000002,158.40000000000003,160.20000000000002,162.0,163.80000000000004,165.60000000000002,167.40000000000003,169.2,171.0,172.80000000000004,174.60000000000005,176.40000000000003,178.20000000000002,180.0],"y":[71.68935210711417,70.76549459833645,69.2519458433306,67.18558842190603,64.61367600274436,61.59043362528267,58.173737776039246,54.422228471271474,50.39303778262861,46.140173056489566,41.71349489556648,37.15818107630207,32.5145558284404,27.81817420272285,23.100071269060905,18.387107696780898,13.702362778085536,9.065541648942189,4.493375249832608,1.7075472925031877e-06,4.493375249832608,9.065541648942348,13.702362778085643,18.387107696780976,23.10007126906097,27.81817420272285,32.5145558284404,37.15818107630203,41.713494895566555,46.140173056489566,50.39303778262859,54.422228471271474,58.173737776039225,61.5904336252827,64.61367600274438,67.18558842190603,69.25194584333057,70.76549459833645,71.68935210711419,72.00000000000003,71.68935210711415,70.76549459833645,69.25194584333057,67.18558842190598,64.61367600274433,61.59043362528257,58.1737377760392,54.422228471271474,50.39303778262856,46.14017305648954,41.71349489556644,37.15818107630207,32.51455582844036,27.81817420272285,23.10007126906084,18.387107696781058,13.702362778085432,9.065541648942189,4.493375249832608,0.0,4.493375249832608,9.065541648942512,13.702362778085432,18.387107696781058,23.10007126906097,27.8181742027229,32.51455582844049,37.15818107630207,41.71349489556661,46.1401730564896,50.39303778262861,54.422228471271524,58.173737776039225,61.5904336252827,64.61367600274443,67.18558842190606,69.2519458433306,70.76549459833645,71.68935210711417,72.00000000000003,71.68935210711417,70.76549459833647,69.25194584333057,67.18558842190603,64.61367600274433,61.590433625282586,58.1737377760392,54.4222284712715,50.39303778262861,46.1401730564896,41.713494895566505,37.15818107630203,32.5145558284404,27.8181742027229,23.100071269060905,18.387107696780976,13.702362778085432,9.065541648942348,4.4933752498329325,0.0,4.4933752498329325,9.065541648942348,13.702362778085432,18.387107696781058,23.100071269060905,27.8181742027229,32.5145558284404,37.15818107630203,41.713494895566555,46.140173056489566,50.393037782628646,54.422228471271445,58.173737776039225,61.59043362528267,64.61367600274436,67.18558842190603,69.25194584333057,70.76549459833645,71.68935210711417,72.00000000000003,71.68935210711417,70.76549459833645,69.25194584333057,67.18558842190603,64.61367600274438,61.59043362528264,58.1737377760392,54.422228471271474,50.39303778262861,46.1401730564896,41.713494895566576,37.15818107630199,32.514555828440315,27.81817420272285,23.100071269060905,18.387107696781136,13.702362778085432,9.065541648942348,4.493375249832608,1.7075472925031877e-06,4.493375249832608,9.065541648942189,13.702362778085432,18.387107696781058,23.100071269060905,27.81817420272285,32.51455582844054,37.15818107630207,41.713494895566505,46.140173056489566,50.39303778262861,54.422228471271524,58.173737776039246,61.5904336252827,64.61367600274433,67.18558842190598,69.2519458433306,70.76549459833645,71.68935210711419,72.00000000000003,71.68935210711417,70.76549459833642,69.25194584333057,67.18558842190603,64.61367600274433,61.59043362528255,58.17373777603911,54.42222847127138,50.39303778262859,46.1401730564896,41.7134948955664,37.15818107630191,32.51455582844036,27.81817420272285,23.10007126906084,18.387107696780816,13.702362778085432,9.065541648942189,4.493375249832608,0.0,4.4933752498329325,9.065541648942348,13.702362778085643,18.387107696781136,23.100071269060905,27.818174202723004,32.51455582844045,37.15818107630207,41.713494895566555,46.14017305648964,50.39303778262874,54.422228471271524,58.173737776039246,61.59043362528267,64.61367600274436,67.18558842190609,69.2519458433306,70.76549459833653,71.68935210711417,72.00000000000003]}},"id":"64290adc-f881-4eb9-abac-b15b183b3464","type":"ColumnDataSource"},{"attributes":{"formatter":{"id":"cbf17546-c84a-44a6-a187-36367aef0f23","type":"BasicTickFormatter"},"plot":{"id":"02850ef2-47bd-4179-b8f7-f74f287a58c4","subtype":"Figure","type":"Plot"},"ticker":{"id":"36ff7869-6d56-475d-9193-5c883ce40a38","type":"BasicTicker"}},"id":"02fd307d-86bd-4c28-90aa-9a8d8e681a44","type":"LinearAxis"},{"attributes":{"line_alpha":{"value":0.1},"line_color":{"value":"#1f77b4"},"line_width":{"value":2},"x":{"field":"x"},"y":{"field":"y"}},"id":"088f5652-e587-4380-b2f1-b52256dd6862","type":"Line"},{"attributes":{"data_source":{"id":"c5db0793-c0b7-4f35-ab78-80c9d6afdfaa","type":"ColumnDataSource"},"glyph":{"id":"b7b57887-34e5-4bd6-b456-e4f735c925b3","type":"Line"},"hover_glyph":null,"nonselection_glyph":{"id":"088f5652-e587-4380-b2f1-b52256dd6862","type":"Line"},"selection_glyph":null},"id":"11da6dc0-e978-4e6e-a7ab-1e50c5c929b6","type":"GlyphRenderer"},{"attributes":{"callback":null,"end":180,"start":-180},"id":"356307c4-2bbc-4341-b9f4-a865da4cd8fa","type":"Range1d"},{"attributes":{"plot":{"id":"02850ef2-47bd-4179-b8f7-f74f287a58c4","subtype":"Figure","type":"Plot"}},"id":"9d4a1e2f-682d-4f67-8170-eafb301dd48c","type":"PanTool"},{"attributes":{"bottom_units":"screen","fill_alpha":{"value":0.5},"fill_color":{"value":"lightgrey"},"left_units":"screen","level":"overlay","line_alpha":{"value":1.0},"line_color":{"value":"black"},"line_dash":[4,4],"line_width":{"value":2},"plot":null,"render_mode":"css","right_units":"screen","top_units":"screen"},"id":"b7814de8-c79f-4559-9ff6-b27f5856030e","type":"BoxAnnotation"},{"attributes":{"callback":null,"column_names":["y","x"],"data":{"x":[-178.20000000000002,-176.40000000000003,-174.6,-172.8,-171.0,-169.2,-167.40000000000003,-165.6,-163.80000000000004,-162.0,-160.20000000000002,-158.40000000000003,-156.6,-154.8,-153.0,-151.20000000000002,-149.40000000000003,-147.6,-145.8,-144.0,-142.20000000000002,-140.4,-138.6,-136.8,-135.0,-133.20000000000002,-131.40000000000003,-129.60000000000002,-127.79999999999998,-126.0,-124.2,-122.40000000000002,-120.60000000000001,-118.79999999999998,-117.0,-115.20000000000002,-113.4,-111.6,-109.8,-108.0,-106.20000000000002,-104.4,-102.60000000000001,-100.80000000000001,-99.00000000000001,-97.19999999999999,-95.4,-93.60000000000001,-91.8,-90.0,-88.2,-86.4,-84.6,-82.8,-81.0,-79.19999999999999,-77.39999999999999,-75.60000000000001,-73.8,-72.0,-70.2,-68.39999999999999,-66.60000000000001,-64.80000000000001,-63.0,-61.20000000000001,-59.39999999999999,-57.60000000000001,-55.79999999999999,-54.0,-52.20000000000002,-50.4,-48.6,-46.79999999999999,-45.0,-43.20000000000001,-41.4,-39.60000000000001,-37.79999999999999,-36.0,-34.20000000000001,-32.39999999999999,-30.600000000000005,-28.79999999999999,-27.0,-25.199999999999985,-23.399999999999995,-21.600000000000005,-19.79999999999999,-18.0,-16.199999999999985,-14.399999999999995,-12.600000000000005,-10.799999999999988,-9.0,-7.199999999999984,-5.399999999999994,-3.600000000000005,-1.7999999999999898,0.0,1.8000000000000154,3.600000000000005,5.399999999999994,7.20000000000001,9.0,10.800000000000017,12.600000000000005,14.399999999999995,16.20000000000001,18.0,19.800000000000015,21.600000000000005,23.40000000000002,25.20000000000001,27.0,28.800000000000015,30.600000000000005,32.40000000000002,34.20000000000001,36.0,37.80000000000001,39.60000000000001,41.40000000000002,43.20000000000001,45.0,46.80000000000001,48.6,50.40000000000002,52.20000000000002,54.0,55.79999999999999,57.60000000000003,59.40000000000002,61.20000000000001,63.0,64.79999999999998,66.60000000000004,68.40000000000002,70.2,72.0,73.8,75.60000000000002,77.40000000000002,79.20000000000002,81.0,82.8,84.60000000000004,86.40000000000002,88.20000000000002,90.0,91.79999999999998,93.60000000000002,95.40000000000002,97.2,99.00000000000001,100.8,102.60000000000002,104.40000000000003,106.20000000000002,108.0,109.8,111.60000000000004,113.40000000000002,115.20000000000002,117.0,118.80000000000004,120.60000000000004,122.40000000000002,124.2,126.0,127.80000000000004,129.60000000000002,131.40000000000003,133.20000000000002,135.0,136.80000000000004,138.60000000000002,140.4,142.20000000000002,144.0,145.80000000000004,147.60000000000005,149.40000000000003,151.20000000000002,153.0,154.80000000000004,156.60000000000002,158.40000000000003,160.20000000000002,162.0,163.80000000000004,165.60000000000002,167.40000000000003,169.2,171.0,172.80000000000004,174.60000000000005,176.40000000000003,178.20000000000002,180.0],"y":[71.92209896444604,71.6875701954521,71.29390626910408,70.73682403444116,70.0100987228006,69.10531058114903,68.01147854269529,66.71454053370461,65.19661628390125,63.43494882292202,61.40035117659061,59.05485585651857,56.3480112156199,53.21073230852486,49.54437018626107,45.199416751649466,39.928291864675565,33.257679180093696,23.9932585490127,2.9575586669421963e-06,23.99325854901276,33.25767918009374,39.928291864675565,45.19941675164944,49.54437018626107,53.21073230852486,56.3480112156199,59.05485585651853,61.400351176590696,63.43494882292202,65.19661628390128,66.71454053370461,68.01147854269529,69.105310581149,70.0100987228006,70.73682403444113,71.29390626910406,71.68757019545207,71.92209896444604,72.0,71.92209896444601,71.6875701954521,71.29390626910406,70.73682403444116,70.01009872280056,69.10531058114903,68.01147854269527,66.71454053370461,65.19661628390122,63.434948822921996,61.40035117659067,59.05485585651853,56.3480112156199,53.21073230852486,49.54437018626104,45.1994167516494,39.92829186467546,33.257679180093696,23.99325854901258,2.4148365394514667e-06,23.99325854901276,33.257679180093696,39.928291864675565,45.1994167516495,49.54437018626113,53.21073230852484,56.34801121561996,59.05485585651857,61.40035117659072,63.43494882292202,65.19661628390122,66.71454053370465,68.01147854269529,69.10531058114906,70.0100987228006,70.73682403444113,71.29390626910408,71.68757019545212,71.92209896444604,72.00000000000003,71.92209896444606,71.6875701954521,71.29390626910406,70.73682403444116,70.0100987228006,69.105310581149,68.01147854269527,66.71454053370465,65.19661628390125,63.43494882292202,61.40035117659067,59.05485585651853,56.34801121561993,53.21073230852484,49.54437018626107,45.19941675164944,39.92829186467553,33.257679180093696,23.9932585490127,0.0,23.993258549012825,33.257679180093646,39.92829186467553,45.1994167516495,49.54437018626107,53.21073230852492,56.34801121561988,59.05485585651853,61.400351176590696,63.43494882292202,65.19661628390128,66.71454053370462,68.01147854269529,69.10531058114903,70.01009872280056,70.73682403444116,71.29390626910403,71.6875701954521,71.92209896444604,72.00000000000003,71.92209896444604,71.68757019545212,71.29390626910406,70.73682403444116,70.01009872280059,69.105310581149,68.01147854269529,66.71454053370461,65.19661628390125,63.43494882292202,61.40035117659072,59.05485585651851,56.34801121561985,53.21073230852486,49.5443701862611,45.1994167516495,39.9282918646755,33.257679180093604,23.9932585490127,1.7075472925031877e-06,23.99325854901258,33.25767918009383,39.9282918646756,45.1994167516495,49.5443701862611,53.21073230852486,56.34801121561999,59.05485585651853,61.40035117659067,63.434948822921996,65.19661628390121,66.71454053370465,68.01147854269529,69.10531058114903,70.01009872280059,70.73682403444113,71.29390626910403,71.6875701954521,71.92209896444604,72.0,71.92209896444601,71.6875701954521,71.29390626910406,70.73682403444113,70.01009872280059,69.10531058114894,68.01147854269527,66.71454053370458,65.19661628390121,63.434948822921996,61.4003511765906,59.05485585651851,56.34801121561985,53.21073230852481,49.54437018626107,45.19941675164934,39.92829186467553,33.257679180093646,23.993258549012637,0.0,23.993258549012946,33.25767918009383,39.92829186467564,45.1994167516495,49.54437018626107,53.210732308524946,56.34801121561996,59.05485585651857,61.40035117659067,63.43494882292202,65.19661628390128,66.71454053370468,68.01147854269529,69.10531058114906,70.0100987228006,70.73682403444116,71.29390626910408,71.6875701954521,71.92209896444604,72.00000000000003]}},"id":"c5db0793-c0b7-4f35-ab78-80c9d6afdfaa","type":"ColumnDataSource"},{"attributes":{},"id":"f87bd39d-87e7-4e61-844c-f0492d9304a0","type":"BasicTicker"},{"attributes":{},"id":"7417479b-c8e1-4499-9722-da267e1157de","type":"ToolEvents"},{"attributes":{"plot":{"id":"02850ef2-47bd-4179-b8f7-f74f287a58c4","subtype":"Figure","type":"Plot"},"ticker":{"id":"36ff7869-6d56-475d-9193-5c883ce40a38","type":"BasicTicker"}},"id":"a436d8a2-80a5-4b4e-a5f6-ae01f31d7178","type":"Grid"},{"attributes":{},"id":"cbf17546-c84a-44a6-a187-36367aef0f23","type":"BasicTickFormatter"},{"attributes":{},"id":"d4f72cf6-8c30-432d-ab11-cf56ea42298a","type":"BasicTickFormatter"},{"attributes":{"plot":{"id":"02850ef2-47bd-4179-b8f7-f74f287a58c4","subtype":"Figure","type":"Plot"}},"id":"9de5a2a8-f75b-44f8-a9f6-a2ed42731e57","type":"SaveTool"},{"attributes":{"active_drag":"auto","active_scroll":"auto","active_tap":"auto","tools":[{"id":"9d4a1e2f-682d-4f67-8170-eafb301dd48c","type":"PanTool"},{"id":"b752d2b5-4b0b-461b-87a1-1a15f4b5549a","type":"WheelZoomTool"},{"id":"5fc5ba79-3bd8-4415-825f-e50b900805c1","type":"BoxZoomTool"},{"id":"9de5a2a8-f75b-44f8-a9f6-a2ed42731e57","type":"SaveTool"},{"id":"18e2dae1-6ffe-4457-95fc-00140be79de3","type":"ResetTool"},{"id":"82f4966f-4c76-45f8-81e8-32fff578e482","type":"HelpTool"}]},"id":"17a478df-db1b-446d-b5b3-636bbb0bb30c","type":"Toolbar"},{"attributes":{"line_color":{"value":"#1f77b4"},"line_width":{"value":2},"x":{"field":"x"},"y":{"field":"y"}},"id":"b7b57887-34e5-4bd6-b456-e4f735c925b3","type":"Line"},{"attributes":{"plot":{"id":"02850ef2-47bd-4179-b8f7-f74f287a58c4","subtype":"Figure","type":"Plot"}},"id":"b752d2b5-4b0b-461b-87a1-1a15f4b5549a","type":"WheelZoomTool"},{"attributes":{"line_alpha":{"value":0.1},"line_color":{"value":"#1f77b4"},"line_width":{"value":2},"x":{"field":"x"},"y":{"field":"y"}},"id":"aaf87f9c-21e2-456f-9903-cac14d267dd6","type":"Line"},{"attributes":{"dimension":1,"plot":{"id":"02850ef2-47bd-4179-b8f7-f74f287a58c4","subtype":"Figure","type":"Plot"},"ticker":{"id":"f87bd39d-87e7-4e61-844c-f0492d9304a0","type":"BasicTicker"}},"id":"43c71366-96db-44ed-bc56-7ca58ddc44f0","type":"Grid"},{"attributes":{"formatter":{"id":"d4f72cf6-8c30-432d-ab11-cf56ea42298a","type":"BasicTickFormatter"},"plot":{"id":"02850ef2-47bd-4179-b8f7-f74f287a58c4","subtype":"Figure","type":"Plot"},"ticker":{"id":"f87bd39d-87e7-4e61-844c-f0492d9304a0","type":"BasicTicker"}},"id":"8c05ac2b-585e-4d66-bd14-32fb2d0122f4","type":"LinearAxis"},{"attributes":{"plot":{"id":"02850ef2-47bd-4179-b8f7-f74f287a58c4","subtype":"Figure","type":"Plot"}},"id":"18e2dae1-6ffe-4457-95fc-00140be79de3","type":"ResetTool"},{"attributes":{"background_fill_alpha":{"value":0.5},"legends":[["2acos||rV||",[{"id":"11da6dc0-e978-4e6e-a7ab-1e50c5c929b6","type":"GlyphRenderer"}]],["2acos||rE||",[{"id":"cb5dc1be-e641-40d6-9429-527ec52e19d5","type":"GlyphRenderer"}]]],"plot":{"id":"02850ef2-47bd-4179-b8f7-f74f287a58c4","subtype":"Figure","type":"Plot"}},"id":"657188e4-8628-4499-96d1-a29ab16ab6f7","type":"Legend"},{"attributes":{"callback":null,"end":100},"id":"3990ed49-63d4-4ba7-9c8b-52c8da72ca6d","type":"Range1d"},{"attributes":{"below":[{"id":"02fd307d-86bd-4c28-90aa-9a8d8e681a44","type":"LinearAxis"}],"left":[{"id":"8c05ac2b-585e-4d66-bd14-32fb2d0122f4","type":"LinearAxis"}],"plot_height":250,"plot_width":300,"renderers":[{"id":"02fd307d-86bd-4c28-90aa-9a8d8e681a44","type":"LinearAxis"},{"id":"a436d8a2-80a5-4b4e-a5f6-ae01f31d7178","type":"Grid"},{"id":"8c05ac2b-585e-4d66-bd14-32fb2d0122f4","type":"LinearAxis"},{"id":"43c71366-96db-44ed-bc56-7ca58ddc44f0","type":"Grid"},{"id":"b7814de8-c79f-4559-9ff6-b27f5856030e","type":"BoxAnnotation"},{"id":"657188e4-8628-4499-96d1-a29ab16ab6f7","type":"Legend"},{"id":"11da6dc0-e978-4e6e-a7ab-1e50c5c929b6","type":"GlyphRenderer"},{"id":"cb5dc1be-e641-40d6-9429-527ec52e19d5","type":"GlyphRenderer"}],"title":{"id":"e59aec70-09b9-494e-b964-081f8590775a","type":"Title"},"tool_events":{"id":"7417479b-c8e1-4499-9722-da267e1157de","type":"ToolEvents"},"toolbar":{"id":"17a478df-db1b-446d-b5b3-636bbb0bb30c","type":"Toolbar"},"x_range":{"id":"356307c4-2bbc-4341-b9f4-a865da4cd8fa","type":"Range1d"},"y_range":{"id":"3990ed49-63d4-4ba7-9c8b-52c8da72ca6d","type":"Range1d"}},"id":"02850ef2-47bd-4179-b8f7-f74f287a58c4","subtype":"Figure","type":"Plot"},{"attributes":{"plot":null,"text":"r vector width VBAP"},"id":"e59aec70-09b9-494e-b964-081f8590775a","type":"Title"},{"attributes":{"line_color":{"value":"red"},"line_width":{"value":2},"x":{"field":"x"},"y":{"field":"y"}},"id":"859ce730-66fd-4157-bbe6-c457e4ee5305","type":"Line"},{"attributes":{"overlay":{"id":"b7814de8-c79f-4559-9ff6-b27f5856030e","type":"BoxAnnotation"},"plot":{"id":"02850ef2-47bd-4179-b8f7-f74f287a58c4","subtype":"Figure","type":"Plot"}},"id":"5fc5ba79-3bd8-4415-825f-e50b900805c1","type":"BoxZoomTool"},{"attributes":{},"id":"36ff7869-6d56-475d-9193-5c883ce40a38","type":"BasicTicker"},{"attributes":{"plot":{"id":"02850ef2-47bd-4179-b8f7-f74f287a58c4","subtype":"Figure","type":"Plot"}},"id":"82f4966f-4c76-45f8-81e8-32fff578e482","type":"HelpTool"},{"attributes":{"data_source":{"id":"64290adc-f881-4eb9-abac-b15b183b3464","type":"ColumnDataSource"},"glyph":{"id":"859ce730-66fd-4157-bbe6-c457e4ee5305","type":"Line"},"hover_glyph":null,"nonselection_glyph":{"id":"aaf87f9c-21e2-456f-9903-cac14d267dd6","type":"Line"},"selection_glyph":null},"id":"cb5dc1be-e641-40d6-9429-527ec52e19d5","type":"GlyphRenderer"}],"root_ids":["02850ef2-47bd-4179-b8f7-f74f287a58c4"]},"title":"Bokeh Application","version":"0.12.2"}}; var render_items = [{"docid":"e06318c6-318d-4258-949f-3fbd65ead514","elementid":"a8d52472-4aeb-43fe-b3d8-14acb6556fa2","modelid":"02850ef2-47bd-4179-b8f7-f74f287a58c4"}]; Bokeh.embed.embed_items(docs_json, render_items); }); }, function(Bokeh) { } ]; function run_inline_js() { if ((window.Bokeh !== undefined) || (force === "1")) { for (var i = 0; i < inline_js.length; i++) { inline_js[i](window.Bokeh); }if (force === "1") { display_loaded(); }} else if (Date.now() < window._bokeh_timeout) { setTimeout(run_inline_js, 100); } else if (!window._bokeh_failed_load) { console.log("Bokeh: BokehJS failed to load within specified timeout."); window._bokeh_failed_load = true; } else if (!force) { var cell =$("#a8d52472-4aeb-43fe-b3d8-14acb6556fa2").parents('.cell').data().cell;
}

}

console.log("Bokeh: BokehJS loaded, going straight to plotting");
run_inline_js();
} else {
console.log("Bokeh: BokehJS plotting callback run at", now());
run_inline_js();
});
}
}(this));



It seems that the vectors do not indicate the same directions: only the $\boldsymbol r_\mathrm{V}$ vector is perfectly controlled. Alternatively to VBAP, VBIP could be done, which just takes the square roots of the panning gains obtained from VBAP, before normalization.



In [4]:

for n in range(0,Npts):
gn=vectorpan(xys[:,n],xyls,qh.simplices)
gn=np.abs(gn)
# new line inserted just for VBIP:
gn=np.sqrt(gn)
gn/=np.sqrt(np.sum(gn))
g[:,n]=gn

p3=figure(title="r vector direction VBIP",plot_width=300,plot_height=250)
p4=figure(title="r vector width VBIP",plot_width=300,plot_height=250,x_range=[-180,180],y_range=[0,100])

r=r_vector(g,phils)
mr=np.sqrt(np.sum(r**2,0))
p3.line(phis*180/np.pi,np.arctan2(r[0,:],r[1,:])*180/np.pi,legend="rV",line_width=2)
p4.line(phis*180/np.pi,2*np.arccos(mr)*180/np.pi,legend="2acos||rV||",line_width=2)
r=r_vector(g**2,phils)
mr=np.sqrt(np.sum(r**2,0))
p3.line(phis*180/np.pi,np.arctan2(r[0,:],r[1,:])*180/np.pi,legend="rE",color="red",line_width=2)
p4.line(phis*180/np.pi,2*np.arccos(mr)*180/np.pi,legend="2acos||rE||",color="red",line_width=2)
p3.legend.location="top_left"
p4.legend.background_fill_alpha = 0.5
show(p3)
show(p4)




(function(global) {
function now() {
return new Date();
}

var force = "";

if (typeof (window._bokeh_onload_callbacks) === "undefined" || force !== "") {
}

if (typeof (window._bokeh_timeout) === "undefined" || force !== "") {
window._bokeh_timeout = Date.now() + 0;
}

"<div style='background-color: #fdd'>\n"+
"<p>\n"+
"may be due to a slow or bad network connection. Possible fixes:\n"+
"</p>\n"+
"<ul>\n"+
"<li>re-rerun output_notebook() to attempt to load from CDN again, or</li>\n"+
"<li>use INLINE resources instead, as so:</li>\n"+
"</ul>\n"+
"<code>\n"+
"from bokeh.resources import INLINE\n"+
"output_notebook(resources=INLINE)\n"+
"</code>\n"+
"</div>"}};

if (window.Bokeh !== undefined) {
Bokeh.$("#c6296df0-fbce-4dbc-bcc9-e3ab4bf5b715").text("BokehJS successfully loaded."); } else if (Date.now() < window._bokeh_timeout) { setTimeout(display_loaded, 100) } } function run_callbacks() { window._bokeh_onload_callbacks.forEach(function(callback) { callback() }); delete window._bokeh_onload_callbacks console.info("Bokeh: all callbacks have finished"); } function load_libs(js_urls, callback) { window._bokeh_onload_callbacks.push(callback); if (window._bokeh_is_loading > 0) { console.log("Bokeh: BokehJS is being loaded, scheduling callback at", now()); return null; } if (js_urls == null || js_urls.length === 0) { run_callbacks(); return null; } console.log("Bokeh: BokehJS not loaded, scheduling load and callback at", now()); window._bokeh_is_loading = js_urls.length; for (var i = 0; i < js_urls.length; i++) { var url = js_urls[i]; var s = document.createElement('script'); s.src = url; s.async = false; s.onreadystatechange = s.onload = function() { window._bokeh_is_loading--; if (window._bokeh_is_loading === 0) { console.log("Bokeh: all BokehJS libraries loaded"); run_callbacks() } }; s.onerror = function() { console.warn("failed to load library " + url); }; console.log("Bokeh: injecting script tag for BokehJS library: ", url); document.getElementsByTagName("head")[0].appendChild(s); } };var element = document.getElementById("c6296df0-fbce-4dbc-bcc9-e3ab4bf5b715"); if (element == null) { console.log("Bokeh: ERROR: autoload.js configured with elementid 'c6296df0-fbce-4dbc-bcc9-e3ab4bf5b715' but no matching script tag was found. ") return false; } var js_urls = []; var inline_js = [ function(Bokeh) { Bokeh.$(function() {

Bokeh.embed.embed_items(docs_json, render_items);
});
},
function(Bokeh) {
}
];

function run_inline_js() {

if ((window.Bokeh !== undefined) || (force === "1")) {
for (var i = 0; i < inline_js.length; i++) {
inline_js[i](window.Bokeh);
}if (force === "1") {
}} else if (Date.now() < window._bokeh_timeout) {
setTimeout(run_inline_js, 100);
console.log("Bokeh: BokehJS failed to load within specified timeout.");
} else if (!force) {
var cell = $("#c6296df0-fbce-4dbc-bcc9-e3ab4bf5b715").parents('.cell').data().cell; cell.output_area.append_execute_result(NB_LOAD_WARNING) } } if (window._bokeh_is_loading === 0) { console.log("Bokeh: BokehJS loaded, going straight to plotting"); run_inline_js(); } else { load_libs(js_urls, function() { console.log("Bokeh: BokehJS plotting callback run at", now()); run_inline_js(); }); } }(this)); (function(global) { function now() { return new Date(); } var force = ""; if (typeof (window._bokeh_onload_callbacks) === "undefined" || force !== "") { window._bokeh_onload_callbacks = []; window._bokeh_is_loading = undefined; } if (typeof (window._bokeh_timeout) === "undefined" || force !== "") { window._bokeh_timeout = Date.now() + 0; window._bokeh_failed_load = false; } var NB_LOAD_WARNING = {'data': {'text/html': "<div style='background-color: #fdd'>\n"+ "<p>\n"+ "BokehJS does not appear to have successfully loaded. If loading BokehJS from CDN, this \n"+ "may be due to a slow or bad network connection. Possible fixes:\n"+ "</p>\n"+ "<ul>\n"+ "<li>re-rerun output_notebook() to attempt to load from CDN again, or</li>\n"+ "<li>use INLINE resources instead, as so:</li>\n"+ "</ul>\n"+ "<code>\n"+ "from bokeh.resources import INLINE\n"+ "output_notebook(resources=INLINE)\n"+ "</code>\n"+ "</div>"}}; function display_loaded() { if (window.Bokeh !== undefined) { Bokeh.$("#076df1ed-ce80-4be4-96ea-e7144ba7de44").text("BokehJS successfully loaded.");
} else if (Date.now() < window._bokeh_timeout) {
}
}

function run_callbacks() {
console.info("Bokeh: all callbacks have finished");
}

console.log("Bokeh: BokehJS is being loaded, scheduling callback at", now());
return null;
}
if (js_urls == null || js_urls.length === 0) {
run_callbacks();
return null;
}
for (var i = 0; i < js_urls.length; i++) {
var url = js_urls[i];
var s = document.createElement('script');
s.src = url;
s.async = false;
run_callbacks()
}
};
s.onerror = function() {
console.warn("failed to load library " + url);
};
console.log("Bokeh: injecting script tag for BokehJS library: ", url);
}
};var element = document.getElementById("076df1ed-ce80-4be4-96ea-e7144ba7de44");
if (element == null) {
console.log("Bokeh: ERROR: autoload.js configured with elementid '076df1ed-ce80-4be4-96ea-e7144ba7de44' but no matching script tag was found. ")
return false;
}

var js_urls = [];

var inline_js = [
function(Bokeh) {
Bokeh.$(function() { var docs_json = {"3779afed-9c7a-43de-8e85-07ae67c09a0a":{"roots":{"references":[{"attributes":{"plot":{"id":"f56906f1-f750-40c2-b1ea-e4b6785a33fb","subtype":"Figure","type":"Plot"},"ticker":{"id":"7d2fd0f0-c9e3-4e84-a96d-1887b80f2983","type":"BasicTicker"}},"id":"fa25eeaa-f0f1-4cf3-bf26-9d9517a477d7","type":"Grid"},{"attributes":{},"id":"03d13324-7f56-49c1-afd1-cc3356a0f65b","type":"ToolEvents"},{"attributes":{"data_source":{"id":"4c8ae356-7034-4fc1-9e21-3c4aca3085e4","type":"ColumnDataSource"},"glyph":{"id":"20b87b70-998e-42ba-b3a4-71ae6392d29c","type":"Line"},"hover_glyph":null,"nonselection_glyph":{"id":"dfbd5737-f595-4819-a141-f8a34e1f6562","type":"Line"},"selection_glyph":null},"id":"e32f3bd0-9b77-4a1f-9ed0-4ed3cfd2b865","type":"GlyphRenderer"},{"attributes":{"plot":{"id":"f56906f1-f750-40c2-b1ea-e4b6785a33fb","subtype":"Figure","type":"Plot"}},"id":"7e826b68-6937-4a84-982b-5132ecb20451","type":"ResetTool"},{"attributes":{},"id":"7ede2ede-4624-42c0-a602-fb9dad158255","type":"BasicTickFormatter"},{"attributes":{"line_color":{"value":"#1f77b4"},"line_width":{"value":2},"x":{"field":"x"},"y":{"field":"y"}},"id":"f21939a7-9aed-4858-9aec-e2aa2b754e7d","type":"Line"},{"attributes":{"plot":{"id":"f56906f1-f750-40c2-b1ea-e4b6785a33fb","subtype":"Figure","type":"Plot"}},"id":"af97f8c2-d873-41b4-9baf-33d228161d51","type":"PanTool"},{"attributes":{"dimension":1,"plot":{"id":"f56906f1-f750-40c2-b1ea-e4b6785a33fb","subtype":"Figure","type":"Plot"},"ticker":{"id":"f9fc368f-2f66-4117-a42b-e3d3d6d8d60c","type":"BasicTicker"}},"id":"77d4610d-a846-40be-9755-634880da105d","type":"Grid"},{"attributes":{"bottom_units":"screen","fill_alpha":{"value":0.5},"fill_color":{"value":"lightgrey"},"left_units":"screen","level":"overlay","line_alpha":{"value":1.0},"line_color":{"value":"black"},"line_dash":[4,4],"line_width":{"value":2},"plot":null,"render_mode":"css","right_units":"screen","top_units":"screen"},"id":"6108ecd4-dd19-4f7e-916f-45a1c9ac2d4a","type":"BoxAnnotation"},{"attributes":{"plot":{"id":"f56906f1-f750-40c2-b1ea-e4b6785a33fb","subtype":"Figure","type":"Plot"}},"id":"912d332e-9afb-40ef-9d83-1e344549a65e","type":"HelpTool"},{"attributes":{"plot":{"id":"f56906f1-f750-40c2-b1ea-e4b6785a33fb","subtype":"Figure","type":"Plot"}},"id":"c7adabca-6ff1-499c-a084-a4054be17cd6","type":"WheelZoomTool"},{"attributes":{"data_source":{"id":"c9c4d08f-990a-46ee-bfac-798196dd3973","type":"ColumnDataSource"},"glyph":{"id":"f21939a7-9aed-4858-9aec-e2aa2b754e7d","type":"Line"},"hover_glyph":null,"nonselection_glyph":{"id":"cf823903-97d5-4382-8b51-95ed36ccb3df","type":"Line"},"selection_glyph":null},"id":"5f8d6721-0353-47c7-830c-6c3ff0386c3b","type":"GlyphRenderer"},{"attributes":{},"id":"7d2fd0f0-c9e3-4e84-a96d-1887b80f2983","type":"BasicTicker"},{"attributes":{"line_alpha":{"value":0.1},"line_color":{"value":"#1f77b4"},"line_width":{"value":2},"x":{"field":"x"},"y":{"field":"y"}},"id":"dfbd5737-f595-4819-a141-f8a34e1f6562","type":"Line"},{"attributes":{"overlay":{"id":"6108ecd4-dd19-4f7e-916f-45a1c9ac2d4a","type":"BoxAnnotation"},"plot":{"id":"f56906f1-f750-40c2-b1ea-e4b6785a33fb","subtype":"Figure","type":"Plot"}},"id":"11c1db3c-806a-423c-a3d4-c6c37063e4ac","type":"BoxZoomTool"},{"attributes":{"plot":{"id":"f56906f1-f750-40c2-b1ea-e4b6785a33fb","subtype":"Figure","type":"Plot"}},"id":"5f69c9ee-5d7e-4f4d-82bb-684aa8789f5d","type":"SaveTool"},{"attributes":{"callback":null,"column_names":["y","x"],"data":{"x":[-178.20000000000002,-176.40000000000003,-174.6,-172.8,-171.0,-169.2,-167.40000000000003,-165.6,-163.80000000000004,-162.0,-160.20000000000002,-158.40000000000003,-156.6,-154.8,-153.0,-151.20000000000002,-149.40000000000003,-147.6,-145.8,-144.0,-142.20000000000002,-140.4,-138.6,-136.8,-135.0,-133.20000000000002,-131.40000000000003,-129.60000000000002,-127.79999999999998,-126.0,-124.2,-122.40000000000002,-120.60000000000001,-118.79999999999998,-117.0,-115.20000000000002,-113.4,-111.6,-109.8,-108.0,-106.20000000000002,-104.4,-102.60000000000001,-100.80000000000001,-99.00000000000001,-97.19999999999999,-95.4,-93.60000000000001,-91.8,-90.0,-88.2,-86.4,-84.6,-82.8,-81.0,-79.19999999999999,-77.39999999999999,-75.60000000000001,-73.8,-72.0,-70.2,-68.39999999999999,-66.60000000000001,-64.80000000000001,-63.0,-61.20000000000001,-59.39999999999999,-57.60000000000001,-55.79999999999999,-54.0,-52.20000000000002,-50.4,-48.6,-46.79999999999999,-45.0,-43.20000000000001,-41.4,-39.60000000000001,-37.79999999999999,-36.0,-34.20000000000001,-32.39999999999999,-30.600000000000005,-28.79999999999999,-27.0,-25.199999999999985,-23.399999999999995,-21.600000000000005,-19.79999999999999,-18.0,-16.199999999999985,-14.399999999999995,-12.600000000000005,-10.799999999999988,-9.0,-7.199999999999984,-5.399999999999994,-3.600000000000005,-1.7999999999999898,0.0,1.8000000000000154,3.600000000000005,5.399999999999994,7.20000000000001,9.0,10.800000000000017,12.600000000000005,14.399999999999995,16.20000000000001,18.0,19.800000000000015,21.600000000000005,23.40000000000002,25.20000000000001,27.0,28.800000000000015,30.600000000000005,32.40000000000002,34.20000000000001,36.0,37.80000000000001,39.60000000000001,41.40000000000002,43.20000000000001,45.0,46.80000000000001,48.6,50.40000000000002,52.20000000000002,54.0,55.79999999999999,57.60000000000003,59.40000000000002,61.20000000000001,63.0,64.79999999999998,66.60000000000004,68.40000000000002,70.2,72.0,73.8,75.60000000000002,77.40000000000002,79.20000000000002,81.0,82.8,84.60000000000004,86.40000000000002,88.20000000000002,90.0,91.79999999999998,93.60000000000002,95.40000000000002,97.2,99.00000000000001,100.8,102.60000000000002,104.40000000000003,106.20000000000002,108.0,109.8,111.60000000000004,113.40000000000002,115.20000000000002,117.0,118.80000000000004,120.60000000000004,122.40000000000002,124.2,126.0,127.80000000000004,129.60000000000002,131.40000000000003,133.20000000000002,135.0,136.80000000000004,138.60000000000002,140.4,142.20000000000002,144.0,145.80000000000004,147.60000000000005,149.40000000000003,151.20000000000002,153.0,154.80000000000004,156.60000000000002,158.40000000000003,160.20000000000002,162.0,163.80000000000004,165.60000000000002,167.40000000000003,169.2,171.0,172.80000000000004,174.60000000000005,176.40000000000003,178.20000000000002,180.0],"y":[71.92209896444604,71.6875701954521,71.29390626910406,70.73682403444116,70.01009872280059,69.10531058114903,68.01147854269529,66.71454053370462,65.19661628390125,63.43494882292202,61.400351176590696,59.05485585651857,56.3480112156199,53.21073230852484,49.54437018626107,45.199416751649466,39.928291864675565,33.257679180093646,23.9932585490127,2.9575586669421963e-06,23.99325854901276,33.257679180093646,39.928291864675565,45.199416751649466,49.5443701862611,53.21073230852486,56.34801121561985,59.05485585651857,61.400351176590696,63.43494882292202,65.19661628390122,66.71454053370461,68.01147854269524,69.105310581149,70.01009872280056,70.73682403444116,71.29390626910406,71.68757019545207,71.92209896444601,71.99999999999997,71.92209896444604,71.68757019545207,71.29390626910403,70.7368240344411,70.01009872280059,69.10531058114897,68.01147854269527,66.71454053370458,65.19661628390121,63.43494882292198,61.40035117659067,59.05485585651851,56.34801121561985,53.21073230852484,49.54437018626104,45.1994167516494,39.92829186467553,33.257679180093646,23.993258549012637,2.4148365394514667e-06,23.993258549012882,33.257679180093696,39.9282918646756,45.1994167516495,49.5443701862611,53.21073230852486,56.34801121561993,59.05485585651857,61.400351176590696,63.43494882292202,65.19661628390125,66.71454053370461,68.01147854269529,69.10531058114903,70.0100987228006,70.73682403444116,71.29390626910406,71.6875701954521,71.92209896444606,72.00000000000003,71.92209896444604,71.68757019545207,71.29390626910406,70.73682403444113,70.01009872280059,69.10531058114903,68.01147854269524,66.71454053370461,65.19661628390125,63.43494882292202,61.40035117659064,59.05485585651853,56.3480112156199,53.21073230852484,49.54437018626107,45.19941675164944,39.92829186467553,33.257679180093696,23.993258549012637,0.0,23.99325854901276,33.257679180093696,39.92829186467553,45.1994167516495,49.54437018626107,53.21073230852486,56.3480112156199,59.05485585651853,61.40035117659067,63.43494882292202,65.19661628390128,66.71454053370461,68.01147854269529,69.10531058114903,70.0100987228006,70.73682403444116,71.29390626910406,71.68757019545207,71.92209896444604,72.0,71.92209896444608,71.68757019545207,71.29390626910406,70.73682403444113,70.01009872280059,69.105310581149,68.01147854269527,66.71454053370462,65.19661628390125,63.43494882292202,61.40035117659067,59.05485585651851,56.34801121561985,53.21073230852486,49.5443701862611,45.1994167516495,39.92829186467546,33.257679180093604,23.9932585490127,1.7075472925031877e-06,23.993258549012637,33.25767918009378,39.92829186467564,45.1994167516495,49.54437018626107,53.21073230852484,56.34801121561993,59.05485585651857,61.40035117659067,63.434948822921996,65.19661628390122,66.71454053370465,68.01147854269531,69.10531058114903,70.01009872280059,70.7368240344411,71.29390626910406,71.6875701954521,71.92209896444601,71.99999999999997,71.92209896444604,71.68757019545207,71.29390626910403,70.73682403444113,70.01009872280059,69.105310581149,68.01147854269524,66.71454053370458,65.19661628390121,63.43494882292202,61.40035117659061,59.05485585651848,56.34801121561985,53.21073230852484,49.54437018626107,45.19941675164934,39.92829186467546,33.257679180093604,23.99325854901258,0.0,23.993258549013007,33.25767918009383,39.92829186467564,45.1994167516495,49.54437018626113,53.210732308524946,56.34801121561993,59.05485585651857,61.400351176590696,63.43494882292202,65.19661628390128,66.71454053370461,68.01147854269529,69.10531058114903,70.0100987228006,70.73682403444116,71.29390626910406,71.6875701954521,71.92209896444604,72.0]}},"id":"4c8ae356-7034-4fc1-9e21-3c4aca3085e4","type":"ColumnDataSource"},{"attributes":{"line_color":{"value":"red"},"line_width":{"value":2},"x":{"field":"x"},"y":{"field":"y"}},"id":"20b87b70-998e-42ba-b3a4-71ae6392d29c","type":"Line"},{"attributes":{"callback":null,"end":180,"start":-180},"id":"1b537194-e780-4980-88c7-0a105f136c91","type":"Range1d"},{"attributes":{"callback":null,"end":100},"id":"a16d092e-fae7-43da-aa8b-bd92f748c1a9","type":"Range1d"},{"attributes":{"formatter":{"id":"7ede2ede-4624-42c0-a602-fb9dad158255","type":"BasicTickFormatter"},"plot":{"id":"f56906f1-f750-40c2-b1ea-e4b6785a33fb","subtype":"Figure","type":"Plot"},"ticker":{"id":"f9fc368f-2f66-4117-a42b-e3d3d6d8d60c","type":"BasicTicker"}},"id":"0da1a377-95a7-417f-831e-857091995ba5","type":"LinearAxis"},{"attributes":{"below":[{"id":"ec10775b-a53f-499a-bc1b-ed88211f6091","type":"LinearAxis"}],"left":[{"id":"0da1a377-95a7-417f-831e-857091995ba5","type":"LinearAxis"}],"plot_height":250,"plot_width":300,"renderers":[{"id":"ec10775b-a53f-499a-bc1b-ed88211f6091","type":"LinearAxis"},{"id":"fa25eeaa-f0f1-4cf3-bf26-9d9517a477d7","type":"Grid"},{"id":"0da1a377-95a7-417f-831e-857091995ba5","type":"LinearAxis"},{"id":"77d4610d-a846-40be-9755-634880da105d","type":"Grid"},{"id":"6108ecd4-dd19-4f7e-916f-45a1c9ac2d4a","type":"BoxAnnotation"},{"id":"3b77dec9-fa46-402f-ab01-95ef4a84adf8","type":"Legend"},{"id":"5f8d6721-0353-47c7-830c-6c3ff0386c3b","type":"GlyphRenderer"},{"id":"e32f3bd0-9b77-4a1f-9ed0-4ed3cfd2b865","type":"GlyphRenderer"}],"title":{"id":"26c1cd94-e80f-4f66-817a-e8640f359e95","type":"Title"},"tool_events":{"id":"03d13324-7f56-49c1-afd1-cc3356a0f65b","type":"ToolEvents"},"toolbar":{"id":"e9d43c98-9c2e-4ccf-9302-9f4b82c5f6e7","type":"Toolbar"},"x_range":{"id":"1b537194-e780-4980-88c7-0a105f136c91","type":"Range1d"},"y_range":{"id":"a16d092e-fae7-43da-aa8b-bd92f748c1a9","type":"Range1d"}},"id":"f56906f1-f750-40c2-b1ea-e4b6785a33fb","subtype":"Figure","type":"Plot"},{"attributes":{"formatter":{"id":"d1426ad3-2d44-44ea-ada9-38eb09e84310","type":"BasicTickFormatter"},"plot":{"id":"f56906f1-f750-40c2-b1ea-e4b6785a33fb","subtype":"Figure","type":"Plot"},"ticker":{"id":"7d2fd0f0-c9e3-4e84-a96d-1887b80f2983","type":"BasicTicker"}},"id":"ec10775b-a53f-499a-bc1b-ed88211f6091","type":"LinearAxis"},{"attributes":{"line_alpha":{"value":0.1},"line_color":{"value":"#1f77b4"},"line_width":{"value":2},"x":{"field":"x"},"y":{"field":"y"}},"id":"cf823903-97d5-4382-8b51-95ed36ccb3df","type":"Line"},{"attributes":{"background_fill_alpha":{"value":0.5},"legends":[["2acos||rV||",[{"id":"5f8d6721-0353-47c7-830c-6c3ff0386c3b","type":"GlyphRenderer"}]],["2acos||rE||",[{"id":"e32f3bd0-9b77-4a1f-9ed0-4ed3cfd2b865","type":"GlyphRenderer"}]]],"plot":{"id":"f56906f1-f750-40c2-b1ea-e4b6785a33fb","subtype":"Figure","type":"Plot"}},"id":"3b77dec9-fa46-402f-ab01-95ef4a84adf8","type":"Legend"},{"attributes":{},"id":"d1426ad3-2d44-44ea-ada9-38eb09e84310","type":"BasicTickFormatter"},{"attributes":{},"id":"f9fc368f-2f66-4117-a42b-e3d3d6d8d60c","type":"BasicTicker"},{"attributes":{"active_drag":"auto","active_scroll":"auto","active_tap":"auto","tools":[{"id":"af97f8c2-d873-41b4-9baf-33d228161d51","type":"PanTool"},{"id":"c7adabca-6ff1-499c-a084-a4054be17cd6","type":"WheelZoomTool"},{"id":"11c1db3c-806a-423c-a3d4-c6c37063e4ac","type":"BoxZoomTool"},{"id":"5f69c9ee-5d7e-4f4d-82bb-684aa8789f5d","type":"SaveTool"},{"id":"7e826b68-6937-4a84-982b-5132ecb20451","type":"ResetTool"},{"id":"912d332e-9afb-40ef-9d83-1e344549a65e","type":"HelpTool"}]},"id":"e9d43c98-9c2e-4ccf-9302-9f4b82c5f6e7","type":"Toolbar"},{"attributes":{"callback":null,"column_names":["y","x"],"data":{"x":[-178.20000000000002,-176.40000000000003,-174.6,-172.8,-171.0,-169.2,-167.40000000000003,-165.6,-163.80000000000004,-162.0,-160.20000000000002,-158.40000000000003,-156.6,-154.8,-153.0,-151.20000000000002,-149.40000000000003,-147.6,-145.8,-144.0,-142.20000000000002,-140.4,-138.6,-136.8,-135.0,-133.20000000000002,-131.40000000000003,-129.60000000000002,-127.79999999999998,-126.0,-124.2,-122.40000000000002,-120.60000000000001,-118.79999999999998,-117.0,-115.20000000000002,-113.4,-111.6,-109.8,-108.0,-106.20000000000002,-104.4,-102.60000000000001,-100.80000000000001,-99.00000000000001,-97.19999999999999,-95.4,-93.60000000000001,-91.8,-90.0,-88.2,-86.4,-84.6,-82.8,-81.0,-79.19999999999999,-77.39999999999999,-75.60000000000001,-73.8,-72.0,-70.2,-68.39999999999999,-66.60000000000001,-64.80000000000001,-63.0,-61.20000000000001,-59.39999999999999,-57.60000000000001,-55.79999999999999,-54.0,-52.20000000000002,-50.4,-48.6,-46.79999999999999,-45.0,-43.20000000000001,-41.4,-39.60000000000001,-37.79999999999999,-36.0,-34.20000000000001,-32.39999999999999,-30.600000000000005,-28.79999999999999,-27.0,-25.199999999999985,-23.399999999999995,-21.600000000000005,-19.79999999999999,-18.0,-16.199999999999985,-14.399999999999995,-12.600000000000005,-10.799999999999988,-9.0,-7.199999999999984,-5.399999999999994,-3.600000000000005,-1.7999999999999898,0.0,1.8000000000000154,3.600000000000005,5.399999999999994,7.20000000000001,9.0,10.800000000000017,12.600000000000005,14.399999999999995,16.20000000000001,18.0,19.800000000000015,21.600000000000005,23.40000000000002,25.20000000000001,27.0,28.800000000000015,30.600000000000005,32.40000000000002,34.20000000000001,36.0,37.80000000000001,39.60000000000001,41.40000000000002,43.20000000000001,45.0,46.80000000000001,48.6,50.40000000000002,52.20000000000002,54.0,55.79999999999999,57.60000000000003,59.40000000000002,61.20000000000001,63.0,64.79999999999998,66.60000000000004,68.40000000000002,70.2,72.0,73.8,75.60000000000002,77.40000000000002,79.20000000000002,81.0,82.8,84.60000000000004,86.40000000000002,88.20000000000002,90.0,91.79999999999998,93.60000000000002,95.40000000000002,97.2,99.00000000000001,100.8,102.60000000000002,104.40000000000003,106.20000000000002,108.0,109.8,111.60000000000004,113.40000000000002,115.20000000000002,117.0,118.80000000000004,120.60000000000004,122.40000000000002,124.2,126.0,127.80000000000004,129.60000000000002,131.40000000000003,133.20000000000002,135.0,136.80000000000004,138.60000000000002,140.4,142.20000000000002,144.0,145.80000000000004,147.60000000000005,149.40000000000003,151.20000000000002,153.0,154.80000000000004,156.60000000000002,158.40000000000003,160.20000000000002,162.0,163.80000000000004,165.60000000000002,167.40000000000003,169.2,171.0,172.80000000000004,174.60000000000005,176.40000000000003,178.20000000000002,180.0],"y":[71.98050973545507,71.921650732648,71.82223756358327,71.6802229172974,71.49258185857049,71.25513144416352,70.9622629735268,70.60654985531926,70.17817042119091,69.66404390641718,69.0465027463451,68.30117964337363,67.39349083183008,66.27243888099892,64.85885409013311,63.02076426242321,60.51407394694632,56.80535619039568,50.28472434137449,0.016444147483043806,50.28472434137449,56.805356190395706,60.51407394694629,63.020764262423185,64.85885409013312,66.27243888099892,67.39349083183004,68.30117964337362,69.04650274634511,69.66404390641718,70.17817042119091,70.60654985531924,70.9622629735268,71.25513144416352,71.49258185857049,71.6802229172974,71.82223756358327,71.92165073264798,71.9805097354551,72.0,71.9805097354551,71.92165073264798,71.82223756358324,71.68022291729741,71.49258185857049,71.25513144416352,70.96226297352678,70.60654985531926,70.17817042119091,69.6640439064172,69.04650274634507,68.3011796433736,67.39349083183008,66.27243888099892,64.85885409013308,63.020764262423185,60.51407394694627,56.80535619039565,50.2847243413744,0.01644414730573344,50.28472434137457,56.805356190395734,60.51407394694635,63.02076426242321,64.85885409013315,66.27243888099892,67.39349083183009,68.30117964337363,69.0465027463451,69.6640439064172,70.17817042119091,70.60654985531929,70.9622629735268,71.25513144416352,71.49258185857052,71.68022291729741,71.82223756358327,71.921650732648,71.9805097354551,72.0,71.98050973545513,71.921650732648,71.82223756358327,71.68022291729744,71.49258185857049,71.25513144416352,70.96226297352678,70.60654985531929,70.17817042119091,69.66404390641718,69.04650274634511,68.30117964337363,67.39349083183004,66.27243888099895,64.85885409013311,63.020764262423185,60.51407394694629,56.80535619039568,50.28472434137446,0.0,50.28472434137451,56.805356190395706,60.51407394694629,63.020764262423185,64.85885409013308,66.27243888099895,67.39349083183006,68.30117964337363,69.0465027463451,69.66404390641718,70.17817042119091,70.60654985531926,70.9622629735268,71.25513144416351,71.49258185857049,71.68022291729741,71.82223756358327,71.921650732648,71.9805097354551,72.00000000000003,71.9805097354551,71.921650732648,71.82223756358327,71.68022291729741,71.49258185857049,71.25513144416348,70.96226297352678,70.60654985531926,70.17817042119091,69.66404390641718,69.04650274634511,68.30117964337362,67.39349083183008,66.27243888099892,64.85885409013312,63.02076426242321,60.51407394694627,56.80535619039562,50.28472434137446,1.7075472925031877e-06,50.2847243413744,56.805356190395734,60.51407394694632,63.020764262423185,64.85885409013311,66.27243888099892,67.39349083183009,68.30117964337362,69.0465027463451,69.66404390641718,70.17817042119091,70.60654985531929,70.96226297352678,71.25513144416352,71.49258185857049,71.68022291729744,71.82223756358327,71.921650732648,71.9805097354551,72.0,71.98050973545507,71.921650732648,71.82223756358324,71.6802229172974,71.49258185857046,71.25513144416352,70.96226297352678,70.60654985531922,70.17817042119088,69.6640439064172,69.0465027463451,68.30117964337363,67.39349083183006,66.27243888099892,64.85885409013311,63.02076426242314,60.51407394694624,56.80535619039562,50.2847243413744,0.0,50.28472434137466,56.80535619039576,60.51407394694632,63.02076426242321,64.85885409013311,66.27243888099895,67.39349083183008,68.30117964337363,69.04650274634514,69.6640439064172,70.17817042119091,70.60654985531932,70.9622629735268,71.25513144416352,71.49258185857049,71.6802229172974,71.82223756358327,71.921650732648,71.98050973545507,72.00000000000003]}},"id":"c9c4d08f-990a-46ee-bfac-798196dd3973","type":"ColumnDataSource"},{"attributes":{"plot":null,"text":"r vector width VBIP"},"id":"26c1cd94-e80f-4f66-817a-e8640f359e95","type":"Title"}],"root_ids":["f56906f1-f750-40c2-b1ea-e4b6785a33fb"]},"title":"Bokeh Application","version":"0.12.2"}}; var render_items = [{"docid":"3779afed-9c7a-43de-8e85-07ae67c09a0a","elementid":"076df1ed-ce80-4be4-96ea-e7144ba7de44","modelid":"f56906f1-f750-40c2-b1ea-e4b6785a33fb"}]; Bokeh.embed.embed_items(docs_json, render_items); }); }, function(Bokeh) { } ]; function run_inline_js() { if ((window.Bokeh !== undefined) || (force === "1")) { for (var i = 0; i < inline_js.length; i++) { inline_js[i](window.Bokeh); }if (force === "1") { display_loaded(); }} else if (Date.now() < window._bokeh_timeout) { setTimeout(run_inline_js, 100); } else if (!window._bokeh_failed_load) { console.log("Bokeh: BokehJS failed to load within specified timeout."); window._bokeh_failed_load = true; } else if (!force) { var cell =$("#076df1ed-ce80-4be4-96ea-e7144ba7de44").parents('.cell').data().cell;
}

}

console.log("Bokeh: BokehJS loaded, going straight to plotting");
run_inline_js();
} else {
console.log("Bokeh: BokehJS plotting callback run at", now());
run_inline_js();
});
}
}(this));



Now the $\boldsymbol r_\mathrm{E}$ vector is perfectly controlled and the widths tend to have narrower notches.

## Multi-Direction Amplitude Panning (MDAP)

MDAP does the same as VBAP, but it always superimposes several sources to obtain the panning gains. One could describe it as

$$\boldsymbol{\tilde g}=\mathrm{VBAP}\{\varphi_\mathrm{s}-\textstyle\frac{\alpha}{2},\mathbf{X}\}+\mathrm{VBAP}\{\varphi_\mathrm{s},\mathbf{X}\}+\mathrm{VBAP}\{\varphi_\mathrm{s}+\textstyle\frac{\alpha}{2},\mathbf{X}\}\qquad\qquad \boldsymbol g=\frac{\boldsymbol{\tilde g}}{\|\boldsymbol{\tilde g}\|}$$


In [5]:

alpha=phils[1]-phils[0]
xys2=np.array([np.cos(phis-alpha/2),np.sin(phis-alpha/2)])
xys3=np.array([np.cos(phis+alpha/2),np.sin(phis+alpha/2)])

for n in range(0,Npts):
gn=vectorpan(xys[:,n],xyls,qh.simplices)
# lines inserted for MDAP
gn+=vectorpan(xys2[:,n],xyls,qh.simplices)
gn+=vectorpan(xys3[:,n],xyls,qh.simplices)
gn=np.abs(gn)
gn/=np.sqrt(np.sum(gn))
g[:,n]=gn

p5=figure(title="r vector direction MDAP",plot_width=300,plot_height=250)
p6=figure(title="r vector width MDAP",plot_width=300,plot_height=250,x_range=[-180,180],y_range=[0,100])

r=r_vector(g,phils)
mr=np.sqrt(np.sum(r**2,0))
p5.line(phis*180/np.pi,np.arctan2(r[0,:],r[1,:])*180/np.pi,legend="rV",line_width=2)
p6.line(phis*180/np.pi,2*np.arccos(mr)*180/np.pi,legend="2acos||rV||",line_width=2)
r=r_vector(g**2,phils)
mr=np.sqrt(np.sum(r**2,0))
p5.line(phis*180/np.pi,np.arctan2(r[0,:],r[1,:])*180/np.pi,legend="rE",color="red",line_width=2)
p6.line(phis*180/np.pi,2*np.arccos(mr)*180/np.pi,legend="2acos||rE||",color="red",line_width=2)
p5.legend.location="top_left"
p6.legend.background_fill_alpha = 0.5
show(p5)
show(p6)




(function(global) {
function now() {
return new Date();
}

var force = "";

if (typeof (window._bokeh_onload_callbacks) === "undefined" || force !== "") {
}

if (typeof (window._bokeh_timeout) === "undefined" || force !== "") {
window._bokeh_timeout = Date.now() + 0;
}

"<div style='background-color: #fdd'>\n"+
"<p>\n"+
"may be due to a slow or bad network connection. Possible fixes:\n"+
"</p>\n"+
"<ul>\n"+
"<li>re-rerun output_notebook() to attempt to load from CDN again, or</li>\n"+
"<li>use INLINE resources instead, as so:</li>\n"+
"</ul>\n"+
"<code>\n"+
"from bokeh.resources import INLINE\n"+
"output_notebook(resources=INLINE)\n"+
"</code>\n"+
"</div>"}};

if (window.Bokeh !== undefined) {
Bokeh.$("#73dadcf4-8170-48ef-8e9c-fd67630ba26b").text("BokehJS successfully loaded."); } else if (Date.now() < window._bokeh_timeout) { setTimeout(display_loaded, 100) } } function run_callbacks() { window._bokeh_onload_callbacks.forEach(function(callback) { callback() }); delete window._bokeh_onload_callbacks console.info("Bokeh: all callbacks have finished"); } function load_libs(js_urls, callback) { window._bokeh_onload_callbacks.push(callback); if (window._bokeh_is_loading > 0) { console.log("Bokeh: BokehJS is being loaded, scheduling callback at", now()); return null; } if (js_urls == null || js_urls.length === 0) { run_callbacks(); return null; } console.log("Bokeh: BokehJS not loaded, scheduling load and callback at", now()); window._bokeh_is_loading = js_urls.length; for (var i = 0; i < js_urls.length; i++) { var url = js_urls[i]; var s = document.createElement('script'); s.src = url; s.async = false; s.onreadystatechange = s.onload = function() { window._bokeh_is_loading--; if (window._bokeh_is_loading === 0) { console.log("Bokeh: all BokehJS libraries loaded"); run_callbacks() } }; s.onerror = function() { console.warn("failed to load library " + url); }; console.log("Bokeh: injecting script tag for BokehJS library: ", url); document.getElementsByTagName("head")[0].appendChild(s); } };var element = document.getElementById("73dadcf4-8170-48ef-8e9c-fd67630ba26b"); if (element == null) { console.log("Bokeh: ERROR: autoload.js configured with elementid '73dadcf4-8170-48ef-8e9c-fd67630ba26b' but no matching script tag was found. ") return false; } var js_urls = []; var inline_js = [ function(Bokeh) { Bokeh.$(function() {
var docs_json = {"ea0b0997-64e2-4e94-80f2-fbf0fabbbaa2":{"roots":{"references":[{"attributes":{"plot":{"id":"9a49a22c-8f79-4e09-8d70-5ea1ca4c9518","subtype":"Figure","type":"Plot"}},"id":"117d26d5-bdbe-427e-8469-862627421743","type":"SaveTool"},{"attributes":{},"id":"5cb7ef20-f8f7-4638-ab45-848665ed80dc","type":"BasicTicker"},{"attributes":{"active_drag":"auto","active_scroll":"auto","active_tap":"auto","tools":[{"id":"1185c5d3-f2a4-46a5-a47b-36bc6b4cd3be","type":"PanTool"},{"id":"d87f54e1-4728-4821-b48e-4521f946b0c6","type":"WheelZoomTool"},{"id":"02aaebed-63ea-412b-a1da-05a4387f5e05","type":"BoxZoomTool"},{"id":"117d26d5-bdbe-427e-8469-862627421743","type":"SaveTool"},{"id":"ec97e910-4a0d-4a29-aebc-e35963e7a72a","type":"ResetTool"},{"id":"29dcf0a7-29f0-4ec4-9028-e122c0641203","type":"HelpTool"}]},"id":"4001114e-4c10-4473-8708-2dfc421c6a3d","type":"Toolbar"},{"attributes":{},"id":"be5813bb-c863-4703-b4c8-69ab1d2020d6","type":"ToolEvents"},{"attributes":{"plot":{"id":"9a49a22c-8f79-4e09-8d70-5ea1ca4c9518","subtype":"Figure","type":"Plot"}},"id":"ec97e910-4a0d-4a29-aebc-e35963e7a72a","type":"ResetTool"},{"attributes":{"callback":null},"id":"092316d3-8e95-44fb-ae1c-7c3da7131a61","type":"DataRange1d"},{"attributes":{"plot":null,"text":"r vector direction MDAP"},"id":"17a6c830-a75e-4c5c-ac47-2c35ae98328f","type":"Title"},{"attributes":{"plot":{"id":"9a49a22c-8f79-4e09-8d70-5ea1ca4c9518","subtype":"Figure","type":"Plot"}},"id":"29dcf0a7-29f0-4ec4-9028-e122c0641203","type":"HelpTool"},{"attributes":{"dimension":1,"plot":{"id":"9a49a22c-8f79-4e09-8d70-5ea1ca4c9518","subtype":"Figure","type":"Plot"},"ticker":{"id":"1dca5c6c-f1c5-4a0a-9a7c-2f4295c363c1","type":"BasicTicker"}},"id":"d4d252ca-ba21-4958-9008-1583506ed8c6","type":"Grid"},{"attributes":{"line_color":{"value":"red"},"line_width":{"value":2},"x":{"field":"x"},"y":{"field":"y"}},"id":"06572244-05c7-4b37-8fc9-8b6db958f54c","type":"Line"},{"attributes":{"overlay":{"id":"00b28626-55fe-4767-abc3-5510d2a04598","type":"BoxAnnotation"},"plot":{"id":"9a49a22c-8f79-4e09-8d70-5ea1ca4c9518","subtype":"Figure","type":"Plot"}},"id":"02aaebed-63ea-412b-a1da-05a4387f5e05","type":"BoxZoomTool"},{"attributes":{"legends":[["rV",[{"id":"8f6840eb-932b-46a4-ba5c-242b4c531ab7","type":"GlyphRenderer"}]],["rE",[{"id":"9ddb6998-ea53-4985-9c71-391066ce12d8","type":"GlyphRenderer"}]]],"location":"top_left","plot":{"id":"9a49a22c-8f79-4e09-8d70-5ea1ca4c9518","subtype":"Figure","type":"Plot"}},"id":"be6326d2-2c9a-4204-815d-3a7af7d4a74c","type":"Legend"},{"attributes":{"data_source":{"id":"8db64d82-603e-4c13-bd70-4d02efdfdfc9","type":"ColumnDataSource"},"glyph":{"id":"06572244-05c7-4b37-8fc9-8b6db958f54c","type":"Line"},"hover_glyph":null,"nonselection_glyph":{"id":"8a40c607-cafc-4bb4-b800-1a66936b31d0","type":"Line"},"selection_glyph":null},"id":"9ddb6998-ea53-4985-9c71-391066ce12d8","type":"GlyphRenderer"},{"attributes":{},"id":"98ede0dd-af22-4882-89a5-eb540ae722d2","type":"BasicTickFormatter"},{"attributes":{"bottom_units":"screen","fill_alpha":{"value":0.5},"fill_color":{"value":"lightgrey"},"left_units":"screen","level":"overlay","line_alpha":{"value":1.0},"line_color":{"value":"black"},"line_dash":[4,4],"line_width":{"value":2},"plot":null,"render_mode":"css","right_units":"screen","top_units":"screen"},"id":"00b28626-55fe-4767-abc3-5510d2a04598","type":"BoxAnnotation"},{"attributes":{"callback":null},"id":"be06f702-1e5f-4080-ac71-6eb0cc36690f","type":"DataRange1d"},{"attributes":{"callback":null,"column_names":["y","x"],"data":{"x":[-178.20000000000002,-176.40000000000003,-174.6,-172.8,-171.0,-169.2,-167.40000000000003,-165.6,-163.80000000000004,-162.0,-160.20000000000002,-158.40000000000003,-156.6,-154.8,-153.0,-151.20000000000002,-149.40000000000003,-147.6,-145.8,-144.0,-142.20000000000002,-140.4,-138.6,-136.8,-135.0,-133.20000000000002,-131.40000000000003,-129.60000000000002,-127.79999999999998,-126.0,-124.2,-122.40000000000002,-120.60000000000001,-118.79999999999998,-117.0,-115.20000000000002,-113.4,-111.6,-109.8,-108.0,-106.20000000000002,-104.4,-102.60000000000001,-100.80000000000001,-99.00000000000001,-97.19999999999999,-95.4,-93.60000000000001,-91.8,-90.0,-88.2,-86.4,-84.6,-82.8,-81.0,-79.19999999999999,-77.39999999999999,-75.60000000000001,-73.8,-72.0,-70.2,-68.39999999999999,-66.60000000000001,-64.80000000000001,-63.0,-61.20000000000001,-59.39999999999999,-57.60000000000001,-55.79999999999999,-54.0,-52.20000000000002,-50.4,-48.6,-46.79999999999999,-45.0,-43.20000000000001,-41.4,-39.60000000000001,-37.79999999999999,-36.0,-34.20000000000001,-32.39999999999999,-30.600000000000005,-28.79999999999999,-27.0,-25.199999999999985,-23.399999999999995,-21.600000000000005,-19.79999999999999,-18.0,-16.199999999999985,-14.399999999999995,-12.600000000000005,-10.799999999999988,-9.0,-7.199999999999984,-5.399999999999994,-3.600000000000005,-1.7999999999999898,0.0,1.8000000000000154,3.600000000000005,5.399999999999994,7.20000000000001,9.0,10.800000000000017,12.600000000000005,14.399999999999995,16.20000000000001,18.0,19.800000000000015,21.600000000000005,23.40000000000002,25.20000000000001,27.0,28.800000000000015,30.600000000000005,32.40000000000002,34.20000000000001,36.0,37.80000000000001,39.60000000000001,41.40000000000002,43.20000000000001,45.0,46.80000000000001,48.6,50.40000000000002,52.20000000000002,54.0,55.79999999999999,57.60000000000003,59.40000000000002,61.20000000000001,63.0,64.79999999999998,66.60000000000004,68.40000000000002,70.2,72.0,73.8,75.60000000000002,77.40000000000002,79.20000000000002,81.0,82.8,84.60000000000004,86.40000000000002,88.20000000000002,90.0,91.79999999999998,93.60000000000002,95.40000000000002,97.2,99.00000000000001,100.8,102.60000000000002,104.40000000000003,106.20000000000002,108.0,109.8,111.60000000000004,113.40000000000002,115.20000000000002,117.0,118.80000000000004,120.60000000000004,122.40000000000002,124.2,126.0,127.80000000000004,129.60000000000002,131.40000000000003,133.20000000000002,135.0,136.80000000000004,138.60000000000002,140.4,142.20000000000002,144.0,145.80000000000004,147.60000000000005,149.40000000000003,151.20000000000002,153.0,154.80000000000004,156.60000000000002,158.40000000000003,160.20000000000002,162.0,163.80000000000004,165.60000000000002,167.40000000000003,169.2,171.0,172.80000000000004,174.60000000000005,176.40000000000003,178.20000000000002,180.0],"y":[-178.20000000000002,-176.40000000000003,-174.6,-172.8,-171.0,-169.2,-167.40000000000003,-165.6,-163.80000000000004,-162.0,-160.20000000000002,-158.40000000000003,-156.6,-154.8,-153.0,-151.20000000000002,-149.40000000000003,-147.6,-145.8,-144.0,-142.20000000000002,-140.4,-138.6,-136.8,-135.0,-133.20000000000002,-131.40000000000003,-129.60000000000002,-127.79999999999998,-126.0,-124.2,-122.40000000000002,-120.60000000000004,-118.79999999999998,-117.0,-115.20000000000002,-113.40000000000002,-111.60000000000002,-109.8,-108.00000000000001,-106.20000000000003,-104.40000000000003,-102.60000000000001,-100.80000000000001,-99.00000000000001,-97.2,-95.40000000000002,-93.60000000000002,-91.8,-90.0,-88.2,-86.40000000000002,-84.6,-82.8,-81.0,-79.20000000000002,-77.39999999999999,-75.60000000000001,-73.8,-72.0,-70.2,-68.39999999999999,-66.60000000000001,-64.80000000000001,-63.0,-61.20000000000001,-59.39999999999999,-57.60000000000001,-55.8,-54.0,-52.20000000000002,-50.4,-48.6,-46.800000000000004,-45.00000000000001,-43.2,-41.4,-39.60000000000001,-37.79999999999998,-36.000000000000014,-34.20000000000002,-32.39999999999999,-30.60000000000001,-28.799999999999983,-26.999999999999993,-25.19999999999999,-23.399999999999988,-21.600000000000012,-19.799999999999994,-18.0,-16.19999999999999,-14.399999999999999,-12.600000000000005,-10.799999999999995,-8.999999999999998,-7.199999999999988,-5.399999999999997,-3.6000000000000068,-1.799999999999992,-2.26373688425187e-15,1.800000000000015,3.600000000000006,5.399999999999994,7.200000000000009,8.999999999999996,10.800000000000011,12.599999999999996,14.400000000000002,16.20000000000001,17.999999999999996,19.800000000000004,21.6,23.40000000000002,25.200000000000003,27.0,28.800000000000008,30.600000000000005,32.40000000000002,34.20000000000001,36.0,37.80000000000001,39.60000000000001,41.40000000000002,43.2,44.99999999999999,46.80000000000001,48.6,50.40000000000002,52.20000000000002,54.0,55.79999999999999,57.60000000000003,59.40000000000002,61.20000000000001,63.0,64.79999999999998,66.60000000000004,68.40000000000002,70.2,72.0,73.8,75.60000000000002,77.40000000000002,79.20000000000002,81.0,82.8,84.60000000000002,86.40000000000002,88.20000000000002,90.0,91.8,93.60000000000004,95.40000000000002,97.2,99.00000000000001,100.80000000000001,102.60000000000002,104.40000000000003,106.20000000000003,108.00000000000001,109.8,111.60000000000005,113.40000000000003,115.20000000000002,117.0,118.80000000000004,120.60000000000004,122.40000000000002,124.2,126.0,127.80000000000004,129.60000000000002,131.40000000000003,133.20000000000002,135.0,136.80000000000004,138.60000000000002,140.4,142.20000000000002,144.0,145.80000000000004,147.60000000000005,149.40000000000003,151.20000000000002,153.0,154.80000000000004,156.60000000000002,158.40000000000003,160.20000000000002,162.0,163.80000000000004,165.60000000000002,167.40000000000003,169.2,171.0,172.80000000000004,174.60000000000005,176.40000000000003,178.20000000000002,180.0]}},"id":"8881ff4b-2ef8-488c-a24c-226dc3c42f1d","type":"ColumnDataSource"},{"attributes":{"plot":{"id":"9a49a22c-8f79-4e09-8d70-5ea1ca4c9518","subtype":"Figure","type":"Plot"}},"id":"1185c5d3-f2a4-46a5-a47b-36bc6b4cd3be","type":"PanTool"},{"attributes":{"formatter":{"id":"98ede0dd-af22-4882-89a5-eb540ae722d2","type":"BasicTickFormatter"},"plot":{"id":"9a49a22c-8f79-4e09-8d70-5ea1ca4c9518","subtype":"Figure","type":"Plot"},"ticker":{"id":"1dca5c6c-f1c5-4a0a-9a7c-2f4295c363c1","type":"BasicTicker"}},"id":"28aff9aa-3e7f-4b56-ac4a-bce074dfd057","type":"LinearAxis"},{"attributes":{"plot":{"id":"9a49a22c-8f79-4e09-8d70-5ea1ca4c9518","subtype":"Figure","type":"Plot"},"ticker":{"id":"5cb7ef20-f8f7-4638-ab45-848665ed80dc","type":"BasicTicker"}},"id":"85e6f52c-0e2e-4ebd-88b8-51a5e7bbc0c2","type":"Grid"},{"attributes":{"line_alpha":{"value":0.1},"line_color":{"value":"#1f77b4"},"line_width":{"value":2},"x":{"field":"x"},"y":{"field":"y"}},"id":"8a40c607-cafc-4bb4-b800-1a66936b31d0","type":"Line"},{"attributes":{"data_source":{"id":"8881ff4b-2ef8-488c-a24c-226dc3c42f1d","type":"ColumnDataSource"},"glyph":{"id":"24ecd6c5-8bc0-46a6-82eb-57bc038e4da5","type":"Line"},"hover_glyph":null,"nonselection_glyph":{"id":"15e88cdd-2c63-458a-8a8a-46f9e8912424","type":"Line"},"selection_glyph":null},"id":"8f6840eb-932b-46a4-ba5c-242b4c531ab7","type":"GlyphRenderer"},{"attributes":{},"id":"1dca5c6c-f1c5-4a0a-9a7c-2f4295c363c1","type":"BasicTicker"},{"attributes":{},"id":"651e113a-de9e-4d06-90b2-f2ef916eba9b","type":"BasicTickFormatter"},{"attributes":{"plot":{"id":"9a49a22c-8f79-4e09-8d70-5ea1ca4c9518","subtype":"Figure","type":"Plot"}},"id":"d87f54e1-4728-4821-b48e-4521f946b0c6","type":"WheelZoomTool"},{"attributes":{"below":[{"id":"72c8edcc-b6f9-4eea-8d42-1af251c5a1f4","type":"LinearAxis"}],"left":[{"id":"28aff9aa-3e7f-4b56-ac4a-bce074dfd057","type":"LinearAxis"}],"plot_height":250,"plot_width":300,"renderers":[{"id":"72c8edcc-b6f9-4eea-8d42-1af251c5a1f4","type":"LinearAxis"},{"id":"85e6f52c-0e2e-4ebd-88b8-51a5e7bbc0c2","type":"Grid"},{"id":"28aff9aa-3e7f-4b56-ac4a-bce074dfd057","type":"LinearAxis"},{"id":"d4d252ca-ba21-4958-9008-1583506ed8c6","type":"Grid"},{"id":"00b28626-55fe-4767-abc3-5510d2a04598","type":"BoxAnnotation"},{"id":"be6326d2-2c9a-4204-815d-3a7af7d4a74c","type":"Legend"},{"id":"8f6840eb-932b-46a4-ba5c-242b4c531ab7","type":"GlyphRenderer"},{"id":"9ddb6998-ea53-4985-9c71-391066ce12d8","type":"GlyphRenderer"}],"title":{"id":"17a6c830-a75e-4c5c-ac47-2c35ae98328f","type":"Title"},"tool_events":{"id":"be5813bb-c863-4703-b4c8-69ab1d2020d6","type":"ToolEvents"},"toolbar":{"id":"4001114e-4c10-4473-8708-2dfc421c6a3d","type":"Toolbar"},"x_range":{"id":"092316d3-8e95-44fb-ae1c-7c3da7131a61","type":"DataRange1d"},"y_range":{"id":"be06f702-1e5f-4080-ac71-6eb0cc36690f","type":"DataRange1d"}},"id":"9a49a22c-8f79-4e09-8d70-5ea1ca4c9518","subtype":"Figure","type":"Plot"},{"attributes":{"callback":null,"column_names":["y","x"],"data":{"x":[-178.20000000000002,-176.40000000000003,-174.6,-172.8,-171.0,-169.2,-167.40000000000003,-165.6,-163.80000000000004,-162.0,-160.20000000000002,-158.40000000000003,-156.6,-154.8,-153.0,-151.20000000000002,-149.40000000000003,-147.6,-145.8,-144.0,-142.20000000000002,-140.4,-138.6,-136.8,-135.0,-133.20000000000002,-131.40000000000003,-129.60000000000002,-127.79999999999998,-126.0,-124.2,-122.40000000000002,-120.60000000000001,-118.79999999999998,-117.0,-115.20000000000002,-113.4,-111.6,-109.8,-108.0,-106.20000000000002,-104.4,-102.60000000000001,-100.80000000000001,-99.00000000000001,-97.19999999999999,-95.4,-93.60000000000001,-91.8,-90.0,-88.2,-86.4,-84.6,-82.8,-81.0,-79.19999999999999,-77.39999999999999,-75.60000000000001,-73.8,-72.0,-70.2,-68.39999999999999,-66.60000000000001,-64.80000000000001,-63.0,-61.20000000000001,-59.39999999999999,-57.60000000000001,-55.79999999999999,-54.0,-52.20000000000002,-50.4,-48.6,-46.79999999999999,-45.0,-43.20000000000001,-41.4,-39.60000000000001,-37.79999999999999,-36.0,-34.20000000000001,-32.39999999999999,-30.600000000000005,-28.79999999999999,-27.0,-25.199999999999985,-23.399999999999995,-21.600000000000005,-19.79999999999999,-18.0,-16.199999999999985,-14.399999999999995,-12.600000000000005,-10.799999999999988,-9.0,-7.199999999999984,-5.399999999999994,-3.600000000000005,-1.7999999999999898,0.0,1.8000000000000154,3.600000000000005,5.399999999999994,7.20000000000001,9.0,10.800000000000017,12.600000000000005,14.399999999999995,16.20000000000001,18.0,19.800000000000015,21.600000000000005,23.40000000000002,25.20000000000001,27.0,28.800000000000015,30.600000000000005,32.40000000000002,34.20000000000001,36.0,37.80000000000001,39.60000000000001,41.40000000000002,43.20000000000001,45.0,46.80000000000001,48.6,50.40000000000002,52.20000000000002,54.0,55.79999999999999,57.60000000000003,59.40000000000002,61.20000000000001,63.0,64.79999999999998,66.60000000000004,68.40000000000002,70.2,72.0,73.8,75.60000000000002,77.40000000000002,79.20000000000002,81.0,82.8,84.60000000000004,86.40000000000002,88.20000000000002,90.0,91.79999999999998,93.60000000000002,95.40000000000002,97.2,99.00000000000001,100.8,102.60000000000002,104.40000000000003,106.20000000000002,108.0,109.8,111.60000000000004,113.40000000000002,115.20000000000002,117.0,118.80000000000004,120.60000000000004,122.40000000000002,124.2,126.0,127.80000000000004,129.60000000000002,131.40000000000003,133.20000000000002,135.0,136.80000000000004,138.60000000000002,140.4,142.20000000000002,144.0,145.80000000000004,147.60000000000005,149.40000000000003,151.20000000000002,153.0,154.80000000000004,156.60000000000002,158.40000000000003,160.20000000000002,162.0,163.80000000000004,165.60000000000002,167.40000000000003,169.2,171.0,172.80000000000004,174.60000000000005,176.40000000000003,178.20000000000002,180.0],"y":[-177.77158471908967,-175.5435847854068,-173.32684167445456,-171.13168763921848,-168.96776490796188,-166.84387870056457,-164.76788993407075,-162.7466499421395,-160.78597621506066,-158.89066543821556,-157.0645381795943,-155.31050850891228,-153.63067155137992,-152.02640233308875,-150.4984600694071,-149.0470930913439,-147.67214073401658,-146.3731296034698,-145.14936261339332,-144.0,-142.8506373866067,-141.62687039653022,-140.32785926598342,-138.95290690865616,-137.50153993059288,-135.97359766691127,-134.36932844862014,-132.68949149108775,-130.93546182040572,-129.10933456178444,-127.21402378493939,-125.25335005786053,-123.23211006592928,-121.1561212994354,-119.03223509203814,-116.86831236078156,-114.67315832554544,-112.45641521459322,-110.22841528091035,-108.0,-105.77158471908967,-103.54358478540682,-101.32684167445457,-99.13168763921846,-96.96776490796188,-94.84387870056462,-92.76788993407077,-90.7466499421395,-88.78597621506063,-86.89066543821558,-85.06453817959431,-83.31050850891228,-81.63067155137993,-80.02640233308875,-78.49846006940709,-77.04709309134387,-75.67214073401657,-74.3731296034698,-73.14936261339334,-72.00000000000001,-70.85063738660669,-69.6268703965302,-68.32785926598343,-66.95290690865616,-65.50153993059293,-63.97359766691127,-62.36932844862006,-60.68949149108777,-58.935461820405706,-57.109334561784415,-55.214023784939386,-53.253350057860516,-51.23211006592926,-49.15612129943539,-47.03223509203812,-44.868312360781545,-42.673158325545444,-40.45641521459322,-38.22841528091033,-36.00000000000001,-33.77158471908967,-31.543584785406765,-29.326841674454577,-27.131687639218445,-24.96776490796186,-22.843878700564574,-20.767889934070734,-18.74664994213949,-16.785976215060618,-14.890665438215587,-13.06453817959427,-11.310508508912243,-9.630671551379924,-8.026402333088738,-6.498460069407087,-5.047093091343849,-3.672140734016566,-2.3731296034698075,-1.1493626133933101,-5.272715286454737e-16,1.1493626133933281,2.3731296034698066,3.672140734016566,5.047093091343866,6.498460069407085,8.026402333088756,9.630671551379924,11.310508508912244,13.064538179594296,14.890665438215585,16.785976215060643,18.74664994213949,20.76788993407076,22.843878700564588,24.96776490796187,27.131687639218477,29.326841674454577,31.54358478540681,33.77158471908967,35.99999999999999,38.22841528091036,40.45641521459322,42.67315832554546,44.868312360781545,47.03223509203812,49.15612129943542,51.23211006592926,53.25335005786053,55.21402378493937,57.109334561784415,58.9354618204057,60.6894914910878,62.36932844862009,63.97359766691127,65.5015399305929,66.95290690865613,68.32785926598345,69.62687039653021,70.85063738660669,72.0,73.14936261339331,74.37312960346983,75.6721407340166,77.04709309134387,78.49846006940709,80.02640233308874,81.63067155137993,83.31050850891228,85.06453817959431,86.89066543821558,88.78597621506063,90.74664994213954,92.76788993407077,94.84387870056462,96.9677649079619,99.13168763921844,101.32684167445461,103.54358478540681,105.77158471908967,108.0,110.22841528091035,112.45641521459325,114.67315832554544,116.86831236078156,119.03223509203814,121.15612129943545,123.23211006592929,125.25335005786053,127.21402378493939,129.10933456178444,130.93546182040575,132.68949149108778,134.36932844862008,135.97359766691127,137.50153993059288,138.95290690865616,140.32785926598348,141.62687039653022,142.8506373866067,144.0,145.14936261339332,146.37312960346983,147.67214073401658,149.0470930913439,150.49846006940712,152.02640233308878,153.63067155137998,155.31050850891228,157.0645381795943,158.8906654382156,160.78597621506066,162.7466499421395,164.76788993407075,166.84387870056463,168.96776490796188,171.1316876392185,173.3268416744546,175.5435847854068,177.77158471908967,180.0]}},"id":"8db64d82-603e-4c13-bd70-4d02efdfdfc9","type":"ColumnDataSource"},{"attributes":{"line_color":{"value":"#1f77b4"},"line_width":{"value":2},"x":{"field":"x"},"y":{"field":"y"}},"id":"24ecd6c5-8bc0-46a6-82eb-57bc038e4da5","type":"Line"},{"attributes":{"formatter":{"id":"651e113a-de9e-4d06-90b2-f2ef916eba9b","type":"BasicTickFormatter"},"plot":{"id":"9a49a22c-8f79-4e09-8d70-5ea1ca4c9518","subtype":"Figure","type":"Plot"},"ticker":{"id":"5cb7ef20-f8f7-4638-ab45-848665ed80dc","type":"BasicTicker"}},"id":"72c8edcc-b6f9-4eea-8d42-1af251c5a1f4","type":"LinearAxis"},{"attributes":{"line_alpha":{"value":0.1},"line_color":{"value":"#1f77b4"},"line_width":{"value":2},"x":{"field":"x"},"y":{"field":"y"}},"id":"15e88cdd-2c63-458a-8a8a-46f9e8912424","type":"Line"}],"root_ids":["9a49a22c-8f79-4e09-8d70-5ea1ca4c9518"]},"title":"Bokeh Application","version":"0.12.2"}};

Bokeh.embed.embed_items(docs_json, render_items);
});
},
function(Bokeh) {
}
];

function run_inline_js() {

if ((window.Bokeh !== undefined) || (force === "1")) {
for (var i = 0; i < inline_js.length; i++) {
inline_js[i](window.Bokeh);
}if (force === "1") {
}} else if (Date.now() < window._bokeh_timeout) {
setTimeout(run_inline_js, 100);
console.log("Bokeh: BokehJS failed to load within specified timeout.");
} else if (!force) {
var cell = $("#73dadcf4-8170-48ef-8e9c-fd67630ba26b").parents('.cell').data().cell; cell.output_area.append_execute_result(NB_LOAD_WARNING) } } if (window._bokeh_is_loading === 0) { console.log("Bokeh: BokehJS loaded, going straight to plotting"); run_inline_js(); } else { load_libs(js_urls, function() { console.log("Bokeh: BokehJS plotting callback run at", now()); run_inline_js(); }); } }(this)); (function(global) { function now() { return new Date(); } var force = ""; if (typeof (window._bokeh_onload_callbacks) === "undefined" || force !== "") { window._bokeh_onload_callbacks = []; window._bokeh_is_loading = undefined; } if (typeof (window._bokeh_timeout) === "undefined" || force !== "") { window._bokeh_timeout = Date.now() + 0; window._bokeh_failed_load = false; } var NB_LOAD_WARNING = {'data': {'text/html': "<div style='background-color: #fdd'>\n"+ "<p>\n"+ "BokehJS does not appear to have successfully loaded. If loading BokehJS from CDN, this \n"+ "may be due to a slow or bad network connection. Possible fixes:\n"+ "</p>\n"+ "<ul>\n"+ "<li>re-rerun output_notebook() to attempt to load from CDN again, or</li>\n"+ "<li>use INLINE resources instead, as so:</li>\n"+ "</ul>\n"+ "<code>\n"+ "from bokeh.resources import INLINE\n"+ "output_notebook(resources=INLINE)\n"+ "</code>\n"+ "</div>"}}; function display_loaded() { if (window.Bokeh !== undefined) { Bokeh.$("#dd0204d5-45aa-4da7-bd2a-04d130590a39").text("BokehJS successfully loaded.");
} else if (Date.now() < window._bokeh_timeout) {
}
}

function run_callbacks() {
console.info("Bokeh: all callbacks have finished");
}

console.log("Bokeh: BokehJS is being loaded, scheduling callback at", now());
return null;
}
if (js_urls == null || js_urls.length === 0) {
run_callbacks();
return null;
}
for (var i = 0; i < js_urls.length; i++) {
var url = js_urls[i];
var s = document.createElement('script');
s.src = url;
s.async = false;
run_callbacks()
}
};
s.onerror = function() {
console.warn("failed to load library " + url);
};
console.log("Bokeh: injecting script tag for BokehJS library: ", url);
}
};var element = document.getElementById("dd0204d5-45aa-4da7-bd2a-04d130590a39");
if (element == null) {
console.log("Bokeh: ERROR: autoload.js configured with elementid 'dd0204d5-45aa-4da7-bd2a-04d130590a39' but no matching script tag was found. ")
return false;
}

var js_urls = [];

var inline_js = [
function(Bokeh) {
Bokeh.$(function() { var docs_json = {"da4ee0aa-687c-4046-958f-e936b91ef027":{"roots":{"references":[{"attributes":{"below":[{"id":"daf55a7b-ae39-44b6-9c3f-94bc997b6410","type":"LinearAxis"}],"left":[{"id":"afa4608b-1b5b-4f52-bdc9-19e1d3ca3f9e","type":"LinearAxis"}],"plot_height":250,"plot_width":300,"renderers":[{"id":"daf55a7b-ae39-44b6-9c3f-94bc997b6410","type":"LinearAxis"},{"id":"8d1cc5f8-ea1f-4119-bc58-f10cf5aeee23","type":"Grid"},{"id":"afa4608b-1b5b-4f52-bdc9-19e1d3ca3f9e","type":"LinearAxis"},{"id":"7f254887-484e-477d-95bd-205ab7fd73ed","type":"Grid"},{"id":"0717b454-6f89-432e-9cef-ba4a032fb4d4","type":"BoxAnnotation"},{"id":"a0524709-4e02-438a-9a6f-a72938ac8e1a","type":"Legend"},{"id":"444436ba-687c-492b-8f01-166717bd66da","type":"GlyphRenderer"},{"id":"fc05dfa2-fb21-4285-9407-be68a1165dda","type":"GlyphRenderer"}],"title":{"id":"fd8bd50b-ad77-410a-8d5f-8d01b5b7a33f","type":"Title"},"tool_events":{"id":"7c142ea1-34af-4fe0-9b70-ed82033c2d05","type":"ToolEvents"},"toolbar":{"id":"949bd242-e9ef-4bed-a0b0-c906a223f15b","type":"Toolbar"},"x_range":{"id":"2e84167c-5823-43c2-b0a5-86d164d20e7b","type":"Range1d"},"y_range":{"id":"7c213b1e-87a8-4811-8541-6bcdc1c45635","type":"Range1d"}},"id":"c28a8def-37f8-448a-8990-9d052b0f1c23","subtype":"Figure","type":"Plot"},{"attributes":{"callback":null,"end":180,"start":-180},"id":"2e84167c-5823-43c2-b0a5-86d164d20e7b","type":"Range1d"},{"attributes":{"callback":null,"column_names":["y","x"],"data":{"x":[-178.20000000000002,-176.40000000000003,-174.6,-172.8,-171.0,-169.2,-167.40000000000003,-165.6,-163.80000000000004,-162.0,-160.20000000000002,-158.40000000000003,-156.6,-154.8,-153.0,-151.20000000000002,-149.40000000000003,-147.6,-145.8,-144.0,-142.20000000000002,-140.4,-138.6,-136.8,-135.0,-133.20000000000002,-131.40000000000003,-129.60000000000002,-127.79999999999998,-126.0,-124.2,-122.40000000000002,-120.60000000000001,-118.79999999999998,-117.0,-115.20000000000002,-113.4,-111.6,-109.8,-108.0,-106.20000000000002,-104.4,-102.60000000000001,-100.80000000000001,-99.00000000000001,-97.19999999999999,-95.4,-93.60000000000001,-91.8,-90.0,-88.2,-86.4,-84.6,-82.8,-81.0,-79.19999999999999,-77.39999999999999,-75.60000000000001,-73.8,-72.0,-70.2,-68.39999999999999,-66.60000000000001,-64.80000000000001,-63.0,-61.20000000000001,-59.39999999999999,-57.60000000000001,-55.79999999999999,-54.0,-52.20000000000002,-50.4,-48.6,-46.79999999999999,-45.0,-43.20000000000001,-41.4,-39.60000000000001,-37.79999999999999,-36.0,-34.20000000000001,-32.39999999999999,-30.600000000000005,-28.79999999999999,-27.0,-25.199999999999985,-23.399999999999995,-21.600000000000005,-19.79999999999999,-18.0,-16.199999999999985,-14.399999999999995,-12.600000000000005,-10.799999999999988,-9.0,-7.199999999999984,-5.399999999999994,-3.600000000000005,-1.7999999999999898,0.0,1.8000000000000154,3.600000000000005,5.399999999999994,7.20000000000001,9.0,10.800000000000017,12.600000000000005,14.399999999999995,16.20000000000001,18.0,19.800000000000015,21.600000000000005,23.40000000000002,25.20000000000001,27.0,28.800000000000015,30.600000000000005,32.40000000000002,34.20000000000001,36.0,37.80000000000001,39.60000000000001,41.40000000000002,43.20000000000001,45.0,46.80000000000001,48.6,50.40000000000002,52.20000000000002,54.0,55.79999999999999,57.60000000000003,59.40000000000002,61.20000000000001,63.0,64.79999999999998,66.60000000000004,68.40000000000002,70.2,72.0,73.8,75.60000000000002,77.40000000000002,79.20000000000002,81.0,82.8,84.60000000000004,86.40000000000002,88.20000000000002,90.0,91.79999999999998,93.60000000000002,95.40000000000002,97.2,99.00000000000001,100.8,102.60000000000002,104.40000000000003,106.20000000000002,108.0,109.8,111.60000000000004,113.40000000000002,115.20000000000002,117.0,118.80000000000004,120.60000000000004,122.40000000000002,124.2,126.0,127.80000000000004,129.60000000000002,131.40000000000003,133.20000000000002,135.0,136.80000000000004,138.60000000000002,140.4,142.20000000000002,144.0,145.80000000000004,147.60000000000005,149.40000000000003,151.20000000000002,153.0,154.80000000000004,156.60000000000002,158.40000000000003,160.20000000000002,162.0,163.80000000000004,165.60000000000002,167.40000000000003,169.2,171.0,172.80000000000004,174.60000000000005,176.40000000000003,178.20000000000002,180.0],"y":[71.92569306701124,71.70042731914246,71.32263844546642,70.7932201110175,70.11533177877453,69.29420221944622,68.33693749716096,67.25234239549604,66.05076384486371,64.7439639674804,63.345028951040476,61.86831816367811,60.32945573050301,58.745364095128174,57.13433563873574,55.5161338320076,53.91210915542752,52.345306661034094,50.84053136138767,49.42432516800387,50.84053136138773,52.34530666103411,53.91210915542754,55.5161338320076,57.13433563873574,58.7453640951281,60.32945573050301,61.86831816367808,63.345028951040504,64.74396396748035,66.05076384486365,67.25234239549603,68.33693749716096,69.29420221944625,70.11533177877449,70.7932201110175,71.32263844546642,71.70042731914243,71.9256930670112,72.00000000000003,71.92569306701122,71.70042731914249,71.32263844546642,70.79322011101743,70.11533177877449,69.29420221944622,68.33693749716093,67.25234239549604,66.05076384486367,64.7439639674804,63.345028951040455,61.86831816367808,60.32945573050301,58.7453640951281,57.1343356387357,55.5161338320076,53.91210915542749,52.34530666103406,50.84053136138767,49.42432516800383,50.840531361387704,52.345306661034094,53.91210915542749,55.51613383200757,57.13433563873572,58.745364095128146,60.32945573050302,61.86831816367811,63.345028951040504,64.74396396748043,66.05076384486367,67.25234239549603,68.33693749716097,69.29420221944628,70.11533177877452,70.79322011101749,71.32263844546645,71.70042731914249,71.92569306701127,72.00000000000003,71.92569306701124,71.70042731914249,71.32263844546642,70.79322011101746,70.11533177877452,69.29420221944628,68.33693749716093,67.25234239549603,66.0507638448637,64.74396396748037,63.34502895104043,61.868318163678055,60.32945573050301,58.745364095128146,57.1343356387357,55.51613383200757,53.91210915542749,52.34530666103411,50.84053136138773,49.42432516800387,50.84053136138773,52.34530666103411,53.91210915542749,55.516133832007625,57.1343356387357,58.745364095128124,60.32945573050301,61.868318163678055,63.345028951040476,64.74396396748043,66.05076384486371,67.25234239549604,68.33693749716096,69.29420221944628,70.11533177877453,70.79322011101746,71.32263844546642,71.70042731914249,71.92569306701122,72.0,71.9256930670112,71.70042731914249,71.32263844546645,70.79322011101749,70.11533177877452,69.29420221944625,68.33693749716096,67.25234239549604,66.0507638448637,64.74396396748037,63.345028951040504,61.868318163678055,60.32945573050298,58.745364095128146,57.13433563873574,55.516133832007654,53.91210915542752,52.34530666103411,50.84053136138773,49.42432516800389,50.84053136138767,52.34530666103411,53.91210915542752,55.516133832007654,57.13433563873574,58.745364095128146,60.32945573050301,61.86831816367808,63.34502895104053,64.74396396748037,66.05076384486367,67.25234239549604,68.33693749716093,69.29420221944628,70.11533177877449,70.79322011101743,71.32263844546648,71.70042731914246,71.92569306701122,72.0,71.92569306701124,71.70042731914243,71.32263844546641,70.79322011101746,70.11533177877452,69.29420221944622,68.33693749716092,67.25234239549603,66.0507638448637,64.74396396748043,63.345028951040455,61.868318163678055,60.32945573050301,58.7453640951281,57.13433563873574,55.51613383200757,53.91210915542752,52.34530666103403,50.84053136138767,49.42432516800389,50.84053136138776,52.34530666103415,53.91210915542752,55.516133832007625,57.13433563873574,58.745364095128174,60.32945573050305,61.86831816367808,63.345028951040504,64.74396396748043,66.05076384486371,67.25234239549604,68.33693749716096,69.29420221944628,70.11533177877449,70.7932201110175,71.32263844546645,71.70042731914249,71.92569306701124,72.00000000000003]}},"id":"935e2009-dab5-4c29-9c2d-6c6b0f0f7979","type":"ColumnDataSource"},{"attributes":{},"id":"7c142ea1-34af-4fe0-9b70-ed82033c2d05","type":"ToolEvents"},{"attributes":{"line_color":{"value":"#1f77b4"},"line_width":{"value":2},"x":{"field":"x"},"y":{"field":"y"}},"id":"bb3559ed-5928-4151-8c3f-98f9773b27b1","type":"Line"},{"attributes":{"callback":null,"end":100},"id":"7c213b1e-87a8-4811-8541-6bcdc1c45635","type":"Range1d"},{"attributes":{"plot":{"id":"c28a8def-37f8-448a-8990-9d052b0f1c23","subtype":"Figure","type":"Plot"},"ticker":{"id":"3dffaa38-9308-462f-8ac6-7b80aeca601b","type":"BasicTicker"}},"id":"8d1cc5f8-ea1f-4119-bc58-f10cf5aeee23","type":"Grid"},{"attributes":{"data_source":{"id":"dcca5c94-5622-4c36-95bc-3a77a9d13661","type":"ColumnDataSource"},"glyph":{"id":"bb3559ed-5928-4151-8c3f-98f9773b27b1","type":"Line"},"hover_glyph":null,"nonselection_glyph":{"id":"d0b0bd3f-7610-435a-8eea-6bf23f3c7b3f","type":"Line"},"selection_glyph":null},"id":"444436ba-687c-492b-8f01-166717bd66da","type":"GlyphRenderer"},{"attributes":{"active_drag":"auto","active_scroll":"auto","active_tap":"auto","tools":[{"id":"a35e5116-841c-4509-aab5-99046b7efe0f","type":"PanTool"},{"id":"7f4f69de-66bb-4a0d-9981-e9cc99461c9a","type":"WheelZoomTool"},{"id":"4a7be2cb-d452-4ed1-a731-e327ba113cfc","type":"BoxZoomTool"},{"id":"f35d30a7-19f2-4e9a-9fb3-9869fd962c52","type":"SaveTool"},{"id":"3951dc13-6c57-47a5-bc05-d83dfd21f181","type":"ResetTool"},{"id":"da937860-6793-4724-b9ef-5b3551966ae2","type":"HelpTool"}]},"id":"949bd242-e9ef-4bed-a0b0-c906a223f15b","type":"Toolbar"},{"attributes":{"dimension":1,"plot":{"id":"c28a8def-37f8-448a-8990-9d052b0f1c23","subtype":"Figure","type":"Plot"},"ticker":{"id":"caa03922-525a-407b-b2a5-91a3c8e8cfe2","type":"BasicTicker"}},"id":"7f254887-484e-477d-95bd-205ab7fd73ed","type":"Grid"},{"attributes":{"plot":{"id":"c28a8def-37f8-448a-8990-9d052b0f1c23","subtype":"Figure","type":"Plot"}},"id":"a35e5116-841c-4509-aab5-99046b7efe0f","type":"PanTool"},{"attributes":{"line_alpha":{"value":0.1},"line_color":{"value":"#1f77b4"},"line_width":{"value":2},"x":{"field":"x"},"y":{"field":"y"}},"id":"d0b0bd3f-7610-435a-8eea-6bf23f3c7b3f","type":"Line"},{"attributes":{"plot":null,"text":"r vector width MDAP"},"id":"fd8bd50b-ad77-410a-8d5f-8d01b5b7a33f","type":"Title"},{"attributes":{"background_fill_alpha":{"value":0.5},"legends":[["2acos||rV||",[{"id":"444436ba-687c-492b-8f01-166717bd66da","type":"GlyphRenderer"}]],["2acos||rE||",[{"id":"fc05dfa2-fb21-4285-9407-be68a1165dda","type":"GlyphRenderer"}]]],"plot":{"id":"c28a8def-37f8-448a-8990-9d052b0f1c23","subtype":"Figure","type":"Plot"}},"id":"a0524709-4e02-438a-9a6f-a72938ac8e1a","type":"Legend"},{"attributes":{},"id":"0a91f331-41f5-4e67-9420-e2beef15ad18","type":"BasicTickFormatter"},{"attributes":{},"id":"caa03922-525a-407b-b2a5-91a3c8e8cfe2","type":"BasicTicker"},{"attributes":{"plot":{"id":"c28a8def-37f8-448a-8990-9d052b0f1c23","subtype":"Figure","type":"Plot"}},"id":"da937860-6793-4724-b9ef-5b3551966ae2","type":"HelpTool"},{"attributes":{"overlay":{"id":"0717b454-6f89-432e-9cef-ba4a032fb4d4","type":"BoxAnnotation"},"plot":{"id":"c28a8def-37f8-448a-8990-9d052b0f1c23","subtype":"Figure","type":"Plot"}},"id":"4a7be2cb-d452-4ed1-a731-e327ba113cfc","type":"BoxZoomTool"},{"attributes":{"plot":{"id":"c28a8def-37f8-448a-8990-9d052b0f1c23","subtype":"Figure","type":"Plot"}},"id":"f35d30a7-19f2-4e9a-9fb3-9869fd962c52","type":"SaveTool"},{"attributes":{"bottom_units":"screen","fill_alpha":{"value":0.5},"fill_color":{"value":"lightgrey"},"left_units":"screen","level":"overlay","line_alpha":{"value":1.0},"line_color":{"value":"black"},"line_dash":[4,4],"line_width":{"value":2},"plot":null,"render_mode":"css","right_units":"screen","top_units":"screen"},"id":"0717b454-6f89-432e-9cef-ba4a032fb4d4","type":"BoxAnnotation"},{"attributes":{"data_source":{"id":"935e2009-dab5-4c29-9c2d-6c6b0f0f7979","type":"ColumnDataSource"},"glyph":{"id":"5f01ec1b-dca9-4fef-ac42-dfee150da547","type":"Line"},"hover_glyph":null,"nonselection_glyph":{"id":"d732e076-8ae7-4fdf-afa5-9ccb9111f162","type":"Line"},"selection_glyph":null},"id":"fc05dfa2-fb21-4285-9407-be68a1165dda","type":"GlyphRenderer"},{"attributes":{"line_alpha":{"value":0.1},"line_color":{"value":"#1f77b4"},"line_width":{"value":2},"x":{"field":"x"},"y":{"field":"y"}},"id":"d732e076-8ae7-4fdf-afa5-9ccb9111f162","type":"Line"},{"attributes":{"line_color":{"value":"red"},"line_width":{"value":2},"x":{"field":"x"},"y":{"field":"y"}},"id":"5f01ec1b-dca9-4fef-ac42-dfee150da547","type":"Line"},{"attributes":{"formatter":{"id":"0a91f331-41f5-4e67-9420-e2beef15ad18","type":"BasicTickFormatter"},"plot":{"id":"c28a8def-37f8-448a-8990-9d052b0f1c23","subtype":"Figure","type":"Plot"},"ticker":{"id":"caa03922-525a-407b-b2a5-91a3c8e8cfe2","type":"BasicTicker"}},"id":"afa4608b-1b5b-4f52-bdc9-19e1d3ca3f9e","type":"LinearAxis"},{"attributes":{"callback":null,"column_names":["y","x"],"data":{"x":[-178.20000000000002,-176.40000000000003,-174.6,-172.8,-171.0,-169.2,-167.40000000000003,-165.6,-163.80000000000004,-162.0,-160.20000000000002,-158.40000000000003,-156.6,-154.8,-153.0,-151.20000000000002,-149.40000000000003,-147.6,-145.8,-144.0,-142.20000000000002,-140.4,-138.6,-136.8,-135.0,-133.20000000000002,-131.40000000000003,-129.60000000000002,-127.79999999999998,-126.0,-124.2,-122.40000000000002,-120.60000000000001,-118.79999999999998,-117.0,-115.20000000000002,-113.4,-111.6,-109.8,-108.0,-106.20000000000002,-104.4,-102.60000000000001,-100.80000000000001,-99.00000000000001,-97.19999999999999,-95.4,-93.60000000000001,-91.8,-90.0,-88.2,-86.4,-84.6,-82.8,-81.0,-79.19999999999999,-77.39999999999999,-75.60000000000001,-73.8,-72.0,-70.2,-68.39999999999999,-66.60000000000001,-64.80000000000001,-63.0,-61.20000000000001,-59.39999999999999,-57.60000000000001,-55.79999999999999,-54.0,-52.20000000000002,-50.4,-48.6,-46.79999999999999,-45.0,-43.20000000000001,-41.4,-39.60000000000001,-37.79999999999999,-36.0,-34.20000000000001,-32.39999999999999,-30.600000000000005,-28.79999999999999,-27.0,-25.199999999999985,-23.399999999999995,-21.600000000000005,-19.79999999999999,-18.0,-16.199999999999985,-14.399999999999995,-12.600000000000005,-10.799999999999988,-9.0,-7.199999999999984,-5.399999999999994,-3.600000000000005,-1.7999999999999898,0.0,1.8000000000000154,3.600000000000005,5.399999999999994,7.20000000000001,9.0,10.800000000000017,12.600000000000005,14.399999999999995,16.20000000000001,18.0,19.800000000000015,21.600000000000005,23.40000000000002,25.20000000000001,27.0,28.800000000000015,30.600000000000005,32.40000000000002,34.20000000000001,36.0,37.80000000000001,39.60000000000001,41.40000000000002,43.20000000000001,45.0,46.80000000000001,48.6,50.40000000000002,52.20000000000002,54.0,55.79999999999999,57.60000000000003,59.40000000000002,61.20000000000001,63.0,64.79999999999998,66.60000000000004,68.40000000000002,70.2,72.0,73.8,75.60000000000002,77.40000000000002,79.20000000000002,81.0,82.8,84.60000000000004,86.40000000000002,88.20000000000002,90.0,91.79999999999998,93.60000000000002,95.40000000000002,97.2,99.00000000000001,100.8,102.60000000000002,104.40000000000003,106.20000000000002,108.0,109.8,111.60000000000004,113.40000000000002,115.20000000000002,117.0,118.80000000000004,120.60000000000004,122.40000000000002,124.2,126.0,127.80000000000004,129.60000000000002,131.40000000000003,133.20000000000002,135.0,136.80000000000004,138.60000000000002,140.4,142.20000000000002,144.0,145.80000000000004,147.60000000000005,149.40000000000003,151.20000000000002,153.0,154.80000000000004,156.60000000000002,158.40000000000003,160.20000000000002,162.0,163.80000000000004,165.60000000000002,167.40000000000003,169.2,171.0,172.80000000000004,174.60000000000005,176.40000000000003,178.20000000000002,180.0],"y":[74.09174375888819,75.9376819751057,77.56385733627016,78.99118191253963,80.23659736914745,81.31389805738068,82.23432733409491,83.00701640519986,83.63931053513446,84.13701234254884,84.50456222096004,84.74516950903674,84.86090362616646,84.85275122207008,84.72064298141812,84.46345175003076,84.07896186701785,83.56380779179025,82.91337809845197,82.12167842339532,82.91337809845191,83.56380779179027,84.07896186701785,84.46345175003076,84.72064298141815,84.85275122207008,84.86090362616646,84.74516950903674,84.50456222096004,84.13701234254883,83.63931053513446,83.00701640519985,82.23432733409491,81.31389805738068,80.23659736914747,78.99118191253959,77.56385733627016,75.9376819751057,74.09174375888813,72.0,74.09174375888816,75.9376819751057,77.56385733627017,78.99118191253963,80.23659736914749,81.31389805738071,82.23432733409491,83.00701640519985,83.6393105351345,84.13701234254887,84.50456222096004,84.74516950903674,84.86090362616646,84.85275122207008,84.72064298141815,84.46345175003073,84.07896186701784,83.56380779179027,82.91337809845194,82.12167842339528,82.91337809845194,83.56380779179028,84.07896186701785,84.46345175003076,84.72064298141815,84.85275122207011,84.86090362616645,84.74516950903674,84.50456222096004,84.13701234254884,83.63931053513446,83.00701640519986,82.23432733409491,81.31389805738068,80.23659736914745,78.99118191253963,77.56385733627016,75.9376819751057,74.09174375888816,72.00000000000003,74.09174375888816,75.93768197510573,77.56385733627016,78.99118191253962,80.23659736914747,81.31389805738075,82.23432733409491,83.00701640519985,83.63931053513446,84.13701234254884,84.50456222096004,84.74516950903674,84.86090362616646,84.85275122207011,84.72064298141811,84.46345175003076,84.07896186701782,83.56380779179025,82.91337809845194,82.12167842339531,82.91337809845197,83.56380779179027,84.07896186701785,84.46345175003077,84.72064298141815,84.85275122207008,84.86090362616646,84.74516950903678,84.50456222096004,84.13701234254883,83.63931053513446,83.00701640519985,82.23432733409491,81.31389805738068,80.23659736914749,78.99118191253959,77.56385733627016,75.9376819751057,74.09174375888813,72.00000000000003,74.0917437588882,75.93768197510568,77.56385733627017,78.99118191253964,80.23659736914749,81.31389805738071,82.23432733409494,83.00701640519986,83.63931053513446,84.13701234254883,84.50456222096004,84.74516950903678,84.86090362616645,84.85275122207008,84.72064298141815,84.46345175003079,84.07896186701782,83.56380779179028,82.91337809845194,82.12167842339528,82.91337809845194,83.56380779179027,84.07896186701785,84.46345175003076,84.72064298141815,84.85275122207004,84.86090362616645,84.74516950903674,84.50456222096008,84.13701234254884,83.63931053513446,83.00701640519985,82.23432733409491,81.31389805738068,80.23659736914745,78.99118191253962,77.56385733627013,75.93768197510568,74.09174375888816,72.0,74.09174375888813,75.93768197510573,77.56385733627016,78.99118191253963,80.23659736914745,81.31389805738068,82.23432733409494,83.00701640519985,83.63931053513446,84.13701234254883,84.50456222096008,84.74516950903678,84.86090362616646,84.85275122207004,84.72064298141812,84.46345175003076,84.07896186701785,83.56380779179025,82.91337809845191,82.12167842339532,82.91337809845197,83.56380779179028,84.07896186701785,84.46345175003076,84.72064298141815,84.85275122207008,84.86090362616648,84.74516950903674,84.50456222096004,84.13701234254884,83.63931053513446,83.00701640519985,82.23432733409491,81.31389805738071,80.23659736914745,78.99118191253956,77.56385733627013,75.93768197510568,74.09174375888816,72.0]}},"id":"dcca5c94-5622-4c36-95bc-3a77a9d13661","type":"ColumnDataSource"},{"attributes":{},"id":"3dffaa38-9308-462f-8ac6-7b80aeca601b","type":"BasicTicker"},{"attributes":{},"id":"6945a637-8975-4010-8f1f-78e92ce75ec4","type":"BasicTickFormatter"},{"attributes":{"plot":{"id":"c28a8def-37f8-448a-8990-9d052b0f1c23","subtype":"Figure","type":"Plot"}},"id":"3951dc13-6c57-47a5-bc05-d83dfd21f181","type":"ResetTool"},{"attributes":{"formatter":{"id":"6945a637-8975-4010-8f1f-78e92ce75ec4","type":"BasicTickFormatter"},"plot":{"id":"c28a8def-37f8-448a-8990-9d052b0f1c23","subtype":"Figure","type":"Plot"},"ticker":{"id":"3dffaa38-9308-462f-8ac6-7b80aeca601b","type":"BasicTicker"}},"id":"daf55a7b-ae39-44b6-9c3f-94bc997b6410","type":"LinearAxis"},{"attributes":{"plot":{"id":"c28a8def-37f8-448a-8990-9d052b0f1c23","subtype":"Figure","type":"Plot"}},"id":"7f4f69de-66bb-4a0d-9981-e9cc99461c9a","type":"WheelZoomTool"}],"root_ids":["c28a8def-37f8-448a-8990-9d052b0f1c23"]},"title":"Bokeh Application","version":"0.12.2"}}; var render_items = [{"docid":"da4ee0aa-687c-4046-958f-e936b91ef027","elementid":"dd0204d5-45aa-4da7-bd2a-04d130590a39","modelid":"c28a8def-37f8-448a-8990-9d052b0f1c23"}]; Bokeh.embed.embed_items(docs_json, render_items); }); }, function(Bokeh) { } ]; function run_inline_js() { if ((window.Bokeh !== undefined) || (force === "1")) { for (var i = 0; i < inline_js.length; i++) { inline_js[i](window.Bokeh); }if (force === "1") { display_loaded(); }} else if (Date.now() < window._bokeh_timeout) { setTimeout(run_inline_js, 100); } else if (!window._bokeh_failed_load) { console.log("Bokeh: BokehJS failed to load within specified timeout."); window._bokeh_failed_load = true; } else if (!force) { var cell =$("#dd0204d5-45aa-4da7-bd2a-04d130590a39").parents('.cell').data().cell;
}

}

console.log("Bokeh: BokehJS loaded, going straight to plotting");
run_inline_js();
} else {
console.log("Bokeh: BokehJS plotting callback run at", now());
run_inline_js();
});
}
}(this));



Obviously MDAP could smooth out much of the variations in $\boldsymbol{r}_\mathrm{V,E}$ and also the difference between both of the measures.



In [ ]: