Methods for intelligent movement of objects on computer displays
First Claim
1. A method for establishing a contiguous path of points between a beginning position and a selectable position for moving a movable object on a computer-controlled display showing at least one continually stationary impassable object, said path, positions and objects defined by Cartesian coordinates, said method comprising the steps of:
- providing coordinates for the beginning position and the selectable position;
defining a position of at least one impassable object having a perimeter of line segments;
calculating a direct trajectory between the beginning position and the selectable position;
comparing the direct trajectory to the position defined for each impassable object;
establishing a locus of points intermediate the beginning position and the selectable position, said locus of points positioned between the beginning position and a line segment of an impassable object where the direct trajectory does not have a same position as the position of each of the impassable objects and positioned about the impassable object where the direct trajectory and the impassable objects have the same position and,moving the movable object from the beginning position along the locus of points to the selectable position after the locus of points is established.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and system for controlling the movement of an object between points on a display along natural or "intelligent" paths around obstacles includes establishing a locus of data points around each obstacle along which displayed movement of the object may proceed under conditions of the direct trajectory between points intersecting the locus of data points. "Freeway" paths are provided between remote sectors of the display to expedite "natural" movements over substantial distances around obstacles in a second embodiment.
45 Citations
18 Claims
-
1. A method for establishing a contiguous path of points between a beginning position and a selectable position for moving a movable object on a computer-controlled display showing at least one continually stationary impassable object, said path, positions and objects defined by Cartesian coordinates, said method comprising the steps of:
-
providing coordinates for the beginning position and the selectable position; defining a position of at least one impassable object having a perimeter of line segments; calculating a direct trajectory between the beginning position and the selectable position; comparing the direct trajectory to the position defined for each impassable object; establishing a locus of points intermediate the beginning position and the selectable position, said locus of points positioned between the beginning position and a line segment of an impassable object where the direct trajectory does not have a same position as the position of each of the impassable objects and positioned about the impassable object where the direct trajectory and the impassable objects have the same position and, moving the movable object from the beginning position along the locus of points to the selectable position after the locus of points is established. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method for establishing a contiguous path of movement for moving a movable object between a beginning position and a selectable position on a computer-controlled display showing at least one continually stationary impassable object, said path, positions and objects defined by Cartesian coordinates, said method comprising the steps of:
-
providing coordinates for the beginning position and the selectable position; defining an avoidance path of a series of line segments having coordinates about each impassable object; calculating a direct trajectory between the beginning position and the selectable position; comparing the direct trajectory to the avoidance paths for intersections therebetween and for each avoidance path determining a closest intersection and a farthest intersection from the beginning position; and establishing a locus of points intermediate the beginning position and the selectable position, said locus of points including at least; a) a first set of points including the beginning point and points forming a trajectory to an attachment point along the line segment containing the closest intersection; b) a second set of points including the avoidance path from the attachment point to a detachment point along the line segment containing the farthest intersection; c) a third set of 5 points including the detachment point and points forming a trajectory toward the selectable position; and moving the movable object from the beginning position along the locus of points to the selectable position after the locus of points is established. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15)
-
-
16. A method for establishing a contiguous path of movement between a beginning position and a selectable position for moving a movable object on a computer-controlled display showing at least one continually stationary impassable object, said path, positions and objects defined by Cartesian coordinates, said method comprising the steps of:
-
1) providing coordinates for the beginning position and the selectable position; 2) defining a polygon about each impassable object, where each of said polygon is closed, not self-intersecting and not intersecting any other polygon; 3) comparing a direct trajectory between the beginning position and the selectable position to each polygon for intersections therebetween and for each polygon determining a first intersection closest to the beginning position and a second intersection closest to the selectable position; 4) establishing a locus of points intermediate the beginning position and the selectable position by; a) forming a first path of points from the beginning position along the direct trajectory until the selectable position or an intersection between the direct trajectory and a current polygon is reached; b) forming a second path of points along the current polygon until another intersection between the direct trajectory and the current polygon is reached; c) connecting the first and second paths of points to the beginning position; d) testing for overlap of the current polygon with one or more other polygons by comparing an entry and an exit point of the current polygon with a last exit point of an other polygon to determine whether the last exit point of an other polygon lies between the entry and exit points of the current polygon when traversing the direct trajectory from the beginning point to the selectable point; e) excluding any polygon from the path of points if the last exit point of the polygon lies at or before the exit point of the current polygon; and f) performing the steps (1) through (4) recursively using an exit point from the current polygon as the beginning position to produce a recursive path around all polygons and; g) moving the object from the beginning position to the selectable position along the locus of points after the locus of points is established. - View Dependent Claims (17, 18)
-
Specification