Math.DistancePointLine | Part of Math module |
Syntax | Math.DistancePointLine (xp, yp, x1, y1, x2, y2 : real) : real
|
Description | Math.DistancePointLine is used to calculate the distance between a point and a line segment.
It is often used in games to determine if a collision has occurred. (xp, yp) is the location
between the point. (x1, y1) and (x2, y2) are the end points of the line segment.
|
Details | The parameters to Math.DistancePointLine are real, but you can pass integer variables and constants. The parameters
are in the same order as the subprogram name (that is point, then line).
|
Example | This progam draws a line segment and a circle with radius 75 on the screen and outputs whether they touch.
var xp, yp, x1, y1, x2, y2 : int const RADIUS : int := 75 xp := Rand.Int (RADIUS, maxx - RADIUS) yp := Rand.Int (RADIUS, maxy - RADIUS) x1 := Rand.Int (0, maxx) y1 := Rand.Int (0, maxy) x2 := Rand.Int (0, maxx) y2 := Rand.Int (0, maxy) Draw.FillOval (xp, yp, RADIUS, RADIUS, brightred) Draw.Line (x1, y1, x2, y2, brightgreen) if Math.DistancePointLine (xp, yp, x1, y1, x2, y2) < RADIUSthen put "The circle touches the line" else put "The circle does not touch the line" end if |
Execute | |
Status | Exported qualified. This means that you can only call the function by calling Math.DistancePointLine, not by calling DistancePointLine.
|