text:
|Publication number
|Publication type
|Application number
|Publication date
|Oct 9, 2001
|Filing date
|Sep 29, 1998
|Priority date
|Sep 29, 1997
|Fee status
|Also published as
|Publication number
|Nathan Sidwell, David Stuttard
|Original Assignee
|Science Research Foundation
|Export Citation
|BiBTeX, EndNote, RefMan
|Patent Citations (7), Referenced by (43), Classifications (5), Legal Events (3)
|External Links: USPTO, USPTO Assignment, Espacenet
This invention relates to the generation and use of compressed image data. In particular, it relates to a method and computer system for generating compressed image data, and to a method and image rendering device for rendering pixel data using the compressed image data.
The invention is particularly concerned with graphics data which is intended for display on a monitor associated with a computer system or some other control means including a processor means. For instance, the display may be the monitor of a computer system, the graphics data generated being stored on the memory of the computer system or on, for instance, a CD-ROM and being retrieved for rendering to the monitor of the computer system. Alternatively, the compressed image data for rendering to the monitor may be retrieved from a remote source. It is a characteristic of such systems that the image rendering device which displays the compressed image data has associated therewith a user interface which enables user interaction.
One objective for the local image rendering device is to allow pixel data to be rendered for display with the minimum amount of time.
An objective for forming the compressed image data from the image source is to represent the original image in a useful format which allows rendering time to be kept to a minimum yet results in a flexible and useful system. A particularly useful feature of flexibility is to allow the display system to receive compressed image data from a number of different image sources without significantly altering the rendering time for display of the pixel data on the local display. Another desirable feature is to reduce the amount of unnecessary pixel data which is generated, particularly in respect of objects which are invisible in the final display.
One known data structure according to which compressed image data is transmitted is a Binary Space Partition (BSP) tree according to which polygons defined in the image to be rendered are held in an index in which each polygon is identified as a list of a number of identifiers. According to convention, each polygon is identified by three identifiers such that they are mapped onto triangles, but this is not essential. The data structure includes a list which maps each identifer onto a point defined in Cartesian coordinates (X,Y,Z). Using this basic format, a BSP tree is established for an image by a process of allocating subdividing polygons. The BSP tree is a useful format for compressed image data, although it does have some limitations.
One of these is that, in rendering an image from compressed image data stored as a BSP tree, pixel data may be generated for polygons that are not in fact visible in the final display. This thus is a waste of processing time.
Moreover, some polygons are required to be split up during formation of the BSP tree so that effectively two polygons have to be created for a single polygon in the image.
According to one aspect of the present invention there is provided a method of generating compressed image data defining a 3-D image to be rendered in 2-D comprising:
defining in the image a plurality of hulls, each hull being defined as a set of polygons in a designated coordinate system;
defining for each of at least some of said hulls a portal, each portal being defined as a set of points in the designated coordinate system for that hull and a viewing transform for mapping the portal to another, target hull; and
storing a data structure which holds the defined hulls and portals in a manner describing their physical relationship in the image, the data structure representing the compressed image data.
By defining hulls and portals, a number of different advantages can be obtained.
The viewing transform for each portal that allows one hull to be matched to another allows hulls to be generated on independent coordinate systems which can be related by the viewing transform. Thus, it is possible to provide compressed image data from a number of different image sources each providing their own hulls and portals, provided that the viewing transforms allow for this mapping.
Another advantage is that there is much more flexibility about the arrangement of hulls within the image. The physical relationship of hulls can be changed relative to one another by altering the viewing transforms of the portals. Importantly, this allows for an easy technique for coping with moving objects within an image.
The use of portals also allows clipping to be effected when an image is rendered, for example by frustrum culling so that only that part of a hull which can be seen through the portal from the defined user viewpoint is rendered.
A portal maps the coordinate set of one hull into another, and a transformation is provided to achieve this. Thus, a transformation may map a target hull to a source hull. The definition of each portal may also include an inverse viewing transform. The inverse viewing transform maps the source hull to the target hull. The provision of such inverse transforms allows a viewpoint to move through a portal from a source hull into a target hull.
In the preferred embodiment the data structure comprises an index in which each polygon is stored as a group of identifiers, and a list in which each identifier denotes a point in the designated coordinate system. Typically, a Cartesian coordinate system could be used. A suitable form of data structure is a BSP tree. The data structure can also hold for each polygon, polygon properties such as colour, texture and normals.
In the described embodiment, each portal is defined as a convex quadrilateral by four points. This renders clipping techniques such as frustum culling particularly simple. However, portals of other shapes can be defined.
The method of the invention is particularly useful when applied to an image in which objects are moving. Moving objects are defined in the data structure as respective sub-hulls, each with an associated moving portal in the hull containing the sub-hull. Thus a nomad is a moving portal within a hull, the moving portal mapping into that hull a sub-hull.
The invention also provides a method of operating a computer system to generate compressed image data defining a 3-D image to be rendered in 2-D, comprising:
displaying a representation of the 3-D image on a display;
operating a user interface to define in the representation of the image a plurality of hulls and, for each of at least the sum of said hulls, a portal,
wherein the computer system defines each hull as a set of polygons in a designated coordinate system, and defines each portal as a set of points in the designated coordinate system for that hull and a viewing transform for mapping the portal to another, target hull; and
storing in a memory of the computer system a data structure which holds the defined hulls and portals in a manner describing their physical relationship in the image, the data structure representing the compressed image data.
The invention also provides a computer system for generating compressed image data defining a 3-D image to be rendered in 2-D, the data server comprising:
an interface for allowing a user to define in a representation of the 3-D image a plurality of hulls and, for each of at least some of said hulls, a portal;
a processor for defining each hull as a set of polygons in a designated coordinate system, and each portal has a set of points in the designated coordinate system for the hull with which it is associated and a viewing transform for mapping the portal to another, target hull; and
a memory holding a data structure which holds the defined hulls and portals in a manner describing their physical relationship in the image, the data structure representing the compressed image data.
According to another aspect of the present invention there is provided a method of rendering an image from compressed image data which is in the form of a data structure which holds data defining hulls and portals in a manner describing their physical relationship in the image, wherein each hull is defined as a set of polygons in a designated coordinate system and has a portal defined as a set of points in that designated coordinate system and a viewing transform for mapping that portal to another, target hull, the method comprising:
traversing the data structure according to a selected view point and selecting for rendering hulls and portals visible from that viewpoint;
rendering the visible hulls and portals in sequence by generating pixel data from the data held in the data structure for each hull and portal; and
when a portal is encountered, rendering the target hull according to the viewing transform associated with that portal.
This method allows for the use of compressed image data in the form defined in the first aspect of the invention so as to render images in a time effective manner. The view transforms associated with the portals are used to greatly simplify rendering of the hulls as pixel data.
This aspect of the invention also provides an image rendering device having a communications interface for receiving compressed image data which is in the form of a data structure which holds data defining hulls and portals in a manner describing their physical relationship in an image, wherein each hull is defined as a set of polygons in a designated coordinate system and has a portal defined as a set of point in that designated coordinate system and a viewing transform for mapping that portal to another, target hull;
a processor for traversing the data structure according to a selected viewpoint and selecting for rendering hulls and portals visible from that viewpoint;
pixel data generating means for generating pixel data from the data held in the data structure for each of the visible hulls and portals, thereby to render those hulls and portals in sequence in such a manner that, when a portal is encountered, the target hull is rendered according to the viewing transform associated with that portal.
For a better understanding of the present invention and to show how the same may be carried into effect, reference will now be made by way of example to the accompanying drawings in which:
FIG. 1 is a schematic block diagram of one environment in which the present invention can be used;
FIG. 2 illustrates a flow diagram of the general steps for implementing the hulls and portals system;
FIG. 3 illustrates the creation of a three dimensional scene using a 3-D Studio Max editor;
FIG. 4 illustrates in two dimensional form a simple geometrically correct scene;
FIG. 5 illustrates in three dimensional form the simple scene of FIG. 4;
FIG. 6 illustrates the flow diagram for the steps of creating a scene;
FIG. 7 illustrates a simple scene in a geometrically incorrect arrangement;
FIG. 8 illustrates a flow diagram of the steps for interpreting the scene;
FIG. 9 illustrates the division of a scene to create a BSP tree;
FIG. 10 illustrates the construction of a BSP tree for the scene of FIG. 9;
FIG. 11 illustrates the transformation of mapping portals;
FIG. 12 is a flow diagram for the steps in rendering a scene;
FIG. 13 illustrates the concept of frustum culling;
FIG. 14 illustrates further the concept of frustum culling;
FIG. 15 illustrates a special case scene of a hull within a hull;
FIG. 16 illustrates a special case of an irregular shaped portal;
FIG. 17 illustrates the special case of a moving object traversing between hulls;
FIG. 18 illustrates the construction of a BSP tree for the specific example of FIG. 4;
FIG. 19 illustrates the construction of a BSP tree for the specific example of FIG. 4; and
FIG. 20 illustrates the order in which the three-dimensional scene of FIG. 4 is drawn.
FIG. 1 shows an exemplification of an image visualisation device 2 which is connected to receive compressed information via communications link 4 from an image generation device 6. The image generation device 6 may be remote from the image visualisation device 2, or they may in fact be the same device. In the event that they are the same device, they can be considered as two devices being separated in time, in that the image generation device 6 must first generate an image before it can be displayed on the image visualisation device 2. The image need only be generated once, no matter how many times thereafter it needs to be visualised.
The image generator 6 comprises an image creation controller 10 which receives inputs from an image input 8. The image creation controller 10 outputs signals to an image display 14, and an image store 12. The image store 12 generates signals on the communication link 4.
The image visualisation device 2 includes a communication interface 18 for receiving the compressed information on the communication link 4 and transferring such to a display controller 22. The display controller 22 receives inputs from a display input 24, and generates outputs to a display generating means 20. The display generating means 20 outputs signals to a scene display 16. The image generation device 6 is typically a computer system, the image input 8 comprising a keyboard and the image display 14 comprising a monitor. The image creation controller 10 comprises the processor circuitry of the computer system, and the image store 12 storage means in the computer system such as memory.
The image visualisation device 2 may similarly be a computer system, and in one embodiment the same computer system as the image generation device 6, or may alternatively be an application specific block provided simply for the purpose of displaying the compressed information. The display input 24 of the image visualisation device 2 may be any kind of input means such as a keyboard, a mouse, or a joystick. The display controller 22 may be processor circuitry of a computer system, or dedicated processor circuitry associated with the application specific to the image visualisation device 2. The display generation means 20 is a pixel generating means, which generates pixels to the scene display 16 in dependence on data provided thereto by the display controller 22. The scene display 16 is a monitor.
The compressed information may be provided to image visualisation device 2 from a number of sources. For instance, the communication link 4 may provide the compressed information from a memory store such as a CD-ROM, the compressed information having been written to the CD-ROM by the image generation device 6.
The image generation device 6 is responsible for generating compressed information in the form of compressed image data from a three dimensional image source. This can be considered as comprising of two main phases: creation of a scene; and interpretation of a scene.
The mechanisms for implementing a hulls and portals system can be broken into three distinct stages. Hereinafter, these three stages will be described individually, with some examples and explanations of the terms and techniques used at each stage. Referring to FIG. 2, there is shown a flow chart illustrating the three distinct phases. The first stage 40 is to create a scene, the second stage 42 is to interpret the scene, and the third stage 44 is to visualise the scene. The stages of creating a scene and interpreting a scene are performed in the image generation device 6, and results in the generation of the compressed information. The first stage of visualising a scene is performed in the image visualisation device 2 based on the compressed information generated by the image generation device 6.
In one example, the image generation device 6 comprising a computer system employs a standard three dimensional (3-D) editing package such that a user can create, via the image input 8, 3-D scenes. In one particular application, a 3-D editing package known as "3-D Studio Max" is used. This enables a scene to be created having rooms and doorways/windows which link the rooms, together with objects in the rooms.
Referring to FIG. 3, there is illustrated one exemplification of the image display 14 whilst the 3-D Studio Max package is in use for generating a 3-D scene. In this particular example, a scene is being created having three rooms, the three rooms being interlinked by two doorways.
FIG. 3 shows a top view 50, left-side view 52, a front view 54, and a user (three dimensional) view 56 as seen on the image display 14 by the individual creating a 3-D scene using the image input 8. The scene comprises a first room 58, a second room 60 and a third room 62. The first room 58 and second room 60 are linked via a first doorway 64, and the second room 60 and third room 62 are linked by a second doorway 66. Thus, in this example, the first, second and third rooms are designated as first, second and third "hulls", and the first and second doorways are designated as first and second "portals".
A hull is merely a collection of "objects". An empty room comprises walls, a floor and a ceiling. Thus defining a set of walls, a floor and a ceiling as objects and associating them with a hull name defines that hull. Portals are doorways or windows from one hull to another hull. Thus a portal in one hull must generally be associated with a portal in another hull, but in a special case may be a "mirror" portal providing a doorway or window back into the same hull.
For the purpose of further description of the invention, the scenes will be considered in two dimensions only. The simplified two dimensional form can be easily extended into three dimensional form, and readily enables understanding of the present invention.
Referring to FIG. 4, there is illustrated a scene comprising a first room 92, a second room 94, and having a doorway or window 96 between the first and second rooms. The first and second rooms are designated as first and second hulls, and the doorway is designated as a portal. For completeness, FIG. 5 shows the two-dimensional example of FIG. 4 in its three-dimensional form.
Hulls are given an arbitrary name. Thus in relation to FIG. 4 we can name the first hull 92 HULL#1 and the second hull 94 HULL#2. In real examples, each of the first and second hulls may comprise objects therein, in the illustrated examples the only objects contained in a hull are the walls, floor and ceiling. Any object belonging to a hull is defined as:
Thus, if there are two nominal objects in the first hull, they can be designated as OBJECT#1 [HULL#1] and OBJECT#2 [HULL#1]. Thus, any number of objects can be designated as belonging to a given hull.
FIG. 6 illustrates a general flow chart for carrying out the steps of creating a scene. A first step 80 is to define any hulls in the scene. Thus, in the present example, two hulls are defined as HULL#1 and HULL#2. A second step 82 is to define any objects. Thus in the present example we have defined two objects OBJECT#1 and OBJECT#2.
A third step 84 is to define nomads. Nomads are a special case of objects in that they are moving objects. A nomad is actually defined as a hull, and to distinguish from "normal" fixed hulls they are also referred to a sub-hulls. Nomads are simply objects that can move independently of the hulls. They are defined as objects, but are not statically associated with any hull.
In a next step 86, the defined objects are associated with respective defined hulls. Thus OBJECT#1 and OBJECT#2 are defined as associated with HULL#1.
A next step 88 is to define any portals in a scene. In the present example described with reference to FIG. 4, a portals 96 needs to be defined. There are several ways in which a portal can be defined, and two ways in which such definition can be made are described hereinbelow with reference to FIG. 4 and also FIG. 7.
All objects are defined as a set of triangular polygons. Thus an object is made up of a plurality of triangular polygons. Each triangular polygon is defined by three coordinates. Thus, for example, if an object is of a rectangular shape, such rectangular shape is actually drawn by drawing two triangles. Thus in defining objects, a number of three coordinate polygons are listed which make up the shape of the object. In addition in defining the shape of objects, other information associated with the objects is also defined. For instance, the brightness of the objects in dependence on whether they are orientated towards a light source, texture coordinates associated with the objects etc. For a more detailed discussion of the various information defined in defining objects, reference should be made to the simple examples for creating the scenes of FIGS. 4 and 7 given at the end of this description with reference to Appendices A to J.
Portals are defined as four sided polygons by reference to four coordinates. As with objects, other information associated with the portals is defined.
Referring to FIG. 4 the arrangement shown therein is called a "geometrically correct" arrangement of connected hulls. In this geometrically correct arrangement, both the first 92 and second 94 hulls share a common coordinate system. That is, the first and second hulls 92 and 94 are both defined in the same coordinate system, and the portal 96 between the two hulls can be defined in this coordinate system such that if the portal 96 is defined in relation to the first hull 92 it will have the same coordinates as when it is defined in relation to the second hull 94.
The portal 96 shown in FIG. 4 is known as a "gap portal". The portal 96 can be defined as a single four sided polygon that references two hulls. The naming convention for defining gap portals is as follows:
This portal is defined in this way in relation to both of the first and second hulls. Thus, and referring to FIG. 4, the portal shown therein may be defined as:
A second arrangement of hulls is known as a "geometrically incorrect" arrangement and is shown in FIG. 7. It is so called because since the first 92 and second 94 hulls are defined in different, independent coordinate systems. Referring to FIG. 7, the first hull 92 has a portal 100 associated therewith, and the second hull 94 has a portal 98 associated therewith. When the scene is created, the portals 98 and 100 are intended to be merged such that the scene is seen as an arrangement similar to that of FIG. 5. Thus this geometrically incorrect arrangement requires each of the portals 98 and 100 to be mapped onto each other to enable the scene to be created. Each portal belongs to a particular hull, and is defined as a four sided polygon. Each portal belonging to a particular hull must also reference a target hull and a portal in that target hull to enable the scene to be created. Thus, there is provided a mapping between two unconnected portals, and the portals in this arrangement are termed "mapping portals".
The naming convention for mapping portals is:
There are two of these definitions for a mapping portal, one associated with each hull. Thus in the definition of the first hull 92 there will include a definition of a mapping portal being portal#1[hull#1]−>portal#1[hull#2]. In the definition of the second hull there will be a definition of a mapping portal of portal#1[hull#2]−>portal#1[hull#1]. Thus, the step 88 of defining the portals will take one of two routes in dependence on whether the portals between hulls are in a geometrically correct or geometrically incorrect system.
It should be noted that under software control gap portals could be converted to mapping portals. This allows the coordinate system for each hull in a geometrically correct arrangement to be altered such that they become independent, even if joined by gap portals.
Referring to FIG. 5 again, the next step 90 in creating a scene description by creating an editor file. The editor file assembles together for any particular scene the appropriate hulls, portals and nomads associated with the scene. This editor file effectively describes the geometry of the hulls, portals and nomads as described hereinabove. An overall description file is also established which contains a graph linking all the hulls, portals and nomads in the editor file according to their definition in the 3-D editor.
At this stage, any inconsistencies in the design of the scene can be picked up. For example, hulls that cannot be reached, references to non-existent hulls, etc. Furthermore, polygon properties such as animated textures, colours, and polygon normals can be inserted into the files at this stage.
Once the 3-D editor, in this case 3-D Studio Max, has been used to create the editor file and the overall description file that defines the connection graph, they must be parsed into a suitable format for real time visualisation. This primarily involves taking the hulls, portals and nomads, and the overall description file, parsing them and physically creating the graph described in the overall description file and linking hulls together via portals by creating the relevant transforms to achieve this. A flow chart illustrating the steps involved in interpreting the scene is illustrated in FIG. 8.
As shown in FIG. 8, in interpreting a scene a first step 102 parses the scene description (editor files and overall description file), a second step 104 creates portal transforms, and a third step 106 creates data structures. These steps will now all be described in detail hereinafter. The interpretation process results in a data structure which is used to contain the collections of polygons that represent objects in the scene, and the position and geometry (i.e. sub-hull) of any nomad in the scene. The data structure thus created is stored in the image store 12 of the image generation device 6.
When visualising a three dimensional scene, some form of data structure is used to contain the collections of polygons that represent the objects in the scene. Precisely what form this data structure takes depends on the mechanism employed to remove hidden surfaces. Hidden surfaces are surfaces and/or parts of objects that are either outside the viewer's field of view, or are obscured by other objects nearer to the viewer. In the described embodiment, the polygons are contained in a tree structure known as a binary space partition (BSP) tree. This can order the polygons in the scene in such a way as to make it possible to draw them in a given order depending on the viewpoint, that will ensure that the polygons that are nearest the viewer are drawn last. Hence polygons that should be obscured in a scene are drawn before the polygons actually obscuring them, and overdrawn thereby. With reference now to FIGS. 9 and 10, the construction of a BSP tree to form the data structure as used in the present invention will be described.
Referring to FIG. 9a there is shown a scene containing five objects: A,{overscore (A)},B,C,D and E. Each object has a face direction denoted by an arrow extending perpendicular from the object. In the first step of creating the data structure, the scene shown in FIG. 9a is sub-divided by selecting an arbitrary object in the scene and drawing a line in the plane thereof. Thus, referring to FIG. 9b, a line is drawn in the plane of object E sub-dividing the scene into two halves.
Referring to FIG. 10, there is shown the construction of the BSP tree at various stages. Initially the BSP tree consists of a list together of all of the objects shown in the scene of FIG. 9a, as shown in FIG. 10a. After dividing the scene in the plane of object E as shown in FIG. 9b, an initial part of the BSP tree has been formed as shown in FIG. 10, with the object E at the top of the tree, and the tree having two branches from object E; a negative branch and a positive branch. As can be seen in FIG. 9b, the drawing of a line in the plane of object E intersects object C such that two parts of object C are created, which in FIG. 9b are denoted as C1 and C2. Referring to FIG. 9b, it is seen that the object B and the object C1 are on the side of the line drawn in the plane of object E which object E is facing. Therefore objects B and C1 are considered to be on the positive side of object E. Conversely object C1, A, D and A are on the opposite side of object E to the direction that E is facing, and can be considered as being on the negative side of object E. Thus FIG. 10b shows that the BSP three branches in a negative direction to objects A, {overscore (A)}, C2 and D, and in a positive direction to objects B and C1.
As shown in FIG. 9c, two further lines are drawn in the scene, one in the plane of object C and one in the plane of object A, both to intersect with the line in the plane of object E. In the same way as described hereinbefore, this further splits up the scene such that object B is on the positive side of object C1, no objects being on the negative side of C1. Object D is on the negative side of A. Object E does need to be considered since it forms a part of a higher level of the BSP tree, and specifically the root of the tree. Object C2 is on the positive side of object A. Thus, referring to FIG. 10c, the BSP tree structure can be further enhanced.
Finally, and referring to FIG. 9d, additional lines are drawn through the planes of objects B and D. There are no objects on the negative side of B, and all objects on the positive side of B have already been accounted for in the BSP tree. There are no objects on the positive side of D, and all objects on the negative side of D have already been accounted for in the BSP tree. Thus, the BSP tree is complete.
Reference is now further made to FIG. 9d, wherein a viewpoint V is identified. Given a selected viewpoint V, and the BSP tree of FIG. 10, it is possible to determine how the polygons should be drawn on the display in order to ensure that they are drawn in the correct order. The plane of object E is at the root of the BSP tree of FIG. 10, it is first determined whether viewpoint V is on the positive side or the negative side of the plane of object E. The viewpoint V is on the negative side of the plane of E, and therefore the positive side of the tree is traversed from E to C1. Again, as V is on the negative side of the plane of C1 the tree is traversed down the positive side thereof to object B. There are no further branches after object B, therefore this is the first polygon to be drawn. Traversing back up the tree, C1 is the next node and as there are no negative polygons C1 is drawn and the tree is traversed back to the root E, E being the next object drawn. The negative side of the tree is then traversed to reach object A. Viewpoint V is in the positive side of the A plane, and therefore the negative side of the tree is traversed down to object D, object D drawn, and then the tree traversed back up to A which is then drawn. The tree is then traversed back to C2 which is drawn, and that completes the reconstruction of the scene. Thus, the BSP tree is used to enable the scene to be drawn in the order B, C1, E, D, A, C2.
{overscore (A)} is never entered into the list because it faces the wrong way. Had the view direction been on the negative side of the A plane, then A would not have been listed and {overscore (A)} would.
The ordering is independent of the direction of the viewpoint. Thus, if the viewpoint V was pointing away from all the polygons, then they would still be put out as rendering candidates in the order mentioned, but the reliance would be on the rest of the graphics pipeline to clip them out of the eventual view.
Portals are inserted into the chosen data structure representing the scene, and are effectively treated as object polygons themselves. In other words, a doorway (portal) into another room (hull) is treated as a polygon and is drawn in the correct order for the containing room. When it is nominated for drawing by the system (whether it is using a BSP tree structure or some other mechanism), the hull through the portal is rendered fully, before continuing to draw the rest of the objects (polygons) for the original hull.
Referring to FIG. 8, the step 104 of creating portal transforms is relevant only to mapping portals as described hereinabove. As described earlier, each mapping portal is defined in association with a viewing transform that defines mapping between respective hulls.
Referring to FIG. 11 consider two portals 110 and 112 defined in association with two respective hulls (not shown) defined in their own coordinate systems. Portal 110 has four coordinates A,B,C,D defining a polygon and portal 112 has four coordinates a,b,c,d defining a polygon.
The polygon needs to be defined such that A maps to a, B maps to b, C maps to c and D maps to d. This mapping is handled by the mechanism employed during the creation of portals. The preferable procedure is to create one portal, copy it, rotate through 180 degrees, scale and move to the desired destination. In this way, the definition of the coordinates maps correctly when the portal is exported ready for the next stage of the process.
Now that the two coordinate system are defined (this can be done since each portal defines a plane, and a normal can be determined due to the ordering of the points), a transformation to move from one coordinate system to the other can be created in step 104 of FIG. 8. An example of the creation of the transformation for FIG. 11 follows.
Given the definition of the two portals by coordinate sets {A,B,C,D} and {a,b,c,d}, the following basis vectors for their respective coordinate spaces can be defined.
Basis set {U,V,W} where U is the unit vector along the direction of AB, V is the unit vector along the direction of AD and W is the normal to these two vectors created from the created from the cross product of U and V (that is AB�AD).
Basis set {u,v,w} created similarly from {a,b,c,d}.
The transformation from one space to another (say from {U,V,W} to {u,v,w}) is then defined by MO where MO=Inv(L)N where L is the matrix created from the U,V,W basis set, and N the matrix created from the u,v,w basis set.
Since U,V and W are unit vectors, Inv(L) is in fact Transpose(L).
Thus MO is in fact Transpose(L)N.
Taking into account any translation, a 4�4 homogeneous transformation from one coordinate space to another can be created. The translation is question can be calculated by comparing the absolute positions of two equivalent points in the two portals (say A and a).
The difference is then converted into a 4�4 transpose matrix r, and the results composed to form the full transformation M (where M=rMO).
The process can be repeated to form the transformation from coordinate space {u,v,w} to {U,V,W}, or the inverse transformation can be defined from the one already calculated.
Once all the portal transforms have been defined as described, and the portals inserted in the correct place in the containing hulls data structures, they are ready to be interpreted in a real time visualisation system. The thus created data structures, transforms, editor files, and overall description file are then stored in the image store 12 of the image generation device 6 as indicated by step 107 in FIG. 8.
The compressed information is retrieved from the image store 12 and transferred to the image visualisation device 2 via communications link 4. At the image visualisation device 2, a visualisation of the scene in real time takes place. The definition of the original image in terms of hulls and portals allows this stage to be made as fast as possible by traversing each scene, including passage through portals, in a simple fashion. A short description of the processes involved in rendering a scene to the scene display 16 follows.
The data structure constituting the compressed information on communication link 4 is received at the communication interface 18 and read into the display controller 22 within the image visualisation device 2. Referring to FIG. 12, there are illustrated the steps performed by the image visualisation device 2 in rendering the image to the scene display 16.
The initial scene graph is read into the image visualisation device 2 in step 120. The data structure is traversed according to a defined user viewpoint. As discussed hereinabove, this involves traversing the BSP tree. Initially, the viewpoint may be provided by default by the scene graph. However, a user may alter the viewpoint using the display input 24, and thus the graph is traversed in dependence on the viewpoint whether it is determined by an initial setup or by user interaction.
As discussed hereinabove, polygons are discarded if they are facing away from the viewpoint. In addition, polygons are discarded if they are outside the field of view for the viewpoint, as will be discussed in further detail hereinbelow.
The subset of polygons that remain are then transformed to the coordinate space of the viewpoint in step 126. This is a standard technique in graphics and basically involves creating a transformation matrix that moves the viewpoint to the origin, and includes a scaling factor based upon the distance from the viewpoint (perspective correction), such that objects that are further away from the viewpoint appear smaller. This matrix is then applied to all the polygons (objects) in the scene.
In the next step 128, the polygons are normalised to screen space. This usually simply involves scaling the coordinate system to a nominated viewport (for instance 0 to 640 in the x-axis and 0 to 480 in the y-axis). The polygons are then ready to be drawn in a two dimensional screen buffer, namely the display generating means 20 of the image visualisation device 2.
The above-described steps for image rendering represent known technology, except that the received data structure has a novel format in its definition of hulls and portals as described hereinabove with relation to the steps 40 and 42 of creating and interpreting a scene. There is, however, now a significant difference in the generation of pixel data from the polygons as a result of the definition of hulls and portals. This distinction arises in step 122 when the data structure is traversed. Some of the polygons in the scene graph actually represent portals into other hulls (for instance doorways into an adjacent room). When a polygon portal is encountered, the transformation associated with the portal is applied to the viewing transformation described above, so that the hull associated with the portal is then drawn using this new viewing transform. This process can be recursive, simply composing more and more viewing transforms to the basic transform as the hull-portal data structure is traversed.
Care should be taken that cycles do not occur. This can be done either by preventing traversal of the same hull twice, or by placing an upper limit on the number of hulls that can be traversed. The advantage of the second option is that facing mirrors can be implemented.
The introduction of portals means that extra culling techniques can be imposed to reduce the number of unnecessary polygons that are drawn. Many polygons will be completely obscured, but still drawn by the renderer since it cannot know that they are overdrawn by nearer polygons. By using hulls and portals, extra clipping can be performed to reduce this. The simplest of these techniques is called frustum culling.
The concept of frustum culling using hulls and portals will now be described first with reference to FIG. 13. FIG. 13a shows a scene comprising a first hull 150 and a second hull 152 separated by a wall 154. Portals 156 and 158 provide "windows" between the first and second hulls. A viewer is at a point 160 in the first hull 150. The scenario shown in FIG. 13a is a common scenario found in many graphics implementations. The viewer at the point 160 in hull 1 looks into hull 2 through the portals 156 and 158. Referring to FIG. 13b it can be seen that when the viewer looks into hull 2 it sees two frustums 162 and 164 defined by the viewer's field of view into the second hull.
Thus the scene is rendered in the normal way by the image visualisation device 2 using the BSP tree as described hereinabove. However, when the portals are due to be rendered, the adjoining hull is drawn instead. That is, when the portals 156 and 158 are to be drawn, rather than drawing those portals the second hull 152 is drawn. The second hull is drawn by calculating a viewing frustum relative to the portals 156 and 158 and the viewer at point 160, and projecting them into the same hull. This means that a small subset of the second hull 152 is rendered instead of all of it. Therefore the subsets 162 and 164 are rendered, and not the whole of the hull 152.
A second common scenario is illustrated in FIG. 14. This is an extension of the scenario of FIG. 13. In the scenario of FIG. 14, a third hull 166 is visible from the first hull 150 through the second hull 152. This scenario can be resolved by the following steps:
trace a frustum through the portal being considered;
if the frustum intersects another portal, then determine the intersection points; and
when rendering the hull, when the portal is signalled as a candidate for rendering, trace a new frustum from those points into the next hull.
In order to effect this algorithm, a proper frustum polygon intersection function needs to be added to determine if a portal actually has intersected a frustum. Thus, referring to FIG. 14, it can be seen that the frustum 162 intersects with the portal 170 of the third hull 166. The intersection points of the frustum 162 with the portal 170 are defined by the extremities of the portal 170. When rendering the hull, when the portal 170 is signalled as a candidate for rendering, a new frustum is traced from this intersection, i.e. the extremities of the portal 170 in the case of FIG. 14, into the next hull. This new frustum is indicated as frustum 168 in the hull 166 in FIG. 14.
Referring to FIG. 15, a third scenario is illustrated: a hull within a hull. This scenario is useful for several situations, considered a city-scape, with buildings, each with a series of rooms. The buildings themselves are hulls, each containing a series of rooms which are also hulls. This means that the rooms can each be encapsulated as a hull with portals leading between them.
Referring to FIG. 15 there is shown a first hull 170 and a second hull 172 wholly contained within the first hull 170. A viewer at the point 174 within the first hull 170 is looking into the second hull 172 through portals 182 and 184, the respective viewing frustums being 180 and 178 in the second hull 172. The second hull 172 additionally has a "candidate" portal which leads back to the first hull 170. Following the rules laid out in the second scenario described above, the tertiary hull, i.e. the first hull 170, would normally be rendered. However, in this case rendering of a "tertiary" hull through the candidate portal 184 can be stopped very easily by enforcing a check to ensure that the candidate hull has not already been rendered. This is done simply by allocating each hull a unique key, which is a check when a portal intersection is detected.
As has been described hereinabove, each portal is defined as a four sided polygon having four coplanar coordinates. However, this does not exclude the possibility of having irregular shaped portals. Referring to FIG. 16, there is shown a wall 190 having an irregular shaped portal 192 therein. Such a portal shape is achieved by ensuring that for any BSP node, the portals objects are drawn first. Thus, referring to FIG. 16, a portal 194 is first drawn. A frustum can then be generated and projected as described herein above, and a secondary hull rendered, and then the irregular shapes 192 of the hull drawn on top over the portal. This imposes the constraint that the wall containing a portal must be ordered very carefully. The portal must be rendered before any of the surrounding wall. This could be ensured in one of two ways:
i) careful construction of the BSP tree to make sure that the portal is drawn first; or
ii) position the portal behind the wall so that it is always drawn first since it is physically behind the wall.
This would prevent further complication of the BSP tree construction.
One of the main problems for a BSP based system is that of moving objects. In order to be correct, any object moving in a scene must be re-merged with the BSP tree, cutting polygons according to all the candidate planes in the BSP tree. The use of portals simplifies this process greatly. It is not onerous to insert a single polygon into a BSP tree, particularly if a "centroid" based approach is used since sub-division does not occur and the polygon can be filtered down the tree very quickly. If this polygon is a portal, then instead of drawing a polygon the hull that is linked to the portal can be traversed, and a sub-tree inserted into the scene. The "centroid" approach means identifying the central point of a moving object (i.e. a nomad), and using the only central point to identify the location of the object when rendering the scene.
Nomads (or moving hulls) are themselves BSP tree "hulls". They are inserted into the BSP tree using a single central point, the "centroid" approach described hereinabove. The single central point is put in at a leaf the BSP tree that already exists. Referring back to FIG. 10 (d) the single central point could be inserted beneath any of D, C2 or B on the positive or negative side thereof, or on the negative side of C1. The central point will have a transform associated therewith to map the portal associated with the nomad, which in turn maps to the sub-hull of the nomad.
This centroid approach means there is scope for error since occlusions may be incorrect for parts of the model. Consider the scenario illustrated in FIG. 17. This illustrates how it can be possible to insert an object into a BSP tree and then view it in such a way as to be rendered in the incorrect order. FIG. 17 shows a nomad 200 moving from a portion of a first hull 208 into a portion of a second hull 210. The nomad 200 is moving through a portal 212, defining a doorway, which creates two sections of a wall 202 and 204. The viewpoint is a point 206 in the second hull 210.
The centroid 214 of the nomad 200 is clearly on the other side of the portal 212 from the viewpoint 206. This means that when the image is rendered the whole of the nomad 200 will be drawn before any of the wall. Clearly, in order to render the image correctly from the viewpoint 206, the wall 202 should be drawn prior to the nomad 200, and then the wall 204 drawn.
The solution to this problem is to create a half space clip plane 213. The half space clip plane 213 is a plane arbitrarily drawn through the plane of the portal 212 and in the portal space, which splits the two walls 202 and 204 into two spaces 203 and 205. Ideally but not necessarily, the half space clip plane 213 is perpendicular to the plane of the portal 212 and splits the portal into two halves. This artificial plane is added when the 3-D model is created. The drawing of the clip plane 213 results in the portal 212 being associated with one of the halves 203 or 205. The clip plane 213 may be drawn, therefore, in line with the edges of the portal 212. In FIG. 17, the artificial plane 213 associates the portal 212 with the space 203. Thus the nomad 200 is in the space 203.
The problem of rendering the image in the correct order is then solved by not ignoring any intersections with potential half clip planes. By checking the bounding sphere of a given nomad whilst inserting it into a BSP tree, it is possible to determine when a potential problem arises. A bounding sphere of a nomad is a sphere drawn around the object completely encompassing such using the centroid of the object as the central point of the sphere.
In FIG. 17, it can be seen that the bounding sphere of the nomad 200 intrudes into the clip plane of both of the walls 202 and 204. Once this intrusion has been determined, it is possible to calculate within each of the two half spaces 203 or 205 whether the nomad or the respective wall 202 or 204 is closer to the viewpoint 206. In the example shown, the half space 203 will be drawn before the half space 250 because it is further away from the viewpoint 206. Within the half space 203, the wall 202 is drawn before the nomad 200 because it is further away from the view point. As a general case, each time a nomad moves, intrusion into the clip plane of any object is tested for.
In the example described above, the creation and interpretation of the scene are carried out at the image generator and are performed initially and once only. Once a scene is ready for visualisation it can be visualised as many times as is necessary in the image rendering device. For a typical application, this will be every time a new frame is generated. For real time visualisation systems, this can be of the order of 30 frames per second. While in the described example, portals are created at the image generator, it is also possible to create portals dynamically by using the user interface in the image rendering device, together with the necessary viewing transforms.
Two simple specific examples will now be described for creating a simple data structure and editor files for storing in the image store 12 of the image generation device.
A first simple case is described with reference to the scene shown in FIG. 4 comprising two hulls in a common coordinate system and a single gap portal. A second simple case is described with reference to the scene shown in FIG. 7 comprising two hulls in independent coordinate systems, each having a respective mapping portal. As has been described hereinabove, when recreated the scene for both these simple examples looks like the scene shown in FIG. 5.
Referring to the first simple example of FIG. 4, the two hulls 92 and 94 are joined by a single portal 96. These are modelled in the 3-D editor as being geometrically correct, i.e. the hulls are modelled connected as shown in FIG. 4. Individual hulls and portals are designated by naming the separate objects within the scene according to a defined grammar, as discussed hereinabove. The two hulls 92 and 94 are named arbitrarily as "room1" and "room2" respectively. The portal 96 is named simply as "doorway". The objects to be defined in the hulls are, in this simple example, merely the walls. Thus the names of the objects in this scene are:
To understand how this labelling works, it can be seen that the first hull consists of objects named walls belonging to the hull named room1. Similarly the second hull consists of objects named walls belonging to the hull named room2. The portal linking these two hulls together is an object named doorway linking hulls named room1 and room2.
It can be seen from this description that hulls themselves are not objects, but rather a hull is defined by the objects it contains. For instance the hull could be defined as floor, ceiling and walls each named as floor[room1], ceiling[room1], walls[room1]. In the simple case presented herein, the only objects given for any hull are the walls, which are taken to implicitly include the ceiling and floor.
Referring now to the second simple example of FIG. 7, the two hulls 92 and 94 are modelled in the 3-D editor as being geometrically incorrect, i.e. the hulls are modelled independently and are not physically joined. Each hull has a mapping portal associated therewith, and to ensure recreation of a scene as shown in FIG. 5 each portal of each hull must be mapped onto the other. When a scene is ultimately rendered to a viewer it will be similar to the scene of FIG. 5.
Using the 3-D Studio Max editor to create the 3-D scenes, as in the present simple example, the names that can be given to objects must follow a stricter convention. This allows the exporter to determine what hulls various objects belong to, etc. The quick grammar is defined as follows:
Appendix A includes a definition of terms of the grammar. The raw output that is created by the exporter for the example of
FIG. 4 is shown in Appendix B. Appendix B shows the first file of this raw output, known as a "fit" file (fundamental interconnectedness of all things). The first section of this file is the hull list, which lists the hulls that the environment contains. The next section lists the nomads ("sub-hulls"), and in this particular environment there are no nomads. The next section lists the portals. In this simple example only a single gap portal is defined with links rooms 1 and 2 through the portal called "doorway". The "clip" and "mirror" fields are set zero to indicate that the portal is not to be clipped and is not a mirror.
The final section defines start points. In this case there is one start point defined in room1.
Each hull, nomad and portal has an associated file that defines them. The file defining room1 is shown in Appendix C. The description file of Appendix C is based on virtual reality modelling language (VRML) version 1.0. This format has been modified to allow for extra features such as better texturing definition. Note that anything following a hash symbol is a comment and has no semantic relevance. Each of the sections of the description file of Appendix C are identified and discussed in Appendix D. The associated file defining room2 will be very similar to Appendix C. Appendix E shows the associated file for the doorway. This file defines the coordinates representing the portal. It is defined in the same coordinate system as the parent hull. It is again in the same format as the hull file. Once the doorway is defined in this way, the intermediate level file definition for this simple case is complete.
Appendix F shows the fit file for the second simple example of FIG. 7. This is identical to the previous example shown in Appendix B, except for the portal section. In this case there are two mapping portal files. Appendix G shows the two portal files created.
The final part of the process is to pass these intermediate files into a binary file which represents the BSP tree structure used by the real time renderer, which also includes information to link the portals and hulls. The process of creating the BSP tree data is two-folded. Firstly the binary format BSP tree files are compiled from the intermediate level files. Secondly these files are used in the real time renderer. In the following description these two stages are combined.
Returning to the simple case of FIG. 4, the portal in this section is a gap portal, and therefore the resulting matrix that is created as part of the portal is simply the identity matrix. This identity matrix is incorporated into the BSP tree that is created from the files. The output from the compilation stage of the BSP tree creation is given and annotated in Appendix H.
FIG. 18 shows an illustration of the two BSP trees created in Appendix H. The boxes 200 represent the nodes in the list, and the numbers in the boxes represent the plane equation of each node. The tree in FIG. 18 is for room 2. A tree for room 1 is given in FIG. 19. As can be seen, the structures of both FIGS. 18 and 19 is linear, i.e. there is not a great deal of branching in the structure. This is because of the nature of the chosen objects: two cuboid rooms linked with a single portal. If the structure was less regular and square, then there would be a lot more branching.
FIG. 20 illustrates how the second BSP tree of FIG. 19, relating to room 1, corresponding to an actual three-dimensional model. A to I is the order in which the objects are drawn determined by the BSP tree of FIG. 19. Essentially, the order is (from A to I): ceiling, floor, left wall, back wall, right wall, front wall, top of porch, right of porch, left of porch.
The portal that is in the porch linking the two BSP trees together is in itself a node in the BSP trees. It will have a plane equation of the form [0, −1,0,n]. This is not shown in the raw output from the compiler. It is inserted as the first node, and all other nodes in the tree will be in its positive sub-tree in this case.
Shown in Appendix I, is the traversal of the tree and rendering of the polygons contained within it.
Appendix J illustrates the case for the simple example of FIG. 7. The two BSP trees will look very similar to the BSP trees of FIGS. 18 and 19. However, the portal that is defined in each of the BSP trees is significantly different. It is represented in Appendix J.
|Cited Patent
|Filing date
|Publication date
|Mar 13, 1990
|Apr 23, 1991
|Hewlett-Packard Company
|Method and apparatus for generating representations of 3-dimensional objects
|Nov 27, 1995
|Nov 4, 1997
|Hughes Electronics
|Rendering and warping image generation system and method
|Jun 27, 1996
|Feb 2, 1999
|Microsoft Corporation
|Method and system for generating images using Gsprites
|May 30, 1997
|Jan 11, 2000
|Hewlett-Packard Company
|Ray transform method for a fast perspective view volume rendering
|Aug 1, 1997
|Mar 28, 2000
|Microsoft Corporation
|Focal length estimation method and apparatus for construction of panoramic mosaic images
|Jul 30, 1997
|May 16, 2000
|Microsoft Corporation
|Method for measuring the fidelity of warped image layer approximations in a real-time graphics rendering pipeline
|May 30, 1997
|Jun 6, 2000
|Hewlett-Packard Company
|Volumetric pre-clipping method that guarantees minimal number of sample points through a volume
|Citing Patent
|Filing date
|Publication date
|Jul 13, 2004
|Oct 25, 2005
|Arm Limited
|Table lookup operation within a data processing system
|Jul 13, 2004
|Dec 5, 2006
|Arm Limited
|Data processing apparatus and method for performing in parallel a data processing operation on data elements
|Dec 13, 2002
|Mar 20, 2007
|Mitsubishi Electric Research Laboratories, Inc.
|System and method for interactively rendering objects with surface light fields and view-dependent opacity
|Jul 13, 2004
|Apr 24, 2007
|Arm Limited
|Data processing apparatus and method for moving data between registers and memory in response to an access instruction having an alignment specifier identifying an alignment to be associated with a start address
|Jul 13, 2004
|May 15, 2007
|Arm Limited
|Data processing apparatus and method for moving data elements between a chosen lane of parallel processing in registers and a structure within memory
|Jul 13, 2004
|May 15, 2007
|Arm Limited
|Data processing apparatus and method for moving data elements between specified registers and a continuous block of memory
|Aug 30, 2004
|Mar 25, 2008
|Arm Limited
|Shift and insert instruction for overwriting a subset of data within a register with a shifted result of another register
|Nov 10, 2009
|Nbor Corporation
|Media and functional objects transmitted in dynamic picture files
|Sep 1, 2004
|Jan 12, 2010
|Arm Limited
|Data processing apparatus and method for performing data processing operations on floating point data elements
|Jul 13, 2004
|Mar 30, 2010
|Arm Limited
|Method and apparatus for constant generation in SIMD processing
|Jul 20, 2010
|Arm Limited
|Data processing apparatus and method for performing arithmetic operations in SIMD data processing
|Jul 13, 2004
|Oct 26, 2010
|Arm Limited
|Aliasing data processing registers
|Nov 1, 2011
|Mental Images Gmbh
|Computer graphics methods and systems for generating images with rounded corners
|Dec 15, 2008
|Apr 3, 2012
|Gaikai Inc.
|Systems and methods of serving game video
|May 31, 2010
|Aug 13, 2013
|Sony Computer Entertainment America Llc
|Game execution environments
|Dec 13, 2010
|Oct 15, 2013
|Sony Computer Entertainment America Llc
|Audio acceleration
|Sep 13, 2011
|Dec 24, 2013
|Sony Computer Entertainment America Llc
|Intelligent game loading
|Dec 13, 2010
|Mar 18, 2014
|Sony Computer Entertainment America Llc
|Audio deceleration
|Sep 13, 2011
|Sep 23, 2014
|Sony Computer Entertainment America Llc
|Dual-mode program execution
|Jun 29, 2010
|Nov 18, 2014
|Sony Computer Entertainment America Llc
|Voice overlay
|Sep 13, 2011
|Jan 6, 2015
|Sony Computer Entertainment America Llc
|Dual-mode program execution
|Jun 29, 2010
|Mar 3, 2015
|Sony Computer Entertainment America Llc
|Video game overlay
|May 17, 2011
|Dec 1, 2015
|Sony Computer Entertainment America Llc
|Qualified video delivery methods
|Dec 13, 2002
|Jun 17, 2004
|Daniel Vlasic
|System and method for interactively rendering objects with surface light fields and view-dependent opacity
|Jul 13, 2004
|Jun 9, 2005
|Arm Limited
|Data processing apparatus and method for performing arithmetic operations in SIMD data processing
|Jul 13, 2004
|Jun 9, 2005
|Arm Limited
|Data processing apparatus and method for moving data between registers and memory
|Jul 13, 2004
|Jun 9, 2005
|Arm Limited
|Data element size control within parallel lanes of processing
|Jul 13, 2004
|Jun 9, 2005
|Arm Limited
|Moving data between registers of different register data stores
|Jul 13, 2004
|Jun 9, 2005
|Arm Limited
|Vector by scalar operations
|Jul 13, 2004
|Jun 9, 2005
|Arm Limited
|Constant generation in SIMD processing
|Jul 13, 2004
|Jun 9, 2005
|Arm Limited
|Data shift operations
|Jul 13, 2004
|Jun 9, 2005
|Arm Limited
|Table lookup operation within a data processing system
|Jul 13, 2004
|Jun 9, 2005
|Arm Limited
|Data processing apparatus and method for moving data between registers and memory
|Jul 13, 2004
|Jun 9, 2005
|Arm Limited
|Data processing apparatus and method for moving data between registers and memory
|Jul 13, 2004
|Jun 9, 2005
|Arm Limited
|Endianess compensation within a SIMD data processing system
|Jul 13, 2004
|Jun 16, 2005
|Arm Limited
|Data processing apparatus and method for performing in parallel a data processing operation on data elements
|Sep 1, 2004
|Jul 14, 2005
|Arm Limited
|Data processing apparatus and method for performing data processing operations on floating point data elements
|Jul 13, 2004
|Aug 4, 2005
|Arm Limited
|Aliasing data processing registers
|Jul 13, 2004
|Sep 8, 2005
|Arm Limited
|Multiplexing operations in SIMD processing
|Aug 30, 2004
|Sep 15, 2005
|Arm Limited
|Inserting bits within a data word
|Nov 13, 2006
|Mar 15, 2007
|Denny Jaeger
|Media and functional objects transmitted in dynamic picture files
|Aug 22, 2007
|Jun 5, 2008
|Hakan Andersson
|Computer Graphics Methods and Systems for Generating Images with Rounded Corners
|Oct 14, 2009
|Apr 29, 2010
|Arm Limited
|Data processing apparatus and method for performing rearrangement operations
|U.S. Classification
|345/419, 345/420
|International Classification
|Cooperative Classification
|European Classification
|Apr 27, 2005
|Maintenance fee reminder mailed
|Oct 11, 2005
|Lapse for failure to pay maintenance fees
|Dec 6, 2005
|Expired due to failure to pay maintenance fee
Effective date: 20051009


