Convolution from Scratch: Math, Images, and Kernels