Add Keybee keyboard to Gesture Typing
This commit is contained in:
1 parent
84ec3e4a1d
commit
6abcba36bb
1 file changed
+229
-115
+229
-115
@@ -639,7 +639,7 @@
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"3.2333097802127653"
|
||||
"3.233309780212764"
|
||||
]
|
||||
},
|
||||
"execution_count": 21,
|
||||
@@ -676,23 +676,29 @@
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"def show_kbd(kbd, name='keyboard', K=20):\n",
|
||||
" \"Plot the keyboard with square keys, K units on a side.\"\n",
|
||||
" H = K / 2 # (K is Key width/height; H is half K)\n",
|
||||
"def show_kbd(kbd, name='keyboard'):\n",
|
||||
" \"Plot the keyboard and show title/stats.\"\n",
|
||||
" for L in kbd:\n",
|
||||
" x, y = K * kbd[L].x, -K * kbd[L].y\n",
|
||||
" plot_square(x, y, H, label=L)\n",
|
||||
" plot_square(kbd[L].x, -kbd[L].y, label=L)\n",
|
||||
" plt.axis('equal'); plt.axis('off')\n",
|
||||
" plt.title(title(kbd, name));\n",
|
||||
" plt.show()\n",
|
||||
"\n",
|
||||
"def plot_square(x, y, H, label='', style='k-'):\n",
|
||||
" \"Plot a square with center (x, y), half-width H, and optional label.\"\n",
|
||||
"def plot_square(x, y, label='', style='k:'):\n",
|
||||
" \"Plot a square with center (x, y) and optional label.\"\n",
|
||||
" H = 1/2\n",
|
||||
" plt.plot([x-H, x+H, x+H, x-H, x-H], \n",
|
||||
" [y-H, y-H, y+H, y+H, y-H], style) \n",
|
||||
" plt.annotate(label, (x-H/4, y-H/4)) # H/4 seems to place label well.\n",
|
||||
" \n",
|
||||
"def title(kbd, name): return '{}: path length = {:.1f}'.format(name, workload_average(kbd))"
|
||||
"def title(kbd, name): \n",
|
||||
" X, Y = span(kbd[L].x for L in kbd), span(kbd[L].y for L in kbd)\n",
|
||||
" return ('{}: size: {:.1f}×{:.1f}; path length: {:.1f}'\n",
|
||||
" .format(name, X, Y, workload_average(kbd)))\n",
|
||||
" \n",
|
||||
"def span(numbers):\n",
|
||||
" numbers = list(numbers)\n",
|
||||
" return max(numbers) - min(numbers)"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -702,9 +708,9 @@
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x10a0b8e10>"
|
||||
"<matplotlib.figure.Figure at 0x1184d44a8>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
@@ -787,9 +793,9 @@
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x1044fc8d0>"
|
||||
"<matplotlib.figure.Figure at 0x10fed0710>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
@@ -822,7 +828,9 @@
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 26,
|
||||
"metadata": {},
|
||||
"metadata": {
|
||||
"collapsed": true
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"def improved(kbd, swaps=1000, scorer=workload_average, scores=[]):\n",
|
||||
@@ -849,9 +857,9 @@
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x10a20f5f8>"
|
||||
"<matplotlib.figure.Figure at 0x1195928d0>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
@@ -935,9 +943,9 @@
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x10a252908>"
|
||||
"<matplotlib.figure.Figure at 0x11949a8d0>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
@@ -945,9 +953,9 @@
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"image/png": "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\npetOpHpPa06nOa3i8s/nlR5lNV/+fKoSe4DqzbjD2102Iu4EDqA6xfIRquL654h4vnaxC4HdqY5i\n6yan7d9G9ebdpUDjJfb3gaup3jj8A/CTtuEjno2IhxtfVG+YPhsRi5bxM19I9QQ0l+pN6q/Vt5lu\n8010dtR3ADA9IuY1r1B1JtSkFtdpeJDqjcsHqPb9oRFxV1r3CeCrkh6nen/l4lrGZ1Lm6WmoZpsB\nftZ26uu+AVwJXJNubwbVm5/ttlOfP4Hq1d48qn16KdV7RQ0nA8emnEd0sL1u+QjV0OaZwI5UQ0vf\na6xMQ3g7AETEFKoDgF+nn/8Mqved7hyEXMOaouWreetlkq6jOrvnnNxZcpN0LNVZN5MH8TZ2ptrf\nzcMkfU3VOfIfjohdc2exoecjf+tbaSjoYKqhEFsGSa+TtH0avnsL8Hk8Tl4sl39/Kv7lWjrr417g\n5xExPXeePrES1RPlE8CvqP6G46ysiSwbD/uYmRXIR/5mZgVy+ZuZFcjlb2ZWIJe/mVmBXP5mZgVy\n+ZuZFcjlb2ZWIJe/mVmBXP5mZgVy+ZuZFcjlb2ZWIJe/mVmBXP5mZgVy+ZuZFcjlb2ZWIJe/mVmB\nXP5mZgVy+ZuZFcjlb2ZWIJe/mVmBXP5mZgVy+ZuZFcjlb2ZWIJe/mVmBXP5mZgVy+ZuZFcjlb2ZW\nIJe/mVmBRuYO0C8kLQLG5M7RgQCUO0QHnLO7+iFnP2QEWBwRY3OHGGyKiNwZ+oKkiIief+A6Z3c5\nZ/f0Q0bon5zLy8M+ZmYFcvmbmRXI5W9mViCXv5lZgVz+ZmYFcvmbmRXI5W9mViCXv5lZgVz+ZmYF\ncvmbmRXI5W9mViCXv5lZgVz+ZmYFcvmbmRXI5W9mViCXv5lZgVz+ZmYFcvkPEUlfl/SZ2vwvJX2v\nNn+qpM/mSfdSkl4r6QJJcyXdJGm6pPfnztVM0guSTqnNf17Sl3NmaiZpqaSZkuZImiXpCEk99ylR\ntZyz0vdxuTO1I+nJ3BmGA5f/0JkObA+QfvnXBDatrd8emJEhVytXAL+OiA0i4u3AfsB6mTO18hzw\nL5J6+fNWn4qICRGxGTAR2BM4LnOmVho5t0rf780daAD+7NkucPkPnRmk8qcq/TnAk5JeLWklYGNg\nZq5wDZJ2A56LiO83lkXEgog4M2Osdp4HvgcckTtIJyJiIfAx4FO5s7TQc69GbHC5/IdIRDwILJG0\nHn8/yr8ReAewNTA7Ip7PGLFhU3rgSahDAZwJ/Kuk1XOH6UREzANWkLRW7ixNRtWGfX6SO4wNvpG5\nAxRmBrADVfmfRjWUsgPwONWwUM+R9G1gR6pXA9vmztMsIv4q6TzgcOCZ3Hk61ItH2U9HxITcIWzo\n+Mh/aDWGfjajGva5gerI/x30znj/rcDbGjMR8Slgd6DXjlTrvgEcDKyaO8iySFofeD4iHsmdxcrm\n8h9aM4D3AouishhYgx4q/4iYBqws6dDa4lflyrMMAkj78RLgkLxxWnrxKD8N9ZwFfCtfnLZ68dWI\nDSKX/9CaDbwG+F3TssciYlGeSC19ANhF0t2SbgDOBY7KnKmV+lkfp1Ht2147E2SVxqmewDXALyPi\nhNyhWui1/daSpBFUZ3nZclJEX9zn2UmKiOj5oyPn7C7n7J5uZJS0BXB2RGzXpVitbqPn92U3+Mjf\nzPpCGoq8ADgmd5bhwEf+HeqXowHn7C7n7J5+yAj9k3N5+cjfzKxALn8zswK5/M3MCuTyNzMrkMvf\nzKxALn8zswK5/M3MCuTyNzMrkMvfzKxALn8zswK5/M3MCuTyNzMr0LD8x26SFgFjcucwM0sWR8TY\n3CHqhmv598V/5XPO7nLO7uqHnP2QEXozp4d9zMwK5PI3MyuQy9/MrEAufzOzArn8zcwK5PI3MyuQ\ny9/MrEAufzOzArn8zcwK5PI3MyuQy9/MrEAufzOzArn8zcwK5PI3MyuQy9/MrEAufzOzArn8zcwK\n5PJvQ9KTtem9JN0u6Q05M7VSz5nmD5T0rVx5WpE0VtIsSTMlPSjpvtr8yNz5Gpr3ZS+TtK6kKyTd\nKekuSaf30r4EkDRe0uymZcdJOiJXpnaa9udcSd+UtGLuXIPJ5d9eAEjaHTgD2CMiFuSN1FKrz+Hs\nqc/mjIhFEbFVREwAzgK+3piPiOdz56vpqf22DJcBl0XERsBGwOrAiXkjtdQv+7S+PzcEVgVOyRtp\ncLn825OkdwJnA3tHxJ8z5xkueupzTPuRpN2AZyJiCkBUH8T9OeAgSatkDdeHBtifkyWtmjXcIOqp\nl4k9ZmXgcmCXiLgrd5gBrCppZpoWMAa4KmMeG3ybAn+sL4iIJyXNBzYA5mRJ1b/a7c95VPvzT1lS\nDTIf+be3BJgBHJI7yDI8nYZPJkTEVsBxuQNZNr32qqrdkE+/DAX12v7sKpd/e0uBDLine truncated
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x10c24f2b0>"
|
||||
"<matplotlib.figure.Figure at 0x11a3380f0>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
@@ -955,9 +963,9 @@
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAYYAAAEKCAYAAAAW8vJGAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAFjdJREFUeJzt3Xm0LWV95vHvwzwpswMIRFoIHSEKKwlERBClFTAqGggo\nYoK0uIwtCRqj0oJogqRR0XaKQ2CJUaZE0MQxARka1KggMsQgShgEoshVkEmGX/9RdaDe7b3Xg/fU\nme73s9ZZp2pX7fq9VbtOPVVv7b1PqgpJkqasMtcNkCTNLwaDJKlhMEiSGgaDJKlhMEiSGgaDJKlh\nMMwjSa5I8oy5bsdMSrJVkgeTuK9NU5KXJ7nwEcx/bZI9x2zTMur62i5SvqDzSFVtX1UXzHU7RjDv\nPizTH9C2ngftWNbBdT5us6UF0OjtTLJ/kouS3Jnk3GnMf1SS65L8NMmnkqw3dhsXG4NhJZRk1blu\nw1wZrPt8OfCGri2Z64bMYz8BTgTe8atmTPJy4KXA7wObAesA7x+1dYuQwTCPDM/IkhyT5Iwkn0hy\ne5LLkmyT5I1J/qs/I9pr8NyvJDkuydeT/CzJWUk26KdNnZUemuQ64Jz+8ef33Ve3JTk3yXb9429I\ncuZE296b5D398KOTfCzJTUluSPL2JOmnrZLknUl+nOQaYN9fsc47JvlW3+bTkpya5G39tPOS7NcP\n79qvw979+J5JLh0s59AkVyX5SZIvJNlyMO3BJK9OcjVwdZLz6Q7E3+m37QFJLk+y7+A5q/Xr8JRp\nvG6799vhTf1zfpDkJYPp+yS5pF/H65IcM3j6+f3vn/Zt2fnhp+WE/rX5fpLn/qp2TD2p30eu6dty\n2lL2g0P6dvwoyZsHz10rycf7mlcm+YskN/TTTgG2BP6pb+frp54GHLy05c2Uqjq3qv4BuHkasz8P\nOKmqbqqqu4C/AQ5IstZMt2sxMxjmt+cBHwc2AL4NfInuD3Ez4O3Ahyfmfxnwx8DjgAeA901Mfwaw\nHfCcJNsAnwJeC2wKfIHuj3414DRg7yTrQnewB/YHPtkv5+PAL4CtgR2BvYDD+mmvBPYBngL8DvCH\ny1q5JKsDZ/XL2wg4E3jxYJbzgT0Gbf9+/xtgd+C8fjkvAN4IvLBflwuBUyfKvQD4PeC3qmr3/rEd\nqurRVXVG34aXDebfF7ipqi7ra1yW5MBlrQvdNt+I7rX5Y+Aj/TYG+Dnwsqpav1/uq5I8f7BeAI/u\n2/L1fnxn4N+BjYETgL9bTu2h1wLPB3br27IE+ODEPLsC2wDPBo5O8pv942+lO/j/Bt1rejD9lVVV\nHQJcDzyvb+c7p7G8RpK/TLKkD54lE8O3TXP9HqlVgDX79mm6qsqfefIDXAvs2Q8fA3xpMO15wO1A\n+vH1gAfpDigAXwGOG8z/34F76YJkK7qg2Gow/X8Dpw3GA9wIPKMfvwA4uB/eC/heP/xY4B5gzcFz\nDwTO6YfPAV45mLZXX3uVpazvbsCNE49dBLytH94T+HY//AXgUODifvw84IX98OeBPxksYxXgTmCL\nfvxBYPeJOg8CWw/GHw/8DFivHz8TeP00X7fd6YJyrcFjpwNHLWP+E4F39cNTr80qg+kvB64ejK/d\nz/OYaew3VwHPnFivX/TbZKrW4wfTvw4c0A9/H3j2YNorgOuXVmei7Utd3gh/H68Azp3GPN/t27Y+\n8Jm+jTuP0abF+uMVw/z2X4Phu4Fbq9/7+3HoAmLKDYPh64DVgU0Gj904GN6snweAfrk3AJv3D50K\nHNQPH0R3dQHdGeXqwM1TZ3vA39KdqU8td7Idy7IZ8MOJx4bzfxXYNslj6K5ATgG2SLIx3dn/VDfM\nVsB7+/bcRtcnXYN1mVz3X1JVN9OF0ouTrA/szcNXSNOxpKrumViPzQCS7Nx31f0oyU+Bw2lfl6W5\nZdC2u+mCezo3UbcCzhpsi6uA++gCfcpwv7prsNzNaLfT8HVcnmUtby6cRLfvngdcDkzdrF7u66+W\nwbC4bDEY3oruTPHWwWPDG6439fNMPn/qQH0msEeSzYH9eDgYbqC7Yti4qjaqqg2raoOq+u1++s1L\nacey3Ex78IYueLrGdgfEbwFHAFdU1f10YXEkcE1VLelnvR44vG/PVJvWq6qvLWPdl+UUuu6k/emu\nTKbTpz1lwyRrT6zHTf3wJ4Gzgc2ragO6LsCpm80zfRP8emDviW2x7jTX5WbgCYPxLSemr1Bb+3sw\nd/T3KIY/dyS5fUWW/VADO8dW1ROraku67rgfVtXkCYiWw2BYXA5Osl2SdYBjgTMHVxiT73o5A9g3\nyTP7G62vpzvgXwxQVbfSnZGfDPygqv6jf/wW4MvAiUke1d/s3DoPf/7iDOC1STZPsiHwl8tp71eB\n+5P8r74NL6K7Ehi6AHgND18dnDcxDt2B9s1JfgsgyfpJlnlvo3cL3T2SobOBnej66U/5Fc+fFODY\nJKsn2Y3uXsIZ/bT16K4o7kvye8BLBs/7MV231n97hPWW5cPAcelvvifZdHA/Y6qdy3IG8KYkG/Qn\nBH86MX1p22za76aqqndU1aOqu0cx/HlUVT16Wc9L94aGNemuVFdNsmZ/L2xp826Y/m3I/f7wLrq/\nBT0CBsP88kjPyCbn/wTdTdSbgDXozrSXOm9VXU13c/H9dAenfYE/6M/Kp3wKeBa/3KVySL/8q4Db\n6K4uHtdP+yjdTfLLgG8C/7jMxlfdB7wI+BO67p/9lzL/+XQH1gsmxh8Khqo6GzgeOK3vqvkOMHwX\nz9K261uBU/oulz/sl3NPX/+JwKeHM6d799ZBv7SUh91Md6P3JrrX4fCq+l4/7dXA25P8jO7ezumD\ntt8N/DVwUd+WyWBc3josbdp76frVv9zXu5g2bCeXMxx/G90V47V04X8m3X2qKccDb+nbeeQ0ljdT\nXkbXdfoB4Ol03VUfmZrYX3Hs2o9uAnw+yc+BzwEfq6rp3rhXLw+fUGohS/IV4BNVddJct2VFJDkZ\nuKGqjp6j+m8BtqnuXTjTfc7udNt+sutlQUvyKuCPquqZc90WzS6vGKReko3o3tUy+TbglUKSxyV5\nWt89+JvA65i4ctLKwWBYPBbLpd+crEeSw+hu3H6uqi6aizbMA2vQheLtwL/SfcbkQ3PaIs0Ju5Ik\nSQ2vGCRJDYNBktQwGCRJDYNBktQwGCRJDYNBktQwGCRJDYNBktQwGCRJDYNBktQwGCRJDYNBktQw\nGCRJDYNBktQwGCRJDYNBktQwGCRJDYNBktQwGCRJDYNBktQwGCRJDYNBktQwGCRJDYNBktQwGCRJ\nDYNBktQwGCRJDYNBktQwGCRJDYNBktQwGCRJDYNBktQwGCRJDYNBktQwGCRJDYNBktQwGCRJDYNB\nktQwGCRJDYNBktQwGCRJDYNBktQwGCRJDYNBktQwGCRJDYNBktQwGCRJDYNBktQwGCRJDYNBktQw\nGCRJDYNBktQwGCRJDYNBktQwGCRJDYNBktQwGCRJDYNBktQwGCRJDYNBktQwGCRJDYNBktQwGCRJ\nDYNBktQwGCRJDYNBktQwGCRJDYNBktQwGCRJDYNBktQwGCRJDYNBktRYba4bsLJJchuw4SyVKyDW\nmvd1rLWwas3mOi2pqo1mqdZDUlWzXXOllqSqalZ2KmstjDrWWli1FuM6TbIrSZLUMBgkSQ2DQZLU\nMBgkSQ2DQZLUMBgkSQ2DQZLUMBjmsSQvTHJpkkv6n0uTPJDkOTNc5wlJfpBkg358w358y5msM6j3\nwGB9LhmrTl/rsUlOTfK9JN9I8s9JnjRSrc2TnJ3k6r7eiUlm/EOkg+13eZLPJHn0TNcY1NoqyeUT\njx2T5MgRat0x08tcTq0Lkzx3ML5/ks+PVGu4X1yT5P8mWX2MWjPFYJjHqursqtqxqnaqqp2ADwIX\nVNWXZrjOjf2y/6Z/6Hjgb6vq+pmsM3Bnv05T6zZWHYCzgHOrapuq+l3gTcBjR6r1aeDTVbUtsC3w\nKOC4EepMbb8dgCXAn45QY2i2PgU7m5+2fRXw7iRrJFkP+Gvg1SPVGu4X2wDrACeMVGtG+JUYC0SS\nbYGjgV1GKvEe4JtJjgCexnh/JDBLXyeQ5JnAL6rqo1OPVdXly3nKitTaE7i7qk7p61SSPweuTXJ0\nVd0zRl3gq8AOIy170aqqK5N8FngjsC7w8ar6z5mus5z94rokb66qu2a65kwwGBaAvjvik8CfV9UP\nx6hRVfcneQPwReDZVfXAGHV6aye5hC4gflBVLx6pzvbAt0Za9qQnT9aqqjuSXAc8CbhiBmsFIMmq\nwLOAj83gslcmbwMuAe4FfmekGsvaL66l2y++M1LdFWIwLAx/BVxRVf8wcp19gJvozkDPHbHOXX3X\n2MpgjKujqWB9AnAV8C8j1JiyrO6dBf8la1V1V5LTgTuq6r5ZLj/r33/0SHiPYZ5LsgewHyP3Iyd5\nKt3Z5y7AkUnG6oefTVcy3pngpKsma/U3hbcArpnhWlPBuiXdAeY1M7z8oZ8Ak9/uuRFw64g1Z9OD\n/c9YlrVfPBb4jxHrrhCDYR5LsiFwEnDILPRFfhA4or8R/X+Ad41Ya1bOlqrqXGCNJIc9VDjZIcmu\nI9Q6h+5M/uC+zqrAO4GTR7i/kL7mPcARwOuSjPK3XFV3Ajf192tIshHwHOD/jVBuXp9F/zqWs1+8\nr6rundPGLYfBML8dDmwKfGji7Z37z2SRJP8TuK4/kAJ8CNguyW4zWWdgNrsh9gP26t8meDndu4Ru\nGbHWAUmuBr4L3A0cNUKdh7ZfVX0buAw4aIQ6Uw4B3pLkUuBfgbdW1bUj1Fk7yfVJbuh//9kINebC\nfsD+/X5xK/BAVR0/x21aLv8fwyxbrN/lvhhrLcZ1stbc1kmyC3AqsF8f6qPVWhEGwLine truncated
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x10a1ad400>"
|
||||
"<matplotlib.figure.Figure at 0x11752e9b0>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
@@ -1171,7 +1179,7 @@
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"['NWPOO', 'HEOOP', 'JRMLI', 'HWPKL', 'VEMKO', 'UWOPI', 'VDOMK', 'HELLI']"
|
||||
"['URKLL', 'YSMLO', 'YWPKO', 'GWOMP', 'NRMMI', 'GSKOI', 'URPPO', 'UDOPL']"
|
||||
]
|
||||
},
|
||||
"execution_count": 35,
|
||||
@@ -1362,8 +1370,8 @@
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"CPU times: user 3.14 s, sys: 306 ms, total: 3.44 s\n",
|
||||
"Wall time: 3.45 s\n"
|
||||
"CPU times: user 3.08 s, sys: 377 ms, total: 3.46 s\n",
|
||||
"Wall time: 3.46 s\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -1506,8 +1514,8 @@
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"CPU times: user 94 µs, sys: 0 ns, total: 94 µs\n",
|
||||
"Wall time: 95.8 µs\n"
|
||||
"CPU times: user 108 µs, sys: 1 µs, total: 109 µs\n",
|
||||
"Wall time: 116 µs\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -1540,36 +1548,36 @@
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"{'BELIEVED': 'BELIEVES BELIEVER BELIEVED',\n",
|
||||
" 'BENDS': 'BENDS',\n",
|
||||
" 'BITEY': 'HURRY BITEY',\n",
|
||||
" 'CEILINGS': 'CEILINGS',\n",
|
||||
" 'COATING': 'COATING',\n",
|
||||
" 'COLORERS': 'COLORERS',\n",
|
||||
" 'COUPLES': 'COUPLES',\n",
|
||||
" 'DUSTING': 'SHARING DUSTING',\n",
|
||||
" 'DYING': 'EYING DYING',\n",
|
||||
" 'ENJOYS': 'ENJOYS',\n",
|
||||
" 'FREED': 'TREES TREED FREES FREER FREED FEWER FEEDS DRESS',\n",
|
||||
" 'GET': 'YET TRY HEY HER GET CRY',\n",
|
||||
" 'GUESSES': 'GUESSES GUESSED',\n",
|
||||
" 'HOSPITAL': 'HOSPITAL',\n",
|
||||
" 'IMAGING': 'OKAYING IMAGING',\n",
|
||||
" 'LETTER': 'LETTER',\n",
|
||||
" 'LUCKY': 'LUCKY',\n",
|
||||
" 'MAY': 'MAY LAY',\n",
|
||||
" 'ONCE': 'ONCE',\n",
|
||||
" 'PALE': 'PALE',\n",
|
||||
" 'PARTIES': 'PARTIES PARTIED',\n",
|
||||
" 'PLAYER': 'PLAYER PLAYED PLATED OKAYED',\n",
|
||||
" 'REPEAT': 'REPEAT',\n",
|
||||
" 'RUSHES': 'RUSHES RUSHED FISHES FISHED',\n",
|
||||
" 'SAMES': 'WAKES WAKED SANDS SAMES ASKED',\n",
|
||||
" 'SHARP': 'SHARP',\n",
|
||||
" 'SINGE': 'WINGS SONGS SINGS SINGE SINCE AUNTS',\n",
|
||||
" 'SPEND': 'WORKS SPEND DOWNS',\n",
|
||||
" 'TAUGHT': 'TAUGHT',\n",
|
||||
" 'WALLED': 'WALLED WALKER WALKED'}"
|
||||
"{'ACCEPTING': 'ACCEPTING',\n",
|
||||
" 'APPEAR': 'APPEAR',\n",
|
||||
" 'ARTS': 'WETS WERE SETS ARTS',\n",
|
||||
" 'BATHROOM': 'BATHROOM',\n",
|
||||
" 'CHOICES': 'CHOICES',\n",
|
||||
" 'CROWDING': 'CROWDING CROSSING',\n",
|
||||
" 'DISCOVERS': 'DISCOVERS',\n",
|
||||
" 'EVERY': 'SHEET EVERY',\n",
|
||||
" 'FEED': 'TREE REDS FREE FEWS FEES FEED FEDS',\n",
|
||||
" 'FIELDS': 'FORMED FIELDS',\n",
|
||||
" 'FOREHEADS': 'FOREHEADS',\n",
|
||||
" 'GLANCE': 'GLANCE',\n",
|
||||
" 'HITS': 'NOTE HUGE HITS GUYS BUYS BOYS BORE BITS BITE BIRD',\n",
|
||||
" 'IGNORER': 'IGNORER IGNORED',\n",
|
||||
" 'KISSED': 'NODDED MISSES MISSED LOWERS KISSES KISSED KIDDED',\n",
|
||||
" 'LIFTS': 'LIFTS',\n",
|
||||
" 'MARRIES': 'NARROWS MARRIES MARRIED',\n",
|
||||
" 'MEMBER': 'MEMBER',\n",
|
||||
" 'NOD': 'NOS NOR NOD KID HIS HID BOX',\n",
|
||||
" 'PALED': 'PAPER PALES PALER PALED',\n",
|
||||
" 'SENSES': 'SENSES SENSED',\n",
|
||||
" 'SHITTING': 'SHUTTING SHITTING SHIRTING',\n",
|
||||
" 'SIMPLES': 'SIMPLES',\n",
|
||||
" 'STOMACHES': 'STOMACHES STOMACHED',\n",
|
||||
" 'STRETCHING': 'STRETCHING',\n",
|
||||
" 'SWING': 'SWUNG SWING',\n",
|
||||
" 'TRUER': 'TRUST TRUER TRUED TRIED',\n",
|
||||
" 'WRAPS': 'WRAPS',\n",
|
||||
" 'YARD': 'YARD USES USED HATS HATE HARD GATE',\n",
|
||||
" 'YOU': 'YOU'}"
|
||||
]
|
||||
},
|
||||
"execution_count": 49,
|
||||
@@ -1590,7 +1598,7 @@
|
||||
"----\n",
|
||||
"\n",
|
||||
"It would be nice to see potentially confusable word paths on a keyboard.\n",
|
||||
"I'll add functionality to `show_kbd` to call the new function `plot_paths` if any `words` are passed to `show_kbd`:\n",
|
||||
"I'll add a call to `plot_paths` in `show_kbd`:\n",
|
||||
"\n"
|
||||
]
|
||||
},
|
||||
@@ -1602,22 +1610,20 @@
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"def show_kbd(kbd, name='keyboard', K=20, words=()):\n",
|
||||
" \"Plot the keyboard with square keys, K units on a side.\"\n",
|
||||
" H = K / 2 # (K is Key width/height; H is half K)\n",
|
||||
"def show_kbd(kbd, name='keyboard', words=()):\n",
|
||||
" \"Plot the keyboard and show title/stats.\"\n",
|
||||
" for L in kbd:\n",
|
||||
" x, y = K * kbd[L].x, -K * kbd[L].y\n",
|
||||
" plot_square(x, y, H, label=L)\n",
|
||||
" plot_paths(kbd, K, words)\n",
|
||||
" plot_square(kbd[L].x, -kbd[L].y, label=L)\n",
|
||||
" plot_paths(kbd, words)\n",
|
||||
" plt.axis('equal'); plt.axis('off')\n",
|
||||
" plt.title(title(kbd, name));\n",
|
||||
" plt.show()\n",
|
||||
" \n",
|
||||
"def plot_paths(kbd, K, words):\n",
|
||||
"def plot_paths(kbd, words):\n",
|
||||
" \"Plot paths for each word.\"\n",
|
||||
" for (i, word) in enumerate(words):\n",
|
||||
" Xs = [+K * kbd[L].x for L in word]\n",
|
||||
" Ys = [-K * kbd[L].y for L in word]\n",
|
||||
" Xs = [kbd[L].x for L in word]\n",
|
||||
" Ys = [-kbd[L].y for L in word]\n",
|
||||
" plt.plot(Xs, Ys, '-o')"
|
||||
]
|
||||
},
|
||||
@@ -1635,9 +1641,9 @@
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x10c1cdac8>"
|
||||
"<matplotlib.figure.Figure at 0x11952a748>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
@@ -1656,7 +1662,7 @@
|
||||
"\n",
|
||||
"- The letters are obscured by the circles. Solution: offset paths away from the center.\n",
|
||||
"- When the paths are the same, they overwrite each other. Solution: offset each path towards a different corner.\n",
|
||||
"- There is no indication what direction the path is going in. Solution: put a diamond on the start position.\n",
|
||||
"- There is no indication what direction the path is going in. Solution: put a black square on the start position.\n",
|
||||
"\n"
|
||||
]
|
||||
},
|
||||
@@ -1668,15 +1674,15 @@
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"def plot_paths(kbd, K, words):\n",
|
||||
"def plot_paths(kbd, words):\n",
|
||||
" \"Plot paths for each word, each with a different offset (and color).\"\n",
|
||||
" Q = K / 5 # Q originally meant a quarter of a key width; but 1/5 looks nicer.\n",
|
||||
" Q = 1/5 # Q originally meant a quarter of a key width; but 1/5 looks nicer.\n",
|
||||
" offsets = [Point(-Q, -Q), Point(-Q, +Q), Point(Q, +Q), Point(Q, -Q)]\n",
|
||||
" for (i, word) in enumerate(words):\n",
|
||||
" Xs = [+K * kbd[L].x + offsets[i % 4].x for L in word]\n",
|
||||
" Ys = [-K * kbd[L].y + offsets[i % 4].y for L in word]\n",
|
||||
" Xs = [kbd[L].x + offsets[i % 4].x for L in word]\n",
|
||||
" Ys = [-kbd[L].y + offsets[i % 4].y for L in word]\n",
|
||||
" plt.plot(Xs, Ys, '-o')\n",
|
||||
" plt.plot(Xs[:1], Ys[:1], 'kd')"
|
||||
" plt.plot(Xs[:1], Ys[:1], 'ks')"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -1686,9 +1692,9 @@
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"image/png": "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\nGCV2EZGMUWIXEckYJXYRkYxRYhcRyRgldhGRjFFiFxHJGCV2EZGMUWIXEckYJXYRkYxRYhcRyRgl\ndhGRjFFiFxHJGCV2EZGMUWIXEckYJXYRkYxRYhcRyRgldhGRjFFiFxHJGCV2EZGMUWIXEckYJXYR\nkYxRYhcRyRgldhGRjFFiFxHJGCV2EZGMUWIXEckYJXYRkYxRYhcRyRgldhGRjFFiFxHJGCV2EZGM\nUWIXEckYJXYRkYxRYhcRyRgldhGRjFFiFxHJGCV2EZGMUWIXEckYJXYRkYxRYhcRyRgldhGRjFFi\nFxHJGCV2EZGMUWIXEckYJXYRkYxRYhcRyRgldhGRjFFiFxHJGCV2EZGMUWIXEckYJfYcZtYQ/78K\nw40Zj9dQzThV3rZGxVO8YoYrzt31iD2ABsXrnI+sv5aK17njVfNh0QaKVISZNbh7Q9ZiiXRkKsW0\ns6qenrVDPKC+yvGqJuvvneJ13nhK7Dk2gcRX7XiNVY5XTfWKp3gdkRJ7+2vMcryMl0YaFU/xkqrm\nsaAau6TW22zoMLh6IAxaAPOnwRXL3Ofkm7ZQ3du62VD6czU9GcQK5rOQK3x1/mUkpRp7NlViX8k6\ntdjbWWer8/U2G3oC/PlxOPW3cPjjcOoJ8OfeZkMLzFLfah262VB25c+cxqmczOGcxqnsyp+tW8Fl\ndEid7b3rjPEqua90hO2rWCy12FuqdqvPzBrdvb6zxDvQbPzjcGqP2LiVwMnwyAT4JO5rcuK1ej1t\nexvPaZxKbWzkGuBvvMMoZhe7bixhMFvwetHzp7WQ3enPDMWrYLzH2YnD2LrVvnInd/lcH11KuHY4\n9qqWW7pWI4i0qbEzxRsIg3rkjOsB7AmHA0sxmwlMAV4Apjjc3GohPRnU4kAFqAVW8BpwcdEr9wRn\n8yluLXr+tJ5UvIrHW8GPqWXrFuNqCftQ6RrLsIzEVGPvRMxsW+AnwO6E0tajwCXu/kGZ41wPzHH3\nG6Phx4C57n5ONPwD4HV3H1fGmOsISdoAB+49AIbna7GPgrsmwReAPYARwHBgxCrYrzssJUr0wAuH\n9+Pkp87k2A/qYgtZA1yDA88DmwGvAKe5+7IU65u4RWRmWwJPRNs1EFgHvB0N7+vua5PGTbF+E4Fv\nu/tj0fBJwOfd/Zhyx4qWPwSY4O57xsaNAZa7+/UViLfc3XuVdZmFzu7u5C7m8Q2ajLine truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x10a1a2da0>"
|
||||
"<matplotlib.figure.Figure at 0x1196503c8>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
@@ -1713,9 +1719,9 @@
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"image/png": "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\njFFiFxHJGCV2EZGMUWIXEckYJXYRkYxRYhcRyRgldhGRjFFiFxHJGCV2EZGMUWIXEckYJXYRkYxR\nYhcRyRgldhGRjFFiFxHJGCV2EZGMUWIXEckYJXYRkYxRYhcRyRgldhGRjFFiFxHJGCV2EZGMUWIX\nEckYJXYRkYxRYhcRyRgldhGRjFFiFxHJGCV2EZGMUWIXEckYJXYRkYxRYhcRyRgldhGRjFFiFxHJ\nGCV2EZGMUWIXEckYJXYRkYxRYhcRyRgldhGRjFFiFxHJGCV2EZGMUWIXEckYJXYRkYxRYhcRyRgl\ndhGRjFFiFxHJGCV2EZGMUWIXEckYJXYRkYxRYhcRyRgldhGRjFFiFxHJGCX2AmbWEP+/BtO5jMdr\nqGWcGu9bTvEUr5zpqnN33WI3oEHxuuYt64+l4nXteLW8WbSDIlVhZg3u3pC1WCKdmUoxHaymH886\nIB5QX+N4NZP1507xum48JfYCq0Diq3W8XI3j1VK94ileZ6TE3vFyWY6X8dJITvEUL6lavhZUYxcA\nrKdtzCDGsiZDWMBMZvFTX+xTi7Xta7bxcBi7Hgx5D2ZOhJ/O8+JtVWOvjWo9f51Bmn2Drrd/VdHR\nZ29X9RudYCQAdWzMCN7mXJwGnHNxRvA2dWxc2LYPbHwMvL0A3MEXgB8Db/ehZdsoXm5Veiw7Il61\nnr/OsH9p9q0r7l+1bj1q+zbS+XVAr6++hrGKxxvEWL7EMOqi6TrgSwxjDmOBY+JNh8PYa2HYGtH0\nGsC1MGwSLdtGcpXa8E6oviPjWaMZsCFbcGvR568Pz1ijTcq3HzKPHjsPYfNrZ9K38Pnr35M3Xxpk\ni+PrHz+Q3i8Nsh9Wb3eaKxbvP3X0Wv4RPfh9bKYzrP8KnsGa9i3vFBg2BtZJeHzWV3L7OxMl9o6X\n6/B4azJkZVLIq4vmF1gPhqxRMG8NYDAt24Jq7BXVkyet0UYBu8Vuq9EHK3z+uneHXWbxwYU38vjG\nc/ncOosYvtpy+p8Fy4s9fx86kx7dlEvj8/81ky/vNYT7qrdDzcXjLTe6vTCYnSZN5rgVO7Zs2/ch\n3nloOqdHkwbsBJzUC9ZOcXzmKrbxCdTytaDEXiDtg29m6wNXAdsQTkb/Hfihuy+tZDwzuxyY6u6/\njqYfBKa5+0nR9KXADHe/InW8BcxkCTRLDkuA16g3swmEF44Dd+0GMxcSXix5C4H3YLine truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x10c228ac8>"
|
||||
"<matplotlib.figure.Figure at 0x119659780>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
@@ -1739,9 +1745,7 @@
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 55,
|
||||
"metadata": {
|
||||
"collapsed": true
|
||||
},
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"def confusingness(kbd):\n",
|
||||
@@ -1749,9 +1753,11 @@
|
||||
" neighbors = neighboring_keys(kbd)\n",
|
||||
" return mean([confusable(w, neighbors) for w in COMMON])\n",
|
||||
"\n",
|
||||
" \n",
|
||||
"def title(kbd, name): \n",
|
||||
" return ('{}: path length = {:.1f}, confuse = {:.0%}'\n",
|
||||
" .format(name, workload_average(kbd), confusingness(kbd)))"
|
||||
" X, Y = span(kbd[L].x for L in kbd), span(kbd[L].y for L in kbd)\n",
|
||||
" return ('{}: size: {:.1f}×{:.1f}; path length: {:.1f}; confusingness = {:.0%}'\n",
|
||||
" .format(name, X, Y, workload_average(kbd), confusingness(kbd)))\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -1802,8 +1808,8 @@
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"CPU times: user 112 ms, sys: 990 µs, total: 113 ms\n",
|
||||
"Wall time: 112 ms\n"
|
||||
"CPU times: user 121 ms, sys: 1.85 ms, total: 122 ms\n",
|
||||
"Wall time: 121 ms\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -1830,14 +1836,14 @@
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"CPU times: user 168 µs, sys: 0 ns, total: 168 µs\n",
|
||||
"Wall time: 171 µs\n"
|
||||
"CPU times: user 174 µs, sys: 1 µs, total: 175 µs\n",
|
||||
"Wall time: 177 µs\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"3.2333097802127653"
|
||||
"3.233309780212764"
|
||||
]
|
||||
},
|
||||
"execution_count": 58,
|
||||
@@ -1863,9 +1869,9 @@
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAYYAAAEKCAYAAAAW8vJGAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAF/NJREFUeJzt3Xm4JGWZpvH7oUoBNwQXtNncGwUUSrQVl0YcRkRtRQVB\nbZh2aR1HRdHpjVFEW23brbtdcGcE2VxQbHTUUVQUxFYLbBYdRFCWQgWrkJJNqHrnj4iD+R3qVJ2i\nMvJUnbp/15XXyYjIiDe2zCfii8g8qSokSZqyyVzPgCRp/WIwSJIaBoMkqWEwSJIaBoMkqWEwSJIa\nBsMaJLkkyV5jnuYhSb4zzmmuZf1vJnnRHNU+OsmbZ/naHZKsTDLx/XSut9GGIskeSS5Mcm2Sv5jr\n+dF4GAxzZ95/gWRMH66Dr6fVBNAkap+W5DdJrkly9uo+XJO8JsnPk/wuyeVJ3j0XoTnNm4F/q6q7\nVdUX53heVivJnv36vibJxasY/ogkp/fDL03yv0aGPTzJef22eu1I/4VJzkqyzaSWYxLmeqfSgJIs\nmOtZYMMIwKn5zBzUPhTYpqruDrwM+FSSrWd47SnA7lW1BbAzsCvw6snM5ox2AC6Y43mYreuAjwOv\nn2H48cC3+m2xJ/CKJE/vh70dOAx4BHB4knv3/Q8DPltVVww213PAYFgLSR6a5OIkz+u775vks/1R\nxM+TvKrvv3WS65JsOTLuov51Ux/WmyR5X390csFoc1U/3VOS/LY/TX/JyLBHJTkzybIkV/TTWDgy\nfGWSVyS5ELiw77d3kp/047yPtfgATHJEks8kObFvLvhhkoePDP/bJBf1w85L8qy+/47AUcBjkyxP\nsnRkslslObUf53tJ7j/Leblbko8lWZLksiRvSZJ+2CFJvpPknUmW9ttjn5Fx75fk2/3R9teSvD/J\nMf3gb/d/r+nn6c/+ONqqpzcuVXVuVd080mshsN0Mr72kqpb1nQuAlcCDZlsryUv7fW1qW+3a998x\nXfPisiTnJnnGyDhH9+vqNtsryUXA/YGpYXfMtKbXfv85tn++aZJjk1zd1/p+knv1w2bctuNSVT+o\nquOAS2Z4yQ504UBVXQx8F9ipH3Z/4JtVdSXwM2D7JDsAzwbeO875XC9UlY/VPOh2or2ARcAvgaf2\n/QP8EDic7k16P+AiYO9++KnAy0am8x7gX/vnhwA30x3tLQAOAK4B7t4PPx14H3AHuiOU3wB79sMW\n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 truncated
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x10a58b550>"
|
||||
"<matplotlib.figure.Figure at 0x1194dafd0>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
@@ -1875,8 +1881,8 @@
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"CPU times: user 10.4 s, sys: 19.7 ms, total: 10.4 s\n",
|
||||
"Wall time: 10.4 s\n"
|
||||
"CPU times: user 10.1 s, sys: 18.6 ms, total: 10.2 s\n",
|
||||
"Wall time: 10.2 s\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
@@ -1911,14 +1917,14 @@
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"def dissatisfaction(kbd):\n",
|
||||
" \"The product of workload average and confusingness, scaled by 5.\"\n",
|
||||
" return 5 * workload_average(kbd) * confusingness(kbd)\n",
|
||||
"def dissatisfaction(kbd, scale=5):\n",
|
||||
" \"The product of workload average and confusingness, scaled.\"\n",
|
||||
" return scale * workload_average(kbd) * confusingness(kbd)\n",
|
||||
"\n",
|
||||
"def title(kbd, name): \n",
|
||||
" return ('{}: path length = {:.1f}, confuse = {:.0%}, overall = {:.1f}'\n",
|
||||
" .format(name, workload_average(kbd), confusingness(kbd), \n",
|
||||
" dissatisfaction(kbd)))"
|
||||
" X, Y = span(kbd[L].x for L in kbd), span(kbd[L].y for L in kbd)\n",
|
||||
" return ('{}: size: {:.1f}×{:.1f}; path length: {:.1f}; confusingness: {:.0%}; overall: {:.1f}'\n",
|
||||
" .format(name, X, Y, workload_average(kbd), confusingness(kbd), dissatisfaction(kbd)))"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -1928,9 +1934,9 @@
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x10c066278>"
|
||||
"<matplotlib.figure.Figure at 0x11b174198>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
@@ -1945,7 +1951,7 @@
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"Now let'stry to minimize confusion. This should take around 2 minutes:"
|
||||
"Now let's try to minimize confusion. This should take around 2 minutes:"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -1955,9 +1961,9 @@
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x10a2fb198>"
|
||||
"<matplotlib.figure.Figure at 0x1194d10f0>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
@@ -1965,9 +1971,9 @@
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAgAAAAEKCAYAAABkC+0BAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xe4JFW57/HvjyFLBgOSjFyVICAigugGDiqiAioqiiio\nmEUxXJGjjJ5jDhgIBpQrBoJH5ZgjtiBBPAQFPQYkjQjKOKOMg6LMvPePtXpPTbN7767eu2t39/p9\nnmceuuK7umpV1Vtrrd4oIjAzM7OyrDHfBTAzM7PmOQEwMzMrkBMAMzOzAjkBMDMzK5ATADMzswI5\nATAzMyvQjAmApGskPbaJwjRF0naSVkoqMgEax3M6yiQ9TtKiGuv/UNLRgyzTNLFXSnrAfMQeBpJe\nJulWSbdL2nQW+1km6X5zVzIbVtVrRtIZkt4+32Vqm/EBGBE7RsQFTRSmYUP3BxCaurk2cU4l7SXp\nJ/lGeZWkvWdY/z2SFku6TdK7+4h3T0lfkHSzpKWSLpS0xyBj9qvLeR7G+jhVotF3OSU9S9KvJP01\nP0TPkLRBl3UfLOk8SX/K5+hbkrbvN/ZckLQm8AHg3yJio4hY2u++ImLDiLhhzgo3JCQdJukiScsl\nnd+xbHNJP87nc2leb6/K8v0lXSfpD5KeVZm/saTLJd2jye8yh/q6ZiQ9Kd/HluZj8onpjoGkt0v6\nuaR/SXprLzGG5g1Y0oL5LsN8qXz3oXsI9CO/GX0VeA+wMfA+4GuSNu6y/kuApwI7ATsDT5F0TGX5\nWpJ2mGK7XSuTGwCXAbsCmwFnAt+QtH4/MQdslM+zZrHtRcBjI2Jj4AHAWsB/dll3E+C/ge2BewM/\nzdPz6T7AOsD/znM5htmfgZOAd02x7G/AC4F7RcSmwHtJ94X2c+gk4CDgicCpktp17V3AOyNi+UBL\n3ocen1v9XjMbAf8BbAk8FNiadC/t5rfAG4Cv9xwhIqb9B1wP7Jc/nwicC3wWuB34GfBg4E3AH4Eb\ngQMq2/4QeCfwE+CvwFeATfKy7YCVwNF5u1ae/1TgGmAJcD7wkDz/jcAXO8r2YeBD+fNGwOnAH4BF\n+cApL1sDeD9wG3At8HJgBbBGl++8K3B5LvPZwFnA2/OyFnBo/rx3/g4H5un9gCsr+zka+CXpovgW\nsG1l2cpcjt8AvwN+lOf9LR/bZwJXAwdVtlkzf4eH93DeNge+BizN8X/U5ZwuzfFuz7FXtssJPBm4\nMq/zY2CnmeLm7Q4CrumY92vgqC7rXwS8qDJ9FHBxZXrPXL92qcx7Zj7X95ymHH8Fdu0z5teAN3bZ\ntl13XwzcnP+9rrL8kcDF+bjdDHwUWDMv6zzPhwGPy3X2uPw9bwZeMM33+iFwdI169pJcz5YAJ1eW\nrUF6o70t18FX5PXXID2Y7wLuyOX8yEz7q/OPlLB9Bvh6j+tvmmNvWrn2lkyz/rr5u92Qz8MFwDrT\n3WMq18brSPe2paRrf23Sfe5vpPvG7cD3K/Vgjcr2k+cGeCDpfvEX4E/AWR3n5QH58xnAyaQb9+3A\nJcD9K+s+HvhVLs8peZ/tGM8HLiQ9GJbk8/jEyrbT3RenK99JuS7+NR+Lh9U8vy8Ezp9muYCn5OO5\nRZ73u8ryW4AtgD2Ab3bZx8+AZ08T48Wkh+Ji4DzgPnn+qcD7OtY9D3hN/rwl8F/5mPwOeFVlvROB\nL5KegX8hXXtdr/cu5/rtfV4zhwI/62G9zwJv7WmfPeysMwG4A/g30k3iM8B1wPHAAuBFwHUdF8Mi\nUvayXj6on83L2hfP/8vL1mHVRbZf3t8b8glcE9g2L7tH3n6NXKkfmae/kk/surniXAq8OC97KekG\neV/Sm8X5dEkASG8lNwCvzmV4OvBPViUAbwM+nD8fn8v3rsqyk/Lng0k3ye1zWd8MXNRRKb6Ty7NO\nZV71wn89cHZl+uBqBWCaC4CUeJ2aYy8A9p7qnHZs8458zhaQkqA/AruTLtbn5e3WyuueQpebP1Mn\nAL8BPtBl/b+0z2Oe3g34a8c67Qf+Q0k3jluBnaept7uQ6uqG/cacZt/tuvv5XN92JN0s9qvsa498\n3LYFfgG8uuPcV8/z44B/ka6vBcCBwHJg4y7xqw+ZXurZV4ENgW1yOR9fuS6uId3wNga+R+W6oCPR\n6GF/25AeQltPc+z2zsd+JbAM2L/HY34IcHMv61bq5/mkt3aRksi18nGa8h5TuTYuJbU6bEK6bxxT\nOe8rWPUAbU93SwC+AByfP68N7FVZbwWrPxRuAx6Rz+HngC/kZZuTHsIH52WvBu5k9QTgTtKDSPmc\n3lyJM919ccrykRKOn5KvHeD/APfOnw8Hrurh+HdNAEj3rTvzMfhYZf7FpNa4hwO/J933LwYe2Ot5\nr+xrv3xMH57P+0fIL0HAPsCNlXU3Id0r7p2P4f8AJ+T6cT/SS+MBed0Tc9mfkqfXId0rZ7rep0wA\nSEnDXj1+pw+168UM6w00AfhOZdmTSRlr+4LYIH/ZjSoXwzsr6z80Hzyx6uLZrrL831n9gadcER6b\npy8AjsifDwB+mz/fG/gH+UGa5z0b+EH+/APyRVzZtlsCsA/w+455F7EqAdivfQGQ3raOJr85krLp\nQ/Lnb1J54yVdvMuBbSqV4nEdcSYrSp7eknTxb5Cnvwi8vsfK8jbSxX+3i4cpEgDgWaRkbrM8fSrw\nto51fgXs00PszUhvo88kXcTPz8f7tC7r3wVsX5l+ELBiivWeT3rw/wnYY5r4GwE/p8sbfJ2YXbZt\nJwAPrsx7D/DJLusfC3xpmvP8uFw3qg+SP3b7jqz+kOmlnj26svyc9nHJ18WLK8v2p7cEYMr91fmX\n6/Zbq8dwmnW3Jt0HntnjvkW6oe84xbKZ7jHXA4d3nNdTK+e9enxmSgA+A3wM2GqKcnQ+FD5RWXYg\n8Mv8+XlUEro87yZWTwB+U1m2Xt73vfK/6e6LU5YP2Jd0rT+KfG/v4/zO1AKwNume87zKvJ3z8bsk\nl+FVpPvYTsC3c319bI/xTwfeXZm+B+lFrt26eQPwmPz5RcD38+dHATd07OtNwKfy5xPJrdXTxO56\nvdNnCwDpmfVnekiGqJEA9DMG4I+Vz38HFkeOmqchJQJt1dHNN5KysS0q835f+XzfvA4Aeb+LgK3y\nrLNIGSj5v1/In7fN+71F0hJJS0kV+56V/XaWo5v7kppxqqrrXwJsL+lepOzyTGAbSZuTssAf5fW2\nAz6cy7OEdPKi8l06v/vdRMQtpOTj6bn//EDSW2cv3ktqvvqupGsl/d9uK+a+9I+SkpcllfK/rl3+\nfEy3Jh2faeV9HEJqwbiV9EbxPbp/37+RHtptG+d5na4nZdx35P1O9V3WJb2hXhwR752mmL3G7CZY\n/fvcSD42eQDb1yTdIukvpJaVLabYR9WfI2JlZfoOVr+OuumlnlWv2ep+O6+LXn+J0G1/Pct1+zuk\nLrauJN0zr3dyRJzb4+63INWT66ZYNtM9Bubg+2VvICVkl0m6WtJR06xbrc/TnSO4+3U0uW1EVO/B\n2zH9fXHK8kXED0ldEqcAf5T0sW6DNfsVEf+MiHOA4yXtlOf9PCL2jYhHk8ZZHEVqyTyd9OA9mvRw\n60XneV5Oujba5/kcVj1LnsOq++q2wFYd973jSclU22rno8/rvWeS9szle3pE/G6u9gvNDALcpvJ5\nO1IWtrgyLyqf/5DX6dy+/UD+IjAhaStSf0g7AVhEynQ3j4jNImLTiNgkInbOy2+Zohzd3MLqNwNI\nlSIVNl1gl5OyvGsi4i5SUnAccG2sGhl8E/CSXJ52mTaIiEu7fPduziS9BRxGeqjd0sM2RMTyiHh9\nRDyQ1Od5nKR9O9fLicxXgJdFxM8rixYB75ii/Of0GP/CiNgjIrYAjiS1/lzWZfVfkJKptl3yvGo5\nH0XqQno68EHgB5K27FhnbVJf3k0R8dIZijhjzBmI1evUtqT6C3Aa6Qb2wIjYhNScOJvBc9NZxMz1\nrJtbSEld27Ydy3upn7OxFmkw4JQkbUJ6+J8XEXV+pbGYdD944BTLut1jpk3Gu2gPSqsONL1P+0NE\n/CkijomIrUhN86f28SufznsXrH7OpjPtfXG68kXEyRGxO/AwUhfAG2qWu1fd6sBJwAkRcSepBeDy\niLgRWEtSLw/X1c5zHj2/OaueJWcBz5C0Lemt/0t5/iJSN3b1eto4Ip5S2XfndTGw6z2/nJ1HGhPU\nmot9VjWRABwh6SF5NPbbSAP52gew8yCdCxwkaV9Ja0p6PakCXwwQEYtJb9hnkE7Sr/P8W4HvAidJ\n2lDJA7Tqt+7nAq+WtFUeod71bZj0ML9L0qtyGZ5GerOvugB4Jave9lsd0wAfB94s6WEw+VOWZ0x7\npFIm33kxnEfqU341KRnoiaSDJLVvgMtITd4rOtZZwKpxGV/q2MUngZcq/5RO0j3yz1J6+imOpF3y\n8duINBjrpoj4XpfVzyQlKPfNyd1xpHPc3tcOpBHgL4iI8yPiI8CngO/n89n+idaXSG9PL+ihiDPF\n/GEPP6V5i6T1cvmOYtXb7IbA7RFxh6SHAC/r2G6q89yvj1G/nrWdCxybj8EmpIG2VX+cw3Ii6TmS\ntsmftyMNNPx+l3U3JF3TP46IE6ZY/jhJK+++5eRb/aeBD0raUtIakvaUtBbd7zGX9Po1KnEWkx4o\nR+QYR1NJOiQ9I9ctWDXuYcoyT+MbwI6SnippgaRXkro8ZzTTfbFb+STtLmmPfE39nXR8eip3Pg7r\nkB7sCyStk/eDpEdJ2lvpVz3rKrVK3os0SLy6jwNI3RbfyrOuA/bP19napDd5JF0v6cguRTkLOErS\nzrk87wQujYib8rG5Ku/ndODbEXF73u4yYJmkN+YyLpC0g6Tdp/naM13vfZG0I6mb+Line truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x10c164e80>"
|
||||
"<matplotlib.figure.Figure at 0x11b1677b8>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
@@ -1975,9 +1981,9 @@
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x10a2cde10>"
|
||||
"<matplotlib.figure.Figure at 0x11a2a2978>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
@@ -1987,8 +1993,8 @@
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"CPU times: user 2min 30s, sys: 482 ms, total: 2min 31s\n",
|
||||
"Wall time: 2min 31s\n"
|
||||
"CPU times: user 2min 23s, sys: 311 ms, total: 2min 23s\n",
|
||||
"Wall time: 2min 23s\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
@@ -2013,9 +2019,9 @@
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x10c12cbe0>"
|
||||
"<matplotlib.figure.Figure at 0x11afe8e48>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
@@ -2029,6 +2035,114 @@
|
||||
" 'S P G O F Y L')))"
|
||||
]
|
||||
},
|
||||
{
|
||||
"attachments": {},
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"# Bonus Question: What about the Keybee Keyboard?\n",
|
||||
"\n",
|
||||
"In December 2017 the [Keybee keyboard](http://keybee.it/) was announced, claiming to cut the path length in half. The keyboard uses hexagonal keys:\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"Let's see if we can replicate it. I'll give `keyboard` optional arguments to scale the (x, y) positions to get the proper hex grid layout (even though I will still draw each key with a square around it rather than a hexagon; I'll leave it to you to fix that if you want):"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 64,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x1174008d0>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
"output_type": "display_data"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"def Keyboard(rows, xscale=1/2, yscale=1):\n",
|
||||
" \"A keyboard is a {letter: location} map, e.g. {'Q':Point(0, 0), 'A': Point(0.5, 1)}.\"\n",
|
||||
" return {ch: Point(xscale * x, yscale * y) \n",
|
||||
" for (y, row) in enumerate(rows)\n",
|
||||
" for (x, ch) in enumerate(row)\n",
|
||||
" if ch != ' '}\n",
|
||||
"\n",
|
||||
"def HexKeyboard(rows): return Keyboard(rows, xscale=(3 ** 0.5)/2, yscale=1/2)\n",
|
||||
"\n",
|
||||
"keybee = HexKeyboard((\n",
|
||||
" ' Q W C ',\n",
|
||||
" 'J U I K',\n",
|
||||
" ' F H N ',\n",
|
||||
" 'Z O T G',\n",
|
||||
" ' R . Y ',\n",
|
||||
" 'B E S V',\n",
|
||||
" ' P A M ',\n",
|
||||
" \"X L D '\"))\n",
|
||||
"\n",
|
||||
"show_kbd(keybee, 'Keybee')"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"That's not pretty, but the keys are in the right places. The path length of 1.9 is better than the 3.2 for the QWERTY layout, but not twice as good, and not as good as some of the layouts we were able to achieve with square keys, and the advantage may be due to the fact that the keys overlap by 13%, not because the layout is especially clever. Can we improve the layout?"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 65,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x1194f8dd8>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
"output_type": "display_data"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"show_kbd(improved(keybee, swaps=6000), 'Improved Keybee')"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"This does indeed cut the path length to\n",
|
||||
"half of QWERTY, so maybe there is something to be said for hex grids. Here is Keybee with some word paths:"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 66,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x1195263c8>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
"output_type": "display_data"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"show_kbd(keybee, 'keybee', words=['FOUR', 'PLEASANT', 'THINGS'])"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
@@ -2068,14 +2182,14 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 64,
|
||||
"execution_count": 67,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x10c05ae48>"
|
||||
"<matplotlib.figure.Figure at 0x11b1c59e8>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
|
||||
Reference in new issue
Block a user