text:
- James S. Grotstein, M.D., American Journal of Psychotherapy
"With their candid and vividly detailed clinical accounts, Wrye and Welles illustrate how the coauthored story of transference/countertransference permit the rich history of a patient's love narrative to be retrieved and reviewed. The Narration of Desire is an intensely personal, highly instructive study of the erotic roots of conscious awareness."
- Owen Renik, M.D., San Francisco Psychoanalytic Institute
"I believe Wrye and Welles have made a major contribution to the field. They establish to an impressively detailed degree the necessity of attending to communications transmitted through bodily feelings and sensations, a topic only now fully coming into its own"
- Ethel Person, M.D., JAPA

subset: commoncrawl


text:
Select Local Merchants
CK NailRead MoreWhat services does your business offer and what makes your business stand out from the competition? We specialize in Manicure and Pedicure Treatments. This is what we call "Suite Treatment by CK Nails." it's a hand crafted treatment, and the base is natural ingredients. What was the inspiration to start or run this business? I want to provide a service where people will be happy, I would not only like to put a smile on people's faces, but on their nails as well. This nail spa is a one on one experience, and set in an establishment that promotes serenity and well being. What do you love most about your job? I not only enjoy transforming hands, and feet after I'm done giving manicures and pedicures. I enjoy the transformation of their frame of minds, as they leave my nail spa feeling content and rejuvenated. What is the best reaction you've ever gotten from a customer? Oooh! my God Natasha You did magic ...14545 S MilitaryDelray Beach, FL US
Get NailsRead MoreRelease your tension with a personalized spa treatment from Delray Beach's Get Nails. Recapture a healthy and glowing complexion with a facial from this spa. This nail salon offers hand and feet treatments for both men and women. No makeover is complete without changing up your hair. This spa provides a number of services including hair cuts and color and highlights so head on over. Get Nails has a comfortable atmosphere for all your beauty needs, such as eyelash extensions. At Get Nails in Delray Beach, a wide selection of hair removal services are offered for guests, including waxing, laser hair removal, electrolysis, and epilation. The beauty of spa is that they always take you when you're ready. No appointments needed. You can get the whole shebang for the same price as other spas. Payment is only a swipe away at Get Nails with any major credit card. Valet, street, and garage parking options are readily available near Get Nails. There's no better present to receive than a mani-pedi day. Treat yourself with a trip to Get Nails, a highly rated salon.140 Northeast 2nd AvenueDelray Beach, FL US
Naked Hair SalonRead MoreFor a professional nail care service that is sure to last, check out Naked Hair Salon in Delray Beach. For healthy, long-lasting nail treatments, head to this salon. The staff at this salon is always familiar with the latest hair trends, making them some of the most creative and innovative stylists in the area. Tired of unwanted hair or stubble? Head to Naked Hair Salon for painless and quick hair removal services. Stop going to places that make you wait days or even weeks for an appointment. This salon lets you come in when you're ready with their convenient walk-in policy. The perfect place to indulge in masks, wraps, and all things stress-free, the high price tags don't stop clients from coming back for more of their favorite spa. For your convenience, this establishment provides you with the option to pay with credit card. Naked Hair Salon is located near plenty of street and garage parking options. So when some expected hairs grow in, head on over to Naked Hair Salon and get rid of them in a quick visit.10 Southeast 1st AvenueDelray Beach, FL US
Indigo Studio Day SpaRead MoreCover all your beauty bases at Indigo Spa in Delray Beach and enjoy the endless amenities at this full-service salon. This salon's expert aestheticians are trained to provide the best and relaxing facials. Treat yourself to a professional nail care service and get nails to envy at this salon. A soothing and relaxing massage from this salon is a perfect way to end a long work week. Treat your luscious locks to a professional treatment from this salon and leave with super clean and healthy hair. Stop in when you're ready for your appointment at salon. Walk-ins always welcome! Why pay a fortune when you can snag a deal? Indigo Spa has all your favorite snazzy spa services at practical prices. Along with cash payments, this establishment also allows customers to pay by major credit card. Score parking in the lot adjacent to Indigo Spa, a local salon. With so many refreshing services and quality amenities, Indigo Spa truly is the spa that has it all.317 Northeast 2nd AvenueDelray Beach, FL US
Salon EliteRead MoreSay goodbye to dead ends and faded hair with a professional hair care treatment from Salon Elite in Delray Beach. Check out the fantastic and fashionable results from their nail technicians. Customers totally dig their no-chip gel manicures, pedicures, manicures, paraffin treatments, and nail art. Prep yourself for bikini season with a painless hair removal service, such as waxing. Looking to switch up your 'do? Head to this salon for a personalized hairstyle makeover. For beauty services, such as eyelash extensions and make up application, look no further than Salon Elite. Frequent spa-goers will appreciate the reasonable prices at this professional spa. Yes, plastic is accepted! From MasterCard to Visa, your major credit card can be used for payments. When you're in need of an extreme hair makeover, the stylists at Salon Elite have you covered.777 E Atlantic AveDelray Beach, FL US
Moda SalonRead MoreModa Salon is a luxury day spa in Delray Beach that offers both innovative and relaxing spa treatments. Say goodbye to clogged pores and acne with a professional facial. This spa offers nail care treatments that will leave you with stronger, healthier nails. After getting your hair done at this spa, the compliments will come pouring in. Moda Salon's master stylists are trained in beauty services like make up application, and they're ready to help you look your best. While this spa in Delray Beach doesn't accommodate walk-ins, appointments are always quick and easy to schedule. Moda Salon provides professional and luxury spa services to go with its high price point. At Moda Salon, you can pay with any major credit card. Get the relaxation of an entire vacation in one afternoon at Moda Salon. Book your appointment today!16950 Jog RoadDelray Beach, FL US


