Abstract:
A system includes a computer generated hologram (CGH) design plane and a processor capable of representing a three dimensional object. The processor is configured to represent a surface of the three dimensional object by a facet, impose a grid defining a set of nodes upon the facet, and associate object points with each node of the grid. The processor is further configured to orient the facet to include a common global origin in the CGH design plane and displace the object points away from their associated node in a random or pseudo random direction parallel to the CGH design plane.

Description:
[0001]     This application is a continuation of U.S. application Ser. No. 10/415,958, which is a US national phase of international application PCT/GB01/04882, filed Nov. 5, 2001 which designates the US. This application claims priority to and incorporates by reference in entirety the following applications: GB0027132.0, filed on Nov. 7, 2000 and U.S. provisional application 60/247,048, filed on Nov. 13, 2000. 
     
    
     FIELD OF INVENTION  
       [0002]     This invention relates to a method of, and system for, representing a three dimensional object for display on a system capable of displaying objects in three dimensions. More specifically, it relates to methods of displaying images comprising of adjoining facets, where each facet is populated, or filled, with points to give the appearance from a distance of a continuous surface.  
       BACKGROUND  
       [0003]     In performing the calculations required to display a computer generated hologram (CGH) using an interference based algorithm, it is necessary to populate the object to be displayed with an array of points that, when seen from a suitable distance, appear as a continuum. These are known as object points. It is usual in computer graphics fields to quantize the object to be displayed into a series of planar facets that approximate to the actual shape. The points that make up the object are populated onto these facets. An observer viewing such an object from a sufficiently large distance will tend to see not the individual points but instead the complete object as if it were drawn with continuous lines or areas of colour. For this to occur there must be a sufficient density of points such that the eye cannot distinguish between adjacent points. The human eye can resolve two points if the angle subtended from the eye to the points is typically greater than one minute of arc (290.mu. radians). By knowing the minimum eye to object distance likely to arise, a minimum object point population density can be calculated.  
         [0004]     The facets themselves will generally be of differing sizes and will abut each other at different angles. If the object has curves, then the smaller these facets are, the closer they are able to provide a true representation of these curved areas. The facets will then be populated with object points. Each of these points forms a basic element of the picture, and taken together, these points make up the object to be displayed.  
         [0005]     If it is desired to show part of an image having a continuous surface, there should be no sudden changes in object point population density. On a single facet, there is no problem in obtaining such a uniform density. However, when facets are joined together at different angles, the points will, in general, not flow from one facet to the other and still keep a localised uniform density. This leads to problems of non uniform density of object points across facet boundaries: too high a density will produce a bright area, whereas too low a density will produce a dark area on the object.  
       STATEMENT OF INVENTION  
       [0006]     According to the present invention, there is disclosed a method for representing a three dimensional object in a computer system capable of displaying the object in three dimensions wherein, in use:  
         [0007]     a surface of the object is approximated by a set of planar facets;  
         [0008]     a grid defining a set of nodes is imposed upon each of the facets;  
         [0009]     a point is associated with each node of the grid;  
         [0010]     each point is moved away from its associated node on the plane of the facet;  
         [0011]     the distance and direction of the movement is decided in a random or pseudo random manner;  
         [0012]     such that the totality of points is used as the representation of the object.  
         [0013]     The current invention discloses an object point arrangement having a grid, wherein the actual object points are not confined to being on the nodes of the grid. It has been found that random perturbations of points from the grid improves the behaviour of points at facet borders. Such a grid arrangement has the characteristic that it can be abutted to other orientations of itself whilst only having a minor effect on the point density in the region of the shared edge. Thus one facet having a particular grid orientation can adjoin another facet having a different orientation with little apparent change in point density.  
         [0014]     One variation however is that if a substantially equilateral triangular grid is used, such that the apexes of the grid are all approximately equidistant from their six nearest neighbours, a satisfactory behaviour of the points at facet borders is obtained. It is, however, improved upon by adding the perturbations described herein.  
         [0015]     The invention therefore provides a way to have the minimal density of points consistent with the resolving abilities of the human eye, yet avoid localised overpopulation or underpopulation of the object surface.  
         [0016]     Preferably each grid imposed on each facet has a common origin and orientation relative to the global origin, having rotated the facet into a plane parallel to the display&#39;s design plane.  
         [0017]     The invention is preferably implemented on a computer generated hologram display system, having a display capable of generating interference based holograms. The display panel itself is referred to in this specification as the CGH Design Plane (CDP).  
         [0018]     The method of the current invention may be implemented as a computer program running on a computer system. The program may be stored on a carrier, such as a hard disk system, floppy disk system, or other suitable carrier. The computer system may be integrated into a single computer, or may contain distributed elements that are connected together across a network.  
         [0019]     According to another aspect of the invention there is provided a computer generated hologram display system wherein a surface of the object is approximated by a set of planar facets;  
         [0020]     a grid of related mathematical origin defining a set of nodes is imposed upon each of the facets;  
         [0021]     a point is associated with each node of the grid;  
         [0022]     each point is moved away from its associated node on the plane of the facet;  
         [0023]     the distance and direction of the movement is decided in a random or pseudo random manner;  
         [0024]     such that the totality of points is used as the representation of the object.  
         [0025]     Such a display system implements the method as provided for elsewhere in this specification.  
     
    
     BRIEF DESCRIPTION OF DRAWINGS  
       [0026]     Embodiments of the invention will now be described in detail, by way of example only, with reference to the accompanying drawings, in which:  
         [0027]      FIG. 1  diagrammatically illustrates a single facet populated with random points;  
         [0028]      FIG. 2  diagrammatically illustrates at a) a single facet populated with a rectangular array of points, and at b) two neighbouring facets that are each populated with points on rectangular grids that each have different orientations;  
         [0029]      FIG. 3  diagrammatically illustrates the importance of maintaining the same grid origin across multiple facets as the facet size decreases.  
         [0030]      FIG. 4  diagrammatically illustrates one solution to the problem, wherein the mesh grid is laid out in the form of an equilateral triangular matrix.  
         [0031]      FIG. 5  diagrammatically illustrates an improved mesh arrangement to that of  FIG. 4   
         [0032]      FIG. 6  diagrammatically illustrates the mesh arrangement of the points portrayed in  FIG. 5   FIG. 7  shows a block diagram of the steps taken by the computer system in implementing the invention. 
     
    
     DESCRIPTION OF EMBODIMENTS  
       [0033]      FIG. 1  shows a single facet  1 , as may be used to represent a part of an object, that has been populated with points  2  in a completely random fashion at a point density commensurate with a viewer distance such that in an idealised case the facet appears uniformly opaque. Some apparent clustering of the points can be seen, eg  3 , as well as some denuded areas  4 . These will show up on the object as an unevenness of brightness of that part of the object. The high density areas will appear to be too bright, and the denuded areas will appear as holes in the object.  
         [0034]      FIG. 2   a  shows a solution that works over a single facet. The points  2  are arranged in a rectangular mesh that will appear of uniform density if viewed from a sufficient distance. This mesh does not behave so well when neighbouring facets using the same mesh are considered.  FIG. 2   b  shows a typical example of neighbouring facets  1 ,  5  not lying on the same plane in 3D space that both have a rectangular mesh. In this case, a particularly high density of points is created  6  at the shared boundary of the facets. Equally, if the boundary had been in a different place, an area of sparse density could have been created. Thus a rectangular grid is undesirable.  
         [0035]     Typically, many of the facets representing an object will be very small. The smaller the facet, the more accurately a curved surface can be represented. There is a tendency, therefore, for the facets that are used to approximate curved surfaces to have only a very few points per facet. At the required point density there can even be no points on a facet if it is small enough. These small facets having very few points have their own problems.  FIG. 3   a  shows a set of nine small facets, each large enough to hold about 4 points. Although each facet (e.g.  6 ) has a regular grid and all facets share the same orientation, there is still an apparent bunching of the points at certain boundaries (e.g.  7 ), and a scarcity of points at other boundaries (e.g.  8 ). This is because the grids do not share a common origin as may be expected in the general case where the facets lie on different planes in 3D space. As facet size decreases the effect is increased ( FIG. 3   b ), until eventually at  FIG. 3   c  the points appear to be randomised, which of course has all the problems as discussed in relation to  FIG. 1 .  
         [0036]     A solution to these problems has been found.  FIG. 4  shows one embodiment of the solution. Here, each facet  9 ,  10  has points laid out on an equilateral triangular grid. A common origin is used to start the grid for each facet. This is achieved by rotating the facet by from its 3D orientation into a plane parallel to the CDP. The grid of points then starts from the global origin in each case. Following population the points are rotated by the inverse of the initial rotation to place them in the appropriate place on the original facet surface. It can be seen in  FIG. 4  that when two facets  9 ,  10 , each having such a grid layout, are laid adjacent to each other, the edge effects shown in  FIG. 2  are much reduced, and there is very little apparent bunching or grouping of the points  2 . For points that are not close to the edge of a facet (e.g.  11 ), it can be seen that each of these points  11  is equidistant from its six nearest neighbours. This is a consequence of the triangular layout.  
         [0037]     Although this gives a good solution to the problem, it has been found that it can be improved upon. If each point on the triangular grid is subjected to a displacement in a random, or pseudo-random direction of a distance randomly or pseudo-randomly chosen within some bound then the edge effects described above are reduced further. A bound of ⅓ times the grid spacing works well in the current application, but the bound can be set to that suitable for the application. Other suitable bounds may be 0.4, or 0.25, or 0.18 times the grid spacing, but the invention is not limited to these.  FIG. 5  shows two neighbouring facets  12 ,  13  with points based on a triangular matrix, but perturbed as described above within a bounding distance of 0.333. The superior behaviour at the edge  14  can be seen.  
         [0038]      FIG. 6  shows that, despite first appearances, the points are indeed on a grid that has been distorted as described in the above paragraph.  
         [0039]     Note that where FIGS.  1  to  6  represent the facets as having a border, no such border would be there in practice. Also, in practice, the facets lie on an arbitrary plane in 3D space and need not be square, but can have any number of sides, and be irregular in shape. The embodiments currently implemented have used predominantly triangular facets.  
         [0040]      FIG. 7  shows a block diagram of the processing steps carried out in one embodiment of the invention. Here, the CDP is taken as having its own “global” hexagonal grid, which is used in the manner described below as the reference grid for each grid imposed on each of the facets. Once the facet has been rotated to be co-planar with the CDP, a bounding box is drawn around the facet such that it is the smallest rectangular box that is on the orientation of the grid that encloses the polygon that is the rotated facet. Points within this box that lie on intersections of the CDP&#39;s hexagonal grid are then taken to be object points. These are then perturbed, and then rotated back to the original orientation of the facet.  
         [0041]     The current invention has been implemented on an Active-Tiling.RTM. Computer Generated Hologram (CGH) display system, though any 3D display system could be used, if it is capable of displaying true 3D images, and uses arrays of points to make up surfaces. The computer system itself could be a standalone unit, or could have remote elements connected by a network.  
         [0042]     The Active Tiling system is a means of producing holographic moving images by rapidly replaying different frames of a holographic animation. The Active Tiling system essentially comprises a system for directing light from a light source onto a first spatial light modulator (SLM) means and relaying a number of SLM subframes of the modulated light from the first high speed SLM means onto a second spatially complex SLM. The CGH is projected from this second SLM.  
         [0043]     The full CGH pattern is split up into subframes in which the number of pixels is equal to the complexity of the first SLM. These frames are displayed time-sequentially on the first SLM and each frame is projected to a different part of the second SLM. The full image is thus built up on the second SLM over time. The first SLM means comprises an array of the first SLMs that each tile individual subframes on the second SLM over their respective areas.  
         [0044]     Light from an SLM in the array must not stray onto parts of the second SLM not intended for it. To prevent this a shutter can be placed between the first SLM means and the second SLM, which masks off those areas of the second SLM that are not currently being written to. Alternatively, electrodes on the second SLM that cover the area where it is not wished to write an image can simply be not provided with a drive voltage. Thus any light that is falling onto the second SLM in these areas has no effect on the modulation layer. This avoids the need for a shutter system. The first SLM of such a system is of a type in which the modulation pattern can be changed quickly, compared to that of the second SLM. Thus its updating frame rate is greater than the read-out frame rate of the second SLM.  
         [0045]     The Active Tiling system has the benefit that the image produced at the second SLM, which is addressed at a rate much slower than that of the first SLM array, is effectively governed by the operation of the first SLM. This permits a trade off between the temporal information available in the high frame rate SLMs used in the SLM array and the high spatial resolution that can be achieved using current optically addressed SLMs as the second SLM. In this way, a high spatial resolution image can be rapidly written to an SLM using a sequence of lower resolution images.  
         [0046]     See PCT/GB98/03097 for a full explanation of the Active Tiling system.