Implementation

The implementation was done in C and can be found in Appendix #appsource#160>. The current version is somewhat more memory intensive than would be ideal. Each ``point'' is internally represented as a float, which is 4 bytes on most operating systems. The algorithms could likely be redone in integer math with substantial savings in both efficiency and memory usage, with some loss of precision.

In order to model systems on the scale of a person (2 meters), at a resolution down to typical electrode separations (centimeters), it is necessary to use a grid of greater than 200 points per axis, which yields a memory usage of over 32 megabytes.