text:
All it takes is a coffee can, a magnet, and some tools. ... READ ON
You can learn a lot about an ecosystem by studying a small slice of it.... READ ON
Michael Muller's new book of shark photography illuminates life below the surface. ... READ ON
Cooking is an exercise in thermal contrasts. ... READ ON
There's something creepily charming about the faded wallpaper of the USSR.... READ ON
Parisian men had a lot of public peeing options. ... READ ON
Behind-the-scenes snapshots that haven't been seen in decades.... READ ON
These images were chosen as the best from a pool of close to 83,000 photographs.... READ ON
Vote for your favorite!... READ ON
Seventy-one years ago today, photographer Joe Rosenthal happened to be in the right place at the right time. ... READ ON
Pepsi-Cola was originally called "Brad's Drink."


text:
Mitch Helfer and CPAMiami team always went the extra mile to help us grow our business. They are always available and proactive on suggesting better accounting practices. Their extensive use of IT resources, reduce a lot our work load in day-to-day operations. As a busines...mores manager, I would not even think in looking for another alternative! Price is fair and competitive. They deliver what they promise. Highly recommend!view less
Miami Cpa
Mallah Furman Certified Public Accountants
Serving the Miami area.
- (786) 501-2530
Rodriguez Ariza & Co.
9500 S Dadeland Blvd, Miami, FL 33156
- (786) 453-0236
1. Rodriguez Ariza & Co.
9500 S Dadeland BlvdMiami, FL 33156
2. Rodriguez Ariza & CoServices
9500 S Dadeland BlvdMiami, FL 33156
From Business: Trusted Personal Quality Service
3. Ricardo Santos CPAServices
7750 SW 117th AveMiami, FL 33183
From Business: Accounting Services, Business & Individual Tax, Quick Books, Partnerships, Non-Profit Organizations, Individual & Corporate International Taxes, Estates, Trusts, & …
4. H&R BlockServices
13854 SW 56th StMiami, FL 33175
From Business: Find a Professional Tax Preparer at H&R Block, the brand clients trust for income tax preparation. More than 50 years of tax help and expertise is just around the c…
5. H&R BlockServices
10201 Hammocks BlvdMiami, FL 33196
From Business: Find a Professional Tax Preparer at H&R Block, the brand clients trust for income tax preparation. More than 50 years of tax help and expertise is just around the c…
6. Estela Lorenzo & Company CPA
6830 SW 159th PlMiami, FL 33193
From Business: Estela Lorenzo & Co encompasses a broad range of business and personal accounting services:
7. Glsc & Company Pllc CpaServices
6303 Blue Lagoon DrMiami, FL 33126
8. Llerena, Pablo R CPA
6303 Blue Lagoon DrMiami, FL 33126
9. Capraro, Franz CPA
6303 Blue Lagoon DrMiami, FL 33126
10. Garcia, Manuel M CPA
6303 Blue Lagoon DrMiami, FL 33126
11. Baltar, Eduard A CPA
6303 Blue Lagoon DrMiami, FL 33126
12. Elvira Acosta Enrolled Agent
401 Coral Way Ste 107Miami, FL 33134
13. Max A. Cohen, C.P.A., P.A.
7600 S Red RdMiami, FL 33143
14. Marvin P Stein CPA PAServices
12930 SW 128th StMiami, FL 33186
From Business: Certified Public Accounting firm located in Miami (Pinecrest), Florida. Established over 25 years ago, we handle a variety of clientele in the private and non-profi…
15. De Armas, OrlandoServices
12002 SW 128th CtMiami, FL 33186
From Business: We're a full-service Certified Public Accounting Firm! For over 30 years, Orlando de Armas, CPA, PA has provided its clients with the very best personalized Account…
16. Sharff Wittmer Kurtz Jackson & Diaz PAServices
4627 Ponce De Leon BlvdMiami, FL 33146
17. Abercrombie Accounting Inc
16115 SW 117th AveMiami, FL 33177
18. Katz Rivera And Company PAServices
10631 N Kendall DrMiami, FL 33176
From Business: Welcome and thank you for visiting Katz, Rivera And Company, P.A. on the web. In addition to providing you with a profile of our firm and the services we provide, t…
19. Abella Garcia Guell
2502 SW 87th AveMiami, FL 33165
20. Accounting & Taxes 2000 Plus LLC
16499 NE 19th AveMiami, FL 33162
21. Freire & Gonzalez PAServices
10647 N Kendall DrMiami, FL 33176
22. Abercrombie AccountingServices
16115 SW 117th AveMiami, FL 33177
From Business: We save our clients money, tax returns, small business specialists, refund loans, Quickbooks Specialists, Personalized Service Personal & Business, Monthly Quarterl…
23. Browdy Richard J CpaServices
Richard is a great accountant. He did my taxes and got me money back. He doesn't overcharge.
24. Fanjul, Certified Public Accounting
El año pasado me cambien con Fanjul CPA y estoy muy contenta. Todas las formas de mis empleados estuvieron en tiempo. Me encanta como trabajan!!!!
25. James Accounting & Tax Practice
This is good.I think its good
26. Lopez Albert DServices
1111 Brickell AveMiami, FL 33131
27. Gonzalez & Company, C.P.A., P.A.
2655 S Le Jeune Rd, Suite 526Miami, FL 33134
28. Marcum LLP
1 SE 3rd AveMiami, FL 33131
From Business: MarcumRachlin, a division of Marcum, is one of the largest, independent public accounting and advisory services firms in the United States. Founded in 1955, it offe…
29. Velez, Rene, Cpa - Rene Velez Pa
13020 SW 133rd CtMiami, FL 33186
30. Alonso & Garcia, PA
5805 Blue Lagoon Dr #200Miami, FL 33126
From Business: It's crucial for every business to have a strong financial advocate. Alonso & Garcia, PA, a Miami CPA firm, provides comprehensive accounting and tax services for i…
Rodriguez Ariza and Co
CoralGable CPA Accountant
CPA Accounting You Can Trust.
Responsive To Your Business Needs.
9500 South Dadeland Boulevard Suite 700, Miami, FL 33156
- (305) 704-7901
I started been JKHP Accounting Services, Corp client since January 2008, they have been helping me and my Corporation a lot, they are vey oriented, confidence, serious , honest, and very professional. I will recommend them to anyone that want to have their books taxes and pe...morersonal finance in good shape. view less
I have been working with Miriam De Toro for more than 17 years and I have NEVER received any bad treatments from her or her employees. She is an outstanding professional in all matters. Her office is not a school so you can be \"educated\", it is a place where she does the t...moreaxes for you period. view less


