createBounds
Franson.Geometry.Bounds
createBounds(points)
todo: create a fromRawBounds constructor method also? (most low-level code uses literals)
- Parameters:
-
points <Iterable[(x,y)]>
- Returns:
Franson.Geometry.Bounds
createBoundsFromCenterSpan
Franson.Geometry.Bounds
createBoundsFromCenterSpan(center, span)
- Parameters:
-
center <(x,y)> -
span <(w,h)>
- Returns:
Franson.Geometry.Bounds
findClosestPoint
integer
findClosestPoint(points, p)
O(N) brute force scan for the closest (x, y) point in the list
todo: very close points, "fat points", can result in degenerate segments of 0-length, need to be handled somehow since they generate false positives..
todo: should perhaps return two indices? to be able to identify the closest segment.
todo: this doesn't really need random-access to the data (just a pair-view)
- Parameters:
-
points <object[]> -
p <Vec2>
- Returns:
integer - index into points
lineSegmentIntersection
(x, y)
lineSegmentIntersection(segmentA, segmentB)
- Parameters:
-
segmentA <Array[(x,y)](2)>line segment -
segmentB <Array[(x,y)](2)>line segment
- Returns:
(x, y) - null if no intersection