in reply to perl module or code for calculating the shortest distance between a line and a point (vector linear algebra)
A general algorithm for calculating the closest distance between a line and a point is described, for example, at
http://math.ucsd.edu/~wgarner/math4c/derivations/distance/distptline.htm. Here's a script that illustrates this:
use strict;
use warnings;
# line passes through (x1, y1) and (x2, y2)
my ($x1, $y1) = (0, 2);
my ($x2, $y2) = (2, 2);
# put it into the form y = mx + b
my $m = ($y2  $y1) / ($x2  $x1);
my $b = ($y1 * $x2  $y2 * $x1) / ($x2  $x1);
# target point is (x0, y0)
my ($x0, $y0) = (8, 0);
# shortest distance from line to target point
my $d = abs( $y0  $m * $x0  $b) / sqrt($m * $m + 1);
print "The closest distance is $d\n";