text:
Written on: 02/01/2014
Ordered product "by 5pm for next day delivery".
Got a confirmation email of my order about 12 hours later, will be delivered in 2 weeks.
Cancelled order and they failed to refund me.
Small claims court here we come.
As rated by our community of reviewers
" Fast delivery and great value for money " Read More
" DO NOT USE " Read More
" Bad experience at debenhams bra fitting service " Read More
" Incompetent and they couldn't care less " Read More
" WORST COMPANY EVER " Read More


text:
International law firm Hill Dickinson has appointed Ian MacLean as a partner to its London office, where he will focus on his international client base of ship owners, ship managers and their insurers.
This appointment provides the firm with five former mariners at partner level, with Ian joining the existing team of Mike Mallin, Tony Goldsmith, Phil Haddon and Andrew Gray. This team is further strengthened by another five ex-mariner assistants, two of whom are qualified solicitors.
Ian's casualty practice includes pollution, total losses, collisions, fire, structural failure, engine and electrical system failure, salvage, unsafe ports and cargo damage including chemical tanker contamination. He also defends against casualty related criminal charges and advises on the contractual and third party disputes that arise from casualties, including those which flow from cargo damage. In addition, Ian advises on MARPOL issues, hull and machinery claims, piracy and ship management disputes.
Ian has commercial experience as a former ship manager and ship-owning company director. He remains close to the shipping community, serving as a director and general counsel of InterManager, the international trade association for ship managers. Ian contributes to seminars and writes for the trade press on litigation risk management, casualty management, seaworthiness and the ISM Code.
Maritime Today
The Maritime Industry's original and most viewed E-News Service
Today Mitsubishi Heavy Industries America, Inc. (MHIA), a Group company overseeing the business of Mitsubishi Heavy Industries, Ltd. (MHI) in North America, commenced
S. Korea's Pan Ocean Co. is expected to see its earnings improve amid rising Baltic Dry Index (BDI) that affects spot contracts accounting for more than half
As the prolonged slump in energy prices continues to drag on a number of oil and gas and maritime players, word has it that Harkand Group has succumbed, according to staff reports and a report on www.
Bureau of Safety and Environmental Enforcement (BSEE) Director Brian Salerno and U.S. Coast Guard Rear Admiral Paul Thomas participated in a luncheon panel discussion
Turkish terminal operator Yilport Holding has gained full control of Gävle's terminals.
Yilport Holding acquired 100% shares of Gävle Container Terminal (GCT) and Baltic Sea Gateway (BSG).
At the Comité Maritime International (CMI) Conference, in New York this week, the International Chamber of Shipping (ICS) will be pressing to ensure that the proposed


