This looks just like powerpoint.... Why go through the effort?
Cons:
- Have to learn HTML/CSS/JS
- Webhosting
- Layout is harder
- Resolution robustness is harder
- Wait, did you say I need to learn HTML/CSS/JS?
Trigonometry
The sine of the angle formed by a point $(x,y)$ on the unit circle, the origin, and $(1,0)$ is equal to $y$.
Mean Shift
- Find the stationary points of the locally weighted mean of some data
$$ q=\frac{\sum x K(x,q)}{\sum K(x,q)} $$
Kernel Density (Gaussian Kernel)
$$\scriptsize {\rm I\!P}(\mathbf{q}) = \sum_{\mathbf{x} \in X} K_h(\mathbf{q},\mathbf{x}) $$
$$\scriptsize {\rm I\!P}(\mathbf{q}) = \sum_{\mathbf{x} \in X} e^{
-\frac{1}{2}\left(\frac{||\mathbf{x} - \mathbf{q}||}{h}\right)^2} $$
$$\scriptsize \frac{\partial{\rm I\!P}}{\partial \mathbf{q}} =
\sum_{\mathbf{x} \in X} K_h(\mathbf{q}, \mathbf{x})
\frac{\partial}{\partial \mathbf{q}} \frac{-1}{2}\left(\frac{||\mathbf{x}-\mathbf{q}||}{h} \right)^2$$
$$\scriptsize ||\mathbf{x} - \mathbf{q}||^2 = \mathbf{x}^T\mathbf{x} - 2\mathbf{x}^T\mathbf{q} + \mathbf{q}^T\mathbf{q} $$
$$\scriptsize \frac{\partial{\rm I\!P}}{\partial \mathbf{q}} =
\frac{1}{h^2} \sum_{\mathbf{x} \in X} K_h(\mathbf{q}, \mathbf{x})
(\mathbf{x} - \mathbf{q}) $$
Kernel Density (Gaussian Kernel)
$$\scriptsize \frac{\partial{\rm I\!P}}{\partial \mathbf{q}} =
\frac{1}{h^2} \sum_{\mathbf{x} \in X} K_h(\mathbf{q}, \mathbf{x})
(\mathbf{x} - \mathbf{q}) $$
$$\scriptsize \frac{\sum_{\mathbf{x} \in X} \mathbf{x} K_h(\mathbf{q},\mathbf{x})}
{\sum_{\mathbf{x} \in X} K_h(\mathbf{q},\mathbf{x})} = \mathbf{q} +
\frac{\partial{\rm I\!P}}{\partial \mathbf{q}}
\frac{h^2}{\sum_{\mathbf{x} \in X} K_h(\mathbf{q},\mathbf{x})} $$
Mean Shift == Gradient Ascent on the Kernel Density Function!
Kernel Density
$${\rm I\!P}(\mathbf{q}) = \sum_{\mathbf{x} \in X} K_h(\mathbf{q},\mathbf{x})$$
Supporting JS Libraries for Interactive Presentations
RevealJS
- Helps make a "powerpoint"-y layout
- There's a dozen others
- Not much to see here
MathJax
- Renders LaTeX equations
$$ e^{i \pi} + 1 = 0 $$
- Incredibly Heavy or...
- Internet connection
D3
- D3 = "Data Driven Documents"
- Specifically designed for making pretty pictures from data
- 2D
- Low-level
Three.js
- WebGL 3D/2D on the local GPU
- WebGL is extremely low-level
- Three.js is medium-level
- Three.js has lots of interative freebies
Math.js
- Vector math
- Symbolic math