Message: 1 Date: Thu, 6 Jan 2005 16:20:44 -0500 From: James Steiner <[EMAIL PROTECTED]> Subject: Re: Answer to a question no one asked To: How to use Revolution <[email protected]> Message-ID: <[EMAIL PROTECTED]> Content-Type: text/plain; charset=US-ASCII
On Thu, 6 Jan 2005 07:40:10 -0800, James Hurley <[EMAIL PROTECTED]> wrote:What is the perpendicular distance between a point and a line?
Application for which there is no redeeming social value: if x3-x2 is 0 then return (x1-x2) else put (y3-y2)/(x3-x2) into m -- The slope return (m*(x1-x2)-(y1-Y2))/sqrt(1+m*m) end if
Oddly, this is the answer to a question I asked on another users list for another programming environment, months ago -- netlogo-users.
For a drawing utility, I needed to create a query that returns the set of "patches" (grid cells) with a perpendicular distance of N from the line between two arbitrary cells.
Using your formula, I can now use this (netlogo) code:
set line-patches ( patches with [ ( perpdist myself start-point end-point ) < n ]
The prior solution was extremely verbose, convoluted, and slow. This seems like it will be faster.
Thanks!
~~James
James,
Glad it was useful. It has a number of applications to problems in geometry.
(To derive this result it is best to use the "Normal" form for the straight line. Instead of the standard form, y = m x + b, the line is defined by a perpendicular line from the origin to the straight line. The distance from the origin to the line is p and the angle this construct makes with the x-axis is phi. Then the line is defined by the equation: x cos(phi) + y sin(phi) = p.)
Interesting that you came to RR from LOGO. So did I--or rather from LOGO to HC to RR.
Some time ago I wrote a little book, illustrating the use of LOGO to solve physics problems--"LOGO Physics", Holt, Rinehart and Winston.
But I soon learned that students had a much easier time with HyperTalk than LOGO, and so I wrote a Turtle Graphics interpreter for HT. You can find in on the RR web site: http://downloads.runrev.com/stacks_apps/ or for download: http://downloads.runrev.com/stacks_apps/turtlegraphics.php
Jim
_______________________________________________ use-revolution mailing list [email protected] http://lists.runrev.com/mailman/listinfo/use-revolution