text:
Paul Nicholls' Lexus hero Tidal Bay is one of the 16 entries in the Hennessy Gold Cup at Leopardstown on February 9.
Galvanised by Ruby Walsh to come home first in a dramatic finish to the Christmas highlight over course and distance, Tidal Bay could face a rematch with two of the other three horses involved in the conclusion.
Peter Casey's popular Flemenstar (third) and Sir Des Champs (fourth) have both been entered, with the latter's trainer Willie Mullins having won the last two renewals of Irish jumping's flagship race, and eight in total.
He has put in Quel Esprit too, while Henry de Bromhead's Sizing Europe has been given an entry as the trainer assesses his options.
Nicholls has back-up in jnwine.com Champion Chase winner Kauto Stone, with Jonjo O'Neill giving the option for Ryanair star Albertas Run. Other notable Irish contenders are Joncol, China Rock, Roi Du Mee, Seabass, Prince De Beauchene and Bog Warrior.
A mouthwatering clash between last season's first and second from Cheltenham's Champion Bumper could be on the cards in the Deloitte Novice Hurdle at Leopardstown on February 9.
The Willie Mullins-trained Champagne Fever and John Ferguson's New Year's Eve fought out the finish last March and both have shown promise over hurdles.
However, not everything has gone to plan with Champagne Fever who returned a sick horse after his last run which saw him drift in the betting for Cheltenham's novices' hurdles.
New Year's Eve has only run the once but ran a perfectly respectable second to the classy River Maigue at Kempton. Ferguson has also entered Whispering Gallery, a top-class horse from the level who won his hurdling debut recently.
Mullins has another strong contender, however, in the shape of Pont Alexandre who was a very impressive winner on his first start for the yard in Grade One company at Navan.
29 April 2016John Gosden considers racecourse gallop for Derby dark horse Royal Artillery
Lingfield Friday card switched to the all-weather
Classic 'acid test' looms for 2000 Guineas favourite Air Force Blue
Apple's Jade seeking Champion honours at Punchestown
Limini sights set on Mares Champion prize at Punchestown
Jack Hobbs returns in 'proper' Jockey Club Stakes at Newmarket
Minding heads sweet sixteen for 1000 Guineas at Newmarket
Champion jockey Silvestre de Sousa not banking on title defence
Michael O'Leary admits to Don Cossack career fears
All options open next year to dazzling Douvan after festival hat-trick
This is where we want to be - Warren Greatrex on top with One Track Mind
Nicky Henderson gets on Punchestown scoresheet with Cup Final
Quantitativeeasing adds up to La Touche glory for Enda Bolger
Galileo Gold all the rage in 2000 Guineas market
Bright New Dawn lights up Punchestown Festival
'Not a bother' on National hero Rule The World after Punchestown
Willie Mullins pursues Punchestown prize with revved-up Vroum Vroum Mag
Gavin Cromwell has Jer's Girl 'in great nick' for Punchestown date
28 April 2016Dynamite Douvan delivers once more at Punchestown
One Track Mind takes Stayers Hurdle honours as Shaneshill crashes out
Ed Dunlop - Derby trial option open to Amazing Red
Elusive Ivy not for catching at Punchestown
Steve Rogers confirmed by Roger Varian for Chester Cup
Noel Meade relief as Road To Riches escapes serious injury
Willie Mullins gives Limini the chance to shine at Punchestown
Ivanovich Gorbatov and Apple's Jade renew rivalry at Punchestown
Air Force Blue spearheads 2000 Guineas field at Newmarket for Aidan O'Brien
Augusta Kate has Lee Westwood and Alan Shearer celebrating Punchestown glory
Cavalier carries big weight to Punchestown triumph
Barry Geraghty salutes John Kiely as Carlingford takes Gold at Punchestown
Blow By Blow makes it a first Grade One success for Katie Walsh at Punchestown
Bellshill digs deep for Daily Mirror Novice honours at Punchestown
All-the-way Gifted Master on top in Pavilion Stakes
Mizzou makes it a Sagaro double at Ascot
Wesley Ward lives the American dream at Ascot
27 April 2016Annie Power 'has done enough' and misses Champion Hurdle date at Punchestown
Carlingford Lough beats big guns to Punchestown Gold
Opera on song to register Punchestown triumph
Back-to-back Punchestown successes for Shamiran
Miss Temple City on course for Cambridge outing at Royal Ascot
Charlie Hills hoping Dutch can make winning connection in Lockinge
Alpha Des Obeaux aiming to claim Stayers prize at Punchestown for Morris
Jer's Girl tops Champion Novice field for Gavin Cromwell
Willie Mullins hoping Douvan can continue to sparkle at Punchestown
Vroum Vroum Mag takes Champion challenge as Annie Power misses Punchestown date
Saval Beg option for Order Of St George return
Jonjo O'Neill mulling Haydock hurdles option for Holywell
Hugo Palmer eager to avoid We Are Ninety comparisons
Blue De Vega team bide their time on Guineas call
Zabana lands Champion Novice prize for Lynch and Russell
Lion roars to pip Jenkins in Land Rover
God's Own delivers Champion triumph for George and Brennan at Punchestown
O'Brien admits Air Force Blue has stamina questions to answer in 2000 Guineas
Aidan O'Brien planning triple assault on 1000 Guineas at Newmarket
Don't Touch It too good as Yorkhill disappoints at Punchestown
Willie Mullins banks on Bellshill to stay strong at Punchestown
Hugo Palmer hands Ascot mission to Gifted Master
Colin Tizzard has Cue Card in the 'form of his life' for Punchestown Gold Cup
26 April 2016Mac ups the Tempo for Punchestown glory
Wish Ye Didnt does it again in Punchestown opener for Carberry and Bolger
New disappointment for Wesley Ward at Bath
Harry Whittington 'absolutely gutted' following death of Aintree winner Arzal
Clive Cox on Newmarket weather watch for Guineas hope Zonderland
Criquette Head-Maarek hoping for more Guineas glory with Midweek
Peter Niven appoints Ryan Moore for Clever Cookie ride at Ascot
Alpha Des Obeaux leads Stayers Hurdle charge at Punchestown
Epsom Derby hope Johannes Vermeer on the sidelines
Richard Hannon on Newmarket 'weather watch' for Guineas hope Illuminate
Deadly Douvan sets sights on Punchestown prize for Willie Mullins
Moon Racer ready to roll at Punchestown for David Pipe
Hugo Palmer to go the distance at Newbury with Home Of The Brave
'Faultless' preparation has Air Force Blue team in confident mood
Jack Hobbs headlines Jockey Club possibles
Mouse Morris happy to run Aintree hero Rule The World at Punchestown
Willie Mullins targets Festival hat-trick with Punchestown-bound Yorkhill
Willie Mullins strives for Punchestown redemption with Vautour
Cue Card declared by Colin Tizzard for Punchestown Gold Cup
Jet Setting added to 1000 Guineas field at Newmarket
John Gosden earmarks Sandown return for Western Hymn


