By Justus Piater. No strings attached, but please give me credit where appropriate, or drop me a note if something doesn't work as advertised.
Covariance ellipses and samples drawn from the corresponding, bivariate, normal distribution of adjustable parameters (HTML/SVG/JavaScript).
Gridworld demos (Java) illustrating value functions and policies of TD(λ), Sarsa, and Q-Learning.
Neural network trained one training instance at a time, showing all intermediate results.
A simple explanation of how PyTorch computes errors, gradients and parameter updates (Jupyter notebook)
Thin-lens projection, allowing just about all elements to be dragged. (HTML/SVG/JavaScript)
Lines and intersections in homogeneous coordinates (HTML/SVG/JavaScript)
Planar homography with adjustable parameters. (HTML/SVG/JavaScript)
Projective camera model with adjustable internal and external parameters. (HTML/SVG/JavaScript)
Discrete Convolution
graphically explained for the computation of a single value in
1D, showing both the shifting kernel and the equivalent inner
product with the stationary, flipped kernel. (Call
showconvj()
at the R prompt; check the code for
optional parameters.)
Spring-Mass-Damper system
with adjustable parameters. Plotted is the state of the system
in temporal and phase spaces. (Call smd()
in
RStudio.)
Kinematics of a
planar arm consisting of two links and a gripper. (Call
forwardKinematics()
or
inverseKinematics()
in RStudio.)
These are mostly obsoleted by the above.
To visualize the effects of a 2D homographic
transformation, download homography.m, homography_draw.m, homography_gui.m and homography_gui.fig
(binary file), and run homography
in Octave or
Matlab.
Under Octave, you then run homography_draw
(see homography.m for
calling conventions), since it lacks Matlab's GUI
functionalities.
To visualize the effects of the various intrinsic and
extrinsic camera parameters, download camera.m, camera_draw.m, camera_gui.m and camera_gui.fig (binary file),
and run camera
in Octave or Matlab.
Under Octave, you then run camera_draw
(see camera.m for calling conventions),
since it lacks Matlab's GUI functionalities.
In this example, the rotation matrix R is composed by multiplying the three axis-rotation matrices parametrized by the orientation angles around x, y and z axes, left to right (Euler angles in “x y z” (pitch-roll-yaw) convention).