Method and system for displaying visual content in a virtual three-dimensional space
First Claim
1. A method for displaying a projection of a virtual three-dimensional (3D) space onto a display device, comprising:
- (a) designating a 2D base plane in a virtual three-dimensional (3D) space;
(b) loading or downloading a document file and all or part of any related resources embedded in or linked to the document file;
(c) parsing the document file or components thereof, as well as any related resources, into at least one page and at least one content element thereof using a native parser corresponding to each said page and each said content element, wherein each page is a 2D array of 2D and/or volumetric 3D content elements and each page has a layout;
(d) selecting a page for positioning relative to the base plane;
(e) isolating and tagging each content element in or related to the page to identify (1) content elements to remain in the plane of the page, (2) content elements intended to be rotated with respect to the base plane, (3) content elements intended to be translated with respect to the base plane, and (4) content elements intended to be projected as volumetric 3D;
(f) rasterizing each tagged content element, other than any content elements tagged as a content element intended to be projected as volumetric 3D, to a designated raster area;
(g) positioning said page in the 3D space parallel to the base plane;
(h) translating and rotating the content elements tagged for translation or rotation;
(i) selecting a second page or a content element;
(j) isolating and tagging each content element in or related to the second page or content element selected in step (i) to identify (1) content elements to remain in the plane of the page, (2) content elements intended to be rotated with respect to the base plane, (3) content elements intended to be translated with respect to the base plane, and (4) content elements intended to be projected as volumetric 3D;
(k) rasterizing each tagged content element other than any intended to be projected as volumetric 3D to a designated raster area;
(l) positioning said second page or content element in the 3D space;
(m) translating and rotating the content elements tagged for translation or rotation;
(n) repeating steps (i) to (m) for any additional page or content element;
(o), selecting a viewpoint and a viewing ray extending from the viewpoint and intersecting the base plane at an angle between 0 and 90°
;
(p) positioning a first planar 2D surface in the 3D space so that the first planar 2D surface intersects the viewing ray between the viewpoint and the base plane so as to define a viewing frustum, within which is a viewing space, wherein the viewing space contains at least a portion of the first page and at least a portion of the second page or content element;
(q) projecting the entire viewing space onto the first planar 2D surface by a single perspective projection determined by the viewing ray, such that for every point in the viewing space that is projected onto a corresponding point on the first 2D surface, that point of the viewing space, the corresponding point projected onto the first 2D surface and the viewpoint are collinear;
(r) optionally projecting the single perspective projection on the first 2D surface onto a second 2D surface; and
(s) displaying the first 2D planar surface or the second 2D surface on a display device.
0 Assignments
0 Petitions
Accused Products
Abstract
A system and system for positioning content elements in a virtual 3D space. A 2D base plane is designated in the 3D space, and the visual content is positioned in the 3D space with at least one page being parallel to the base plane. A viewpoint and a viewing ray are selected in the 3D space from which to view the 3D space with the viewing ray being neither parallel or perpendicular to the base plane. A 2D surface is then positioned in the 3D space so that the 2D surface intersects the view ray between the viewpoint and the base plane. At least a portion of the 3D space is then projected onto the 2D surface by a perspective projection determined by the viewing ray. The process may be repeated as desired each time optionally selecting a new viewpoint and/or selecting a new viewing ray and/or altering a property of one or more content elements. The projection onto the viewing surface may be displayed on a display device such as a computer monitor.
39 Citations
58 Claims
-
1. A method for displaying a projection of a virtual three-dimensional (3D) space onto a display device, comprising:
-
(a) designating a 2D base plane in a virtual three-dimensional (3D) space; (b) loading or downloading a document file and all or part of any related resources embedded in or linked to the document file; (c) parsing the document file or components thereof, as well as any related resources, into at least one page and at least one content element thereof using a native parser corresponding to each said page and each said content element, wherein each page is a 2D array of 2D and/or volumetric 3D content elements and each page has a layout; (d) selecting a page for positioning relative to the base plane; (e) isolating and tagging each content element in or related to the page to identify (1) content elements to remain in the plane of the page, (2) content elements intended to be rotated with respect to the base plane, (3) content elements intended to be translated with respect to the base plane, and (4) content elements intended to be projected as volumetric 3D; (f) rasterizing each tagged content element, other than any content elements tagged as a content element intended to be projected as volumetric 3D, to a designated raster area; (g) positioning said page in the 3D space parallel to the base plane; (h) translating and rotating the content elements tagged for translation or rotation; (i) selecting a second page or a content element; (j) isolating and tagging each content element in or related to the second page or content element selected in step (i) to identify (1) content elements to remain in the plane of the page, (2) content elements intended to be rotated with respect to the base plane, (3) content elements intended to be translated with respect to the base plane, and (4) content elements intended to be projected as volumetric 3D; (k) rasterizing each tagged content element other than any intended to be projected as volumetric 3D to a designated raster area; (l) positioning said second page or content element in the 3D space; (m) translating and rotating the content elements tagged for translation or rotation; (n) repeating steps (i) to (m) for any additional page or content element; (o), selecting a viewpoint and a viewing ray extending from the viewpoint and intersecting the base plane at an angle between 0 and 90°
;(p) positioning a first planar 2D surface in the 3D space so that the first planar 2D surface intersects the viewing ray between the viewpoint and the base plane so as to define a viewing frustum, within which is a viewing space, wherein the viewing space contains at least a portion of the first page and at least a portion of the second page or content element; (q) projecting the entire viewing space onto the first planar 2D surface by a single perspective projection determined by the viewing ray, such that for every point in the viewing space that is projected onto a corresponding point on the first 2D surface, that point of the viewing space, the corresponding point projected onto the first 2D surface and the viewpoint are collinear; (r) optionally projecting the single perspective projection on the first 2D surface onto a second 2D surface; and (s) displaying the first 2D planar surface or the second 2D surface on a display device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58)
-
-
34. A system for displaying a projection of a virtual three-dimensional (3D) space onto a display device, comprising a processor and the display device, wherein the processor is configured to:
-
(a) designate a 2D base plane in a virtual three-dimensional (3D) space; (b) load or download a document file and all or part of any related resources embedded in or linked to the document file; (c) parse the document file or components thereof, as well as any related resources, into at least one page and at least one content element thereof using a native parser corresponding to each said page and each said content element, wherein each page is a 2D array of 2D and/or volumetric 3D content elements and each page has a layout; (d) select a page for positioning relative to the base plane; (e) isolate and tag each content element in or related to the page to identify (1) content elements to remain in the plane of the page, (2) content elements intended to be rotated with respect to the base plane, (3) content elements intended to be translated with respect to the base plane, and (4) content elements intended to be projected as volumetric 3D; (f) rasterize each tagged content element, other than any content elements tagged as a content element intended to be projected as volumetric 3D, to a designated raster area; (g) position said page in the 3D space parallel to the base plane; (h) translate and rotate the content elements tagged for translation or rotation; (i) select a second page or a content element; (j) isolate and tag each content element in or related to the second page or content element selected in step (i) to identify (1) content elements to remain in the plane of the page, (2) content elements intended to be rotated with respect to the base plane, (3) content elements intended to be translated with respect to the base plane, and (4) content elements intended to be projected as volumetric 3D; (k) rasterize each tagged content element other than any intended to be projected as volumetric 3D to a designated raster area; (l) position said second page or content element in the 3D space; (m) translate and rotate the content elements tagged for translation or rotation; (n) repeat steps (i) to (m) for any additional page or content element; (o) select a viewpoint and a viewing ray extending from the viewpoint and intersecting the base plane at an angle between 0 and 90°
;(p) position a first planar 2D surface in the 3D space so that the first planar 2D surface intersects the viewing ray between the viewpoint and the base plane so as to define a viewing frustum, within which is a viewing space, wherein the viewing space contains at least a portion of the first page and at least a portion of the second page or content element; (q) project the entire viewing space onto the first planar 2D surface by a single perspective projection determined by the viewing ray, such that for every point in the viewing space that is projected onto a corresponding point on the first 2D surface, that point of the viewing space, the corresponding point projected onto the first 2D surface and the viewpoint are collinear; (r) optionally project the single perspective projection on the first 2D surface onto a second 2D surface; and (s) display the first 2D planar surface or the second 2D surface on a display device.
-
Specification