text:
Sushma Swaraj is Shiv Sena's first choice for PM
Zeenews Bureau
Mumbai: Amid growing chorus for making Narendra Modi the BJP's prime ministerial candidate, the Shiv Sena on Tuesday said that its first choice remains Sushma Swaraj.
Shiv Sena's Sanjay Raut said while Modi is a capable leader and a fine chief ministers, the party's choice for the PM's post remains Sushma Swaraj as the late Bal Thackeray had favoured her over other BJP leaders.
"Balasaheb had given his consent to Sushma as he thought that she has the capability to lead the nation. Balasaheb`s word is final for us," Rauth said.
Raut's remarks came just days after senior BJP leader Yashwant Sinha pitched for making Modi the BJP`s candidate for prime minister in 2014 General Elections.
Also today, BJP's Rajya Sabha MP and senior lawyer Ram Jethmalani joined the chorus for making Modi the PM candidate, saying he is a "100 percent secular leader".
The Gujarat Chief Minister has already said that he ie now ready for a larger role in politics.
- Bipasha Basu, Karan Singh Grover set floor ablaze with killer moves at wedding reception – Watch here
- Petrol, diesel-run cabs banned from Delhi-NCR roads from today
- Wealth from waste: A novel Indian biotech solution
- IAF chopper sprinkles water to douse Uttarakhand forest fires; Rajnath Singh reviews situation
- China may reconsider stand on Pakistani terrorists Hafiz Saeed, Masood Azhar?


