Patent Document ID: 8405661
Application ID: 11678102
Patent Status: 1

Claim One:
1. A method for modeling and animating a three-dimensional (3D) trajectory of a three-dimensional (3D) object in a three-dimensional (3D) space, the 3D object moving along the 3D trajectory with unidirectionally progressing time, wherein said 3D space is specified by an origin O (0, 0, 0) and an XYZ coordinate system comprising an x-axis, a y-axis, and a z-axis, wherein a 3D location comprises a triplet (x, y, z) indicating a position of the object in the 3D space, x representing a distance of the position along the x-axis, y representing a distance of the position along the y-axis, and z representing a distance of the position along the z-axis, said method comprising: loading three-dimensional (3D) trajectory data describing the 3D trajectory of the 3D object, the 3D trajectory comprising at least one three-dimensional (3D) course, each 3D course of said at least one 3D course comprising at least one three-dimensional (3D) segment, each 3D segment of said at least one 3D segment comprising two three-dimensional (3D) data points, each 3D data point of said two 3D data points comprising a respective 3D location (X, Y, Z) at a respective time T, said each 3D data point being represented as a respective quadruplet (T, X, Y, Z) indicating the 3D object is positioned in the respective 3D location (X, Y, Z) within the 3D space at the respective time T; parsing the loaded 3D trajectory data by ordering 3D data points of said each 3D course in an ascending time order pursuant to the respective time T of the 3D data points such that the 3D object is positioned along the 3D trajectory in the ascending time order within said each 3D course and by colocating an ending position of the 3D object in a first 3D course and a beginning position of the 3D object in a second 3D course, wherein the first 3D course immediately precedes the second 3D course as two consecutive 3D courses of said at least one 3D course, such that the 3D trajectory transits smoothly between the two consecutive 3D courses; building a first 3D model mesh corresponding to the first 3D course of the parsed 3D trajectory data such that the first 3D model mesh represent the 3D trajectory of the 3D object passing through the 3D space along the first 3D course and such that display features of the first 3D model mesh is controlled independently from display features of another 3D course of the 3D trajectory, wherein the first 3D model mesh is a 3D structure comprising multiple vertices and edges between each set of two vertices of said multiple vertices that are not on a same plane, and wherein the multiple vertices of the first 3D model mesh are initialized as the origin O (0, 0, 0) and stored in a storage device; drawing a first 3D segment of the first 3D course, wherein the first 3D segment comprises a first 3D data point and a second 3D data point of the parsed 3D trajectory, the first 3D data point comprising a first 3D point (X 1 , Y 1 , Z 1 ) at a first time T 1 , represented as a first 3D data point quadruplet (T 1 , X 1 , Y 1 , Z 1 ) of the parsed 3D trajectory data to indicate that the object is on a first 3D location (X 1 , Y 1 , Z 1 ) at the first time T 1 , the second 3D data point comprising a second 3D point (X 2 , Y 2 , Z 2 ) at a second time T 2 , represented as a second 3D data point quadruplet (T 2 , X 2 , Y 2 , Z 2 ) of the parsed 3D trajectory data to indicate that the object is on a second 3D location (X 2 , Y 2 , Z 2 ) at the second time T 2 , said drawing the first 3D segment comprising: generating at least two more vertices for the first 3D location (X 1 , Y 1 , Z 1 ) such that said generated at least two more vertices and the first 3D location coexist on a first face of the first 3D model mesh, such that a normal vector of the first face is parallel to a first vector directed from the first 3D location (X 1 , Y 1 , Z 1 ) to the second 3D location (X 2 , Y 2 , Z 2 ) such that the first vector represents a moving direction of the 3D object within the 3D space between the first time T 1 and the second time T 2 ; adding the generated at least two more vertices to the first 3D model mesh stored in the storage device; and projecting the 3D object at the first 3D location (X 1 , Y 1 , Z 1 ) on the first face for a first duration of (T 2 -T 1 ) from the first time T 1 as a first extension of the first 3D model mesh within the 3D space; and animating the 3D object by iterating said drawing for a second 3D segment of the first 3D course, wherein the second 3D segment immediately succeeds the first 3D segment along the first 3D course of the 3D trajectory, the second 3D segment comprising the second 3D data point and a third 3D data point, the third 3D data point comprising a third 3D location (X 3 , Y 3 , Z 3 ) at a third time T 3 , represented as a third 3D data point quadruplet (T 3 , X 3 , Y 3 , Z 3 ) of the parsed 3D trajectory data to indicate that the 3D object is on a third 3D location (X 3 , Y 3 , Z 3 ) at the third time T 3 , resulting in projecting the 3D object at the second 3D location (X 2 , Y 2 , Z 2 ) on a second face for a second duration of (T 3 -T 2 ) from the second time T 2 as a second extension of the first 3D model mesh subsequent to projecting the first extension of the first 3D model mesh such that the first 3D model mesh accurately represent the 3D trajectory of the 3D object regardless of the extent of movement or changes in direction of the 3D object.