text:
Lipstik Black Faux Fur Fold Down Collar Coat Toddler Little Girl 4T-6XUnmatched in style, this girl's jacket comes from designer Lipstik Girls.
Unmatched in style, this girl's coat comes from designer Lipstik Girls. Made of fluffy faux fur in rich black this coat has a turn down collar for a dramatic effect. Buttons up with chic diamond cut large buttons and has a black and white polka dot lining. Great to pair with her holiday outfit. Machine wash. 100% polyester.
Fabric and Care: 100% Polyester. Machine wash in cold water, separately inside out, non-chlorine bleach when needed, line dry, warm iron as needed, do not iron decoration.
Brand: Lipstik
Price: $11.99 - Out of stock
No reviews yet.
You Might Also Like
Boys School Uniforms Basic Navy Easy Fit Flat Front Shorts 4-7Our Price: $17.99
SoDanca Black Capri Pants Dancewear Leggings Little Girls 4-16Our Price: $34.99
Green Alligator Custom Designer 52in Ceiling Fan Blades SetOur Price: $99.99
Lipstik Black Ruffle Mesh Stretchy Tank Top Toddler Little Girls 2T-6X
Our Price $13.99
Sale Price: $5.99
Sail Boats on the Sea Print Blades 42in Ceiling Fan Light KitOur Price: $120.99
Angels Garment Dress White Size 2T Girl Embroider Satin Baptismal CapeOur Price: $42.99


text:
Transgender Protections Bill Advances In Massachusetts
Kelly Lynn, Chris Lane, Tyler Hubbard, Chris Janson Won't Cancel NC Shows Over Anti-Gay Law
Jane Fonda Wants LGBT Youth To Know They Are Not Alone
IKEA, Merck, AIG Join Nearly 200 Businesses Opposed To North Carolina's Anti-Gay Law
Group Says It's 'Testing' Target's Transgender Policy By Sending Men Into Women's Restrooms
'Bold And The Beautiful' Wins 2 Daytime Emmys For Transgender-Inclusive Storyline
Statistician Nate Silver has come out
The 34-year-old Silver publicly
discussed his sexual orientation for the first time in an interview
with the UK's The
"I've always felt like something of
an outsider," Silver said. "I've always had friends, but I've
always come from an outside point of view. I think that's important.
If you grow up gay, or in a household that's agnostic, when most
people are religious, then from the get-go, you are saying that there
are things that the majority of society believes that I don't
Silver is the brain behind
FiveThirtyEight.com, which was renamed to FiveThirtyEight: Nate
Silver's Political Calculus when it moved in 2010 to The New
York Times. In detailed blog posts, Silver accurately predicted
the 2008 presidential winner of 49 out of 50 states.
In the final weeks of the 2012
presidential election, Silver was gay baited by conservative Dean
Chambers of UnSkewedPolls.com. In dismissing Silver's prediction of
an easy victory for President Obama, Chambers pronounced him a "thin
and effeminate" man "of small stature" with a "soft-sounding
Silver's book The
Signal and the Noise: Why Most Predictions Fail – But Some Don't
has received widespread praise from critics.
On Top Magazine


text:
12600 Players currently online!
Man vs. Machine - good luck!
Turn-based games at any time!
Vote for the best move to win!
Do you have what it takes?
Backgammon, Yatzy, and more!
Sharpen your tactical vision!
Get advice and game insights!
Learn from top players & pros!
View millions of master games!
Your virtual chess coach!
Perfect your opening moves!
Test your skills vs. computer!
Find the right private coach!
Can you solve it each day?
Bring it all together!
Beginners, start here!
Make friends & play team games!
News from the world of chess!
Search all Chess.com members!
Find local clubs & events!
Who's the best of your friends?
Read what members are saying!
Yes, and another factor is attitudinal. I have a philosophical hate for bullet nad blitz; there is no "truth" about the positions at such speed. In the times of Capa and Maroczy bullet would be called "skittles".
I have also trained myself to move slowly in ANY position. I am not a patient person. So it was hard to do. But even if I have a mate in 1 or a queen and king against king I have trained myself to still take a minute at least to move. This and my personal psychology of sitting on my hands when I know that I am winning - as soon as I know this I will take about 5 minutes for the next move - is all excellent technique for long time controls but lousy [clearly] at blitz or bullet.
I find it abolutely possible that someone could be below 1000 at bullet and 2600 at long time controls.
Intersetingly, the player's Online game history is 26 games all won!!
That's strange. He must have had very low rated opponents then, otherwise his rating would have been much higher after 26 games with 100% score.
I can say from personal experience that a difference between Online and Bullet of 800+ points is perfectly possible. But of course I suck at bullet, and I only play bullet when I'm drunk...
It would surprise me a bit though if my bullet would decrease another 200 points, or my online would increase 200 points.
[mod: no image spamming please!]
my favourite!
For me, the irony is that I have more problems with time in 3 0 (and just in general!) than I do in bullet. I think it's because bullet basically forces me to be fast, whereas the slower time controls give me the opportunity to dig my own grave by taking huge amounts of time in the opening
I'm fairly sure I'd have a difference approaching 1600 between my bullet and online ratings.
Hopefully someone will find that funny eventually.
Not only are the two different, but few take bullet games seriously. You generally play bullet chess to relax. If you took bullet games seriously you would not use the same strategic openings you use for chess but would play aggressive tactical openings and not worry about material but strive for the initiative at any cost. Most players will continue to use the openings they are familiar with.
Wtf is this obsession with cake?
What does [1.0] or [2.0] next to the player's name mean?
Kenpo is a big fan of Rousseau.
Lol...is Kenpo a porker? :0)
Their score in the current game session.
Lol...I like cake too....in moderation
Hey! I'm a noble savage. Don't pick on me.
Well, a savage of some kind, anyway.
Bit off topic this...I think we need a cake thread
I want a girl with a short skirt and a looonng jacket!
Center game #2 vs King's Gambit
by jengaias a few minutes ago
5/3/2016 - The Slip
by papipepopu a few minutes ago
Hurt/Heal World Champions
by hamerkop 5 minutes ago
People Who Don't Place Pieces CENTRALLY on squares...
by Harish73 5 minutes ago
Kasparov is slaughtering Nakamura and So.
by fabelhaft 6 minutes ago
My New tournament
by dragon888193 12 minutes ago
worst pun contest
by Bilbo21 18 minutes ago
best chess books
by ylblai2 19 minutes ago
Ubuntu and chess.
by HGMuller 20 minutes ago
Broken pages - old & new version
by palivec 24 minutes ago
Home |
Why Join | Chess Topics |
About |
FAQs |
Help & Support |
Site Map
Privacy Policy |
Legal |
© 2016 Chess.com
• Chess - English
We are working hard to make Chess.com available in over 70 languages. Check back over the year as we develop the technology to add more, and we will try our best to notify you when your language is ready for translating!


text:
German to English translation
We are a technology company and are looking for an individual who can translate our material from GERMAN TO ENGLISH.
This includes articles, documents, case studies and proofreading our website (improving the english there)
We need someone with excellent Englsh writing skill (preferably British English) as well as a very good understanding of the German language.
As we are a technology company in the IT SECTOR, we would also prefer candidates with good to excellent IT Jargon knowledge.
Looking to make some money?
- Set your budget and the time frame
- Outline your proposal
- Get paid for your work
Bids on this Project
thomasboerreKøbenhavn, Denmark
We offer top professionel article writing per definition! We have high experience in article writing, rewriting, translation. We have worked with big travelagencies in Denmark. We totally have 20 years experience in this field. We promise to furfill every requirements that you have.
Translation, Internet Marketing, Marketing, and Bulk Marketing
anamaricZagreb, Croatia
Experience in office administration, translation (English, Croatian, German), business process analysis, curriculum planning, writing. Full resume may be made available upon request.
kweberhoferKindberg, Cyprus
Native Austrian. Several years experiences in translating (english/german/french) and content writing and academic writing. I am having a Law and Business degree.
Translation, Legal, Articles, and Legal Research
kokoshungsanBristol, United Kingdom
Kokoshungsan Ltd. is a registered United Kingdom based company. We supplies UK-made, natural health and beauty products that have been specially formulated with the highest quality ingredients to support specific health and beauty goals.Our HIGH quality products are formulated in the U.K. and made under GMP standards with personalised label products, enabling you to expand your own brand and to boost turnover and bigger profits. Our Skin care products- 1) Natural Organic, Paraben and Sulphate FREE., 2) Ingredients are sourced from the UK, 3) Are manufactured in the UK, 4) None of our products are tested on animals, 5) suitable for vegans. We offer over 1000+ in house skin care, private label formulas, custom formulations. We also provide dropshipping service and create an excellent wholesale/retail business chance for Healthcare professionals, health-food stores, drug stores, and entrepreneurs etc who want to produce their own brand names.
Indonesian, Czech, Welsh, and Danish
zychosKarachi, Pakistan
We are associated with the data entry projects. There are several aspects of data entry we are engaged with; We are handling data entry projects i.e. 1- Data entry of documents and forms which are written by person's hand. 2- Data entry of typed documents and forms. 3- Manual data entry. 4- Automated data entry using OCR feature. 5- On site projects by scanning and indexing of documents. 6- Expert in extracting data from PDF and convert it to word, Excel and notepad. 7- Creating and editing PDF files. 8- Experts in MsOffice (Excel, Word, Access Powerpoint...) 9- Uploading data according to clients requirement.10- Expert in search on internet aware of techniques of searching over the web.11- Data entry of on screen documents and many more...We love to accept challenges for harder projects and provide high-tech support to our vendors. Content Writing: Write and publish articles on www.Ezinearticles.com the best place of articles
freund86Stip, Macedonia
For more than 4 years, I have been providing high quality writing content for clients coming from different parts of the globe. Also i work in Firma for Export- Import as a translator form english to german and german to english from articles and blog posts . I want to write articles very much.
sunshine97Faisalabad, Pakistan
I can Provide You Real Facebook Likes..
Social Networking, Facebook Marketing, Advertising, and Nokia
leamesLondon, United Kingdom
25 years providing IT, data management and authoring services. Experienced Project Manager, IT Manager and IT Strategist. Native British English Speaker with 15 years US Industry experience. Experienced technology and arts writer. Semi retired and looking for work from home income. My personal reputation is my greatest asset, so you can be guaranteed quality work, whatever the project.
mbosch25775Birmingham, United Kingdom
100% Human Translation Services with a Fast Turnaround and Guaranteed Quality!!!!!
traducciPottendorf, Austria
Introduction Born und grown up in Austria, but with English/American family roots, I am a bit between the languages. German is my mother tongue and English is of habitual use in communications with my relations and during my former career. Due to my professional experience in the IT business I am used to work fast, accurately and reliably and always in due consideration of customer requirements. Now, since I am retired, I am concentrating all my intellectual energy onto translating. For me it means a lot of joy to deal with languages and the subtle differences in wording and style. "What you like doing, you do best!" is my credo.
Translation, Project Management, Data Entry, and Proofreading