WO2012150416A1 - Optimisation de données texturées pour modélisation tridimensionnelle - Google Patents

Optimisation de données texturées pour modélisation tridimensionnelle Download PDF

Info

Publication number
WO2012150416A1
WO2012150416A1 PCT/FR2012/050976 FR2012050976W WO2012150416A1 WO 2012150416 A1 WO2012150416 A1 WO 2012150416A1 FR 2012050976 W FR2012050976 W FR 2012050976W WO 2012150416 A1 WO2012150416 A1 WO 2012150416A1
Authority
WO
WIPO (PCT)
Prior art keywords
elementary
pattern
patterns
texture
dimensional
Prior art date
Application number
PCT/FR2012/050976
Other languages
English (en)
Inventor
Luc Klaine
Original Assignee
Newscape Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Newscape Technology filed Critical Newscape Technology
Publication of WO2012150416A1 publication Critical patent/WO2012150416A1/fr

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping

Definitions

  • the present invention relates to the optimization of textured three-dimensional data.
  • the three-dimensional textured data is generally used for three-dimensional modeling and as such is used by terminals, such as mobile phones or computers for example, for displaying a set of three-dimensional patterns. It may be, for example, maps for a GPS location (for "Global Positioning System" in English) in three dimensions for smartphone applications. Thus, the reasons to represent may be buildings of a city.
  • the graphic representation of the three-dimensional patterns can be performed by means of a matrix of pixels on a graphical interface such as a screen. For this purpose, a color is assigned to each pixel of the screen.
  • each three-dimensional pattern is divided into a set of two-dimensional elementary patterns to facilitate the storage of data for graphically reconstructing a three-dimensional pattern.
  • Elementary patterns can be any type of polygon, such as a triangle or a rectangle for example.
  • a first subset is about textured vertices.
  • a vertex is a point in the space consisting of the intersection of two edges of elementary patterns of a three-dimensional pattern to be represented. It can be the intersection of two edges of the wall of a building or the top of the steeple of a church.
  • Each vertex of a three-dimensional pattern is localized in space by means of three spatial coordinates (or geographic coordinates), denoted (x, y, z), the x, y and z coordinates being values real.
  • a textured vertex is also marked by two texture coordinates (u, v), where u and v are real between 0 and 1.
  • the texture coordinates make it possible to locate the textured vertex in a two-dimensional image called a texture image in which is represented an elementary pattern of the three-dimensional pattern to be modeled.
  • the texture image is typically an array of pixels of dimensions W * H, with W and H being natural numbers.
  • Each pixel is identified in the texture image by pixel coordinates ( u > v ), with u an integer between 0 and W-1 and an integer between 0 and H-1.
  • the texture image is obtained from the projection of an elementary pattern in a given plane of space.
  • the elementary pattern can typically be a triangle that can represent a portion of a building wall for example, each vertex is defined by its geographical coordinates (x, y, z) and by its texture coordinates (u, v) allowing to locate the vertex in the texture image, to generalize the pixel coordinates independently of the image dimension, and thus to assign to the pixel whose pixel coordinates correspond to the vertex texture coordinates, a color data allowing the subsequent graphic modeling of the three-dimensional pattern.
  • the color associated with the pixel is obtained either by interpolation or by sampling from the texture of the projected elementary pattern.
  • the texture coordinates associated with the textured vertices and the pixel coordinates of the pixels of the texture image correspond exactly.
  • the geographic coordinates and texture are a priori independent of each other, and the storage of a textured top thus requires the storage of five data.
  • Texture images are the second subset of data. They generally comprise an elementary pattern (triangles or rectangles, of different sizes and shapes) obtained by projection in a plane of the particular space of the space of an elementary pattern of the motif three-dimensional. For example, for the three-dimensional modeling of a city, each building can be separated into different faces, themselves divided into triangles. For each of these triangles, a texture image is created, corresponding to the orthogonal projection (for example) of that triangle in a plane, to associate a texture with the triangle from the texture image and the texture coordinates. vertices of the triangle. The plane of the space used for the projection may vary for each elementary pattern to be projected.
  • a third and last subset of data consists of the data of triangles in the form of a triplet of indices (T 0 , ⁇ , T 2 ) corresponding to three previously defined vertices.
  • Each triangle is uniquely defined by the triplet of indices.
  • the indices 0, 1 and 2 correspond to textured vertices S 0 , Si and S 2 , each vertex being uniquely defined by five coordinates, as described above.
  • a terminal or rendering engine which can be an application programming interface (API) for programming applications.
  • API application programming interface
  • OpenGL or Direct3D for example, for displaying the pattern.
  • Five coordinates are transmitted for each textured vertex, as well as a texture image, represented by a matrix of pixels, for each elementary pattern according to a given projection and the sets of indices representing each elementary pattern are also transmitted.
  • This data overload has the effect of multiplying the calls to the rendering engine, which is a source of slowdown of the graphic rendering.
  • the present invention improves the situation.
  • a data processing method in the modeling of at least one three-dimensional pattern comprising elementary patterns, each of the elementary patterns being oriented in space in an orientation and having vertices, the vertices being defined by three geographical coordinates for a location in space and two texture coordinates for a location in a texture image, the method comprising:
  • the method according to the invention advantageously makes it possible to reduce the number of data stored in memory. Indeed, it proposes the storage on the same texture image, of several elementary patterns which, in space, are oriented in different orientations. A single texture image can therefore be used for the storage of several projected elementary patterns instead of storing a texture image per elementary pattern as suggested by the prior art. Thus, the amount of data to be stored or transmitted is reduced and the visual rendering of the three-dimensional pattern is accelerated.
  • each of the projected elementary patterns being placed in a list, an elementary pattern being randomly selected from the elementary patterns of the list for assigning texture coordinates to the vertices of the selected elemental pattern and removed. from the list, each elemental pattern selected for the texture coordinate assignment and removed from the list has at least one vertex in common with a previously selected elemental pattern for the texture coordinate assignment and the texture coordinates assigned to the vertex in common are common between the selected elemental pattern and the previously selected elementary pattern.
  • a three-dimensional pattern generally has a plurality of elementary faces or patterns that have vertices or even edges (thus two vertices) in common in space. The summits in common thus have the same geographical coordinates.
  • a vertex common to two elementary patterns in space is stored twice in memory, thereby causing redundancy of the stored data.
  • This embodiment of the invention makes it possible to mutualize at the level of the texture image the texture coordinates of the vertices that are common in space, in order to reduce the amount of data stored. Let us consider two triangles as elementary motifs of a three-dimensional pattern and consider that these two triangles have two vertices in common. A textured vertex is associated with five coordinates, as detailed previously.
  • each elementary pattern selected from the list for the texture coordinate assignment is an elementary pattern having two vertices in common with the one or more of the previously selected elementary patterns.
  • This embodiment advantageously makes it possible to reduce the amount of data stored in memory by proposing a cutting of the three-dimensional pattern in the form of a pattern, in which each projected elementary pattern is connected to another elementary pattern projected by at least two vertices.
  • this embodiment amounts to spreading a three-dimensional pattern in a two-dimensional plane while retaining certain edges common to several elementary patterns.
  • the process thus builds step by step the pattern of the three-dimensional pattern by selecting to each step a projected elementary pattern that has one edge (two vertices) in common with an elementary pattern already selected for grouping on a texture image.
  • a distance between two vertices is obtained from the geographical coordinates of the two vertices, if at least two projected elementary motifs of the list each have two vertices in common with the one or one of the elementary patterns previously selected for the assignment.
  • the elementary pattern selected for the texture coordinate assignment is the elementary pattern whose distance between the vertexes common to the previously selected elemental pattern for the texture coordinate assignment is greatest.
  • the one with the largest common edge is selected for texture coordinate assignment.
  • the length of a common edge or connection between two basic patterns is a first quality criterion of the connection.
  • a degree of parallelism between two elementary patterns is obtained from a scalar product between a first and a second unitary vector respectively normal to a first and a second plane each comprising one of the two elementary patterns, if at least two projected elementary patterns of the list each have two vertices in common with the one or more of the elementary patterns previously selected for the texture coordinate assignment, the elementary pattern selected for the texture coordinate assignment is the basic pattern of which the degree of parallelism with the previously selected elemental pattern for assigning texture coordinates is the largest.
  • the elementary patterns are triangles and the three-dimensional pattern a building comprising four facades and a roof
  • This second criterion therefore makes it possible to establish a priority for the selection of elementary patterns.
  • the texture image is a matrix of pixels, a default color being assigned to the pixels, the matrix comprising two dimensions H and L, the dimensions being expressed in number of pixels, each pixel being identified by two pixel coordinates (n, m), n varying between 0 and L-1 and m varying between 0 and H-1, an elementary pattern being represented in the texture image by the association of a color to each pixel whose pixel coordinates correspond to texture coordinates included in said elementary pattern, the method further comprises applying an isometry to the elementary patterns grouped in the texture image, in order to maximize a number of vertices of the elementary patterns whose texture coordinates correspond to pixel coordinates of the shape (0; n).
  • This embodiment allows an optimization of the arrangement of the elementary patterns in the texture image by moving the patterns so as to glue them against one side of the texture image, thereby reducing a surface of the image of the image. untapped texture, and thus to remove unused data for the graphic rendering of the three-dimensional pattern.
  • the texture image is advantageously filled in a structured manner.
  • each elementary pattern is projected in a plane comprising the elementary pattern.
  • This embodiment advantageously makes it possible to obtain elementary patterns whose representation in the texture image is in accordance with the three-dimensional representation.
  • the length ratios and the angles are thus preserved during the projection of the elementary patterns of the space in the plane.
  • all the basic patterns are thus projected in a comparable manner so as to ensure a certain homogeneity.
  • the texture image is bounded by a set of sides, a bounding box of a three-dimensional pattern being defined as the rectangle having a minimal area among the rectangles comprising the projected elementary patterns of the a three-dimensional pattern in the texture image and at least one side of which is parallel to one side of the texture image, a rotation is applied to each selected elemental pattern so that the area of the bounding box of the elementary pattern be minimal.
  • an optimization of the arrangement of the elementary patterns in the texture image is allowed insofar as the elementary patterns are grouped together in a parallel manner thus saving space in the texture image and thus reducing unused data. for three-dimensional modeling.
  • the method comprises pre-selecting a first three-dimensional pattern for selecting elementary patterns of the first three-dimensional pattern and further comprising repeating the preceding steps for at least a second three-dimensional pattern selected, and the projected elementary patterns of the second three-dimensional pattern are grouped on the texture image grouping the elementary patterns of the first three-dimensional pattern.
  • the method thus makes it possible to group several three-dimensional patterns on the same texture image, which makes it possible to reduce the number of texture images stored and therefore the amount of data stored.
  • the vertices of a projected elementary pattern of a three-dimensional pattern defining a surface of the elementary pattern in the texture image, a surface of the three-dimensional pattern being defined by the union of the surfaces of the elementary patterns of the three-dimensional pattern, the The texture coordinates assigned to the vertices of the projected elementary patterns of the second elementary pattern are not included in the area of the first three-dimensional pattern.
  • This embodiment advantageously avoids a superposition of the elementary patterns of three-dimensional patterns on the texture image and therefore a loss of information, which would lead to a reduction in the quality of the three-dimensional modeling from the stored data.
  • each pixel of the texture image is therefore dedicated at most to the representation of an elementary pattern.
  • the selection of the three-dimensional patterns is performed in an order that is a decreasing function of the area of each of the patterns. dimensional.
  • the arrangement of the three-dimensional patterns in the texture image is optimized by first grouping the elementary patterns of the three-dimensional maximum area pattern and thus bridging the remaining spaces with the three-dimensional patterns of smaller areas. The amount of data stored is therefore reduced.
  • the step of assigning the texture coordinates for the vertices of the elementary patterns of the selected second three-dimensional pattern is performed in a new image of texture if the remaining surface of the texture image can not include the area of the selected third three-dimensional pattern.
  • This embodiment makes it possible to use a new texture image for grouping one of the selected three-dimensional patterns after the first three-dimensional pattern.
  • the possible three-dimensional patterns of area smaller than that of the three-dimensional pattern grouped in the new texture image can be stored on the texture image comprising the first three-dimensional pattern if the remaining surface is sufficient.
  • the method can thus be repeated until a three-dimensional pattern has an area small enough to occupy the remaining surface of the texture image.
  • the selected three-dimensional patterns are grouped together in the new texture image, until its remaining surface is too small to store the smaller area three-dimensional pattern.
  • the process steps can thus be repeated iteratively and the method improves the arrangement of the three-dimensional patterns in the texture image and thereby reduce the amount of data stored.
  • the method further comprises, if the first and second three-dimensional patterns are grouped together on the same texture image, applying isometry to the elementary patterns of the second three-dimensional pattern in the texture image. to maximize a number of vertices common to the elementary patterns of the first three-dimensional pattern and the elementary patterns of the second three-dimensional pattern.
  • the three-dimensional patterns are grouped on the texture image so as to be joined in order to minimize the area occupied and to improve the arrangement of the remaining surface thus allowing the possible addition of additional three-dimensional patterns.
  • the method thus enables a reduction in the amount of stored data.
  • a desired deviation between three-dimensional patterns being predefined, a texture being associated with each projected elementary pattern of each three-dimensional pattern, an extension of one a three-dimensional pattern being obtained from a union of the surface of the three-dimensional pattern, a surface defined by discs whose centers are the vertices of the elementary patterns of the three-dimensional pattern and whose radius is equal to the difference, and a surface defined by rectangles, one side of which is a segment connecting two vertices of a three-dimensional pattern and of which two other perpendicular sides have a length equal to the predefined distance, the rectangles being oriented towards the outside of the projected elementary patterns of the three-dimensional pattern, if the first and second three-dimensional patterns are grouped together on the same texture image, an isometry is applied to the vertices of the second three-dimensional pattern so that an intersection of the extension of the first three-dimensional pattern and the extension of the second three-dimensional pattern is empty and the method further comprises for each part of the extension of a three-dimensional pattern nne
  • This embodiment advantageously makes it possible to attribute a texture to the parts of the extension not included in the three-dimensional pattern.
  • the outer edges of the three-dimensional patterns grouped on a texture image are sometimes not perfectly integral although they are initially common between several elementary patterns.
  • a texture image in the form of a pixel matrix this is the previously detailed case in which the pixel coordinates do not exactly match the texture coordinates, thus requiring interpolation or sampling .
  • the color applied to the default texture image is black, it may appear, during the reconstruction of the three-dimensional pattern, bands of black pixels on the edges that were external in the two-dimensional representation in the image texture.
  • This phenomenon can be amplified by a quantization of the data (rounding errors texture coordinates) and pixelation of the texture pattern (digital images).
  • This embodiment makes it possible to prevent the appearance of such phenomena attributing to the parts of the extension of a three-dimensional pattern which are not included in this pattern, a texture coherent with the three-dimensional pattern. The visual rendering of the three-dimensional pattern is thus considerably improved during the reconstruction of the pattern.
  • the isometry may be applied so as to maximize the number of pixels common to the extension of the first three-dimensional pattern and the extension of the third three-dimensional pattern.
  • this embodiment makes it possible to group the three-dimensional patterns on the texture image and thus to maximize the remaining surface area of the texture image for the grouping of other three-dimensional patterns. It therefore allows a reduction of the amount of data stored.
  • a selection angle and a direction of the space being predefined, for a three-dimensional pattern, only an elementary pattern of which a vector normal to a plane comprising the elementary pattern forms an angle with the predefined direction which is less than the predefined angle is selectable for projection in a projection direction and in that the elementary patterns that have not been selected are projected in a plane normal to the predefined direction and are grouped together on a new texture image , the texture coordinates associated with the vertices of the selected elementary patterns being obtained by projecting the vertices in a plane of the space perpendicular to the predefined direction.
  • This embodiment advantageously makes it possible to treat elementary patterns differently according to their orientation with respect to a given direction. Indeed, it is common to acquire three-dimensional data according to a plurality of shots, according to different angles of approach. Thus, shooting at a particular angle allows optimum acquisition of elementary patterns that are in a plane perpendicular to the direction of shooting.
  • the method can thus be applied to the elementary patterns representing the facades of buildings while the elementary patterns representing the roofs can be preferentially acquired by a vertical shot. This avoids redundancy of the stored data while advantageously allowing the improvement of the resolution of the stored data.
  • the invention further relates to a data processing terminal in the modeling of at least one three-dimensional pattern comprising means adapted for implementing the method according to one of the previously described embodiments.
  • the invention also relates to a computer program product comprising instructions for implementing the method according to one of the previously described embodiments.
  • FIG. 1 shows a three-dimensional pattern represented in a three-dimensional coordinate system, to which the method according to the invention is applied;
  • FIG. 2 shows a two-dimensional representation of the three-dimensional pattern of FIG. 1 in a texture image obtained by implementing the method according to one embodiment of the invention
  • FIG. 3 illustrates a two-dimensional representation of the three-dimensional pattern of FIG. 1 in a texture image obtained by implementing the method according to one of the embodiments of the invention
  • FIG. 4a represents a three-dimensional pattern in the form of a cube represented in the space to which the method according to one embodiment of the invention is applied;
  • FIG. 4b illustrates steps for assigning texture coordinates to the projected elementary vertex vertices of FIG. three-dimensional pattern of Figure 4a according to one embodiment of the invention
  • FIGS. 5a and 5b illustrate two two-dimensional representations of the three-dimensional pattern of FIG. 1 in a texture image according to embodiments of the invention
  • FIG. 6 illustrates a projected elementary pattern of a three-dimensional pattern as well as an extension of this elementary pattern
  • FIG. 7 illustrates a two-dimensional representation of two three-dimensional patterns each comprising two elementary patterns in a texture image
  • FIG. 8 represents a flowchart of the steps of a method according to the invention.
  • FIG. 1 shows a three-dimensional pattern represented in a three-dimensional coordinate system (0, x-i, y-, z-i) oriented by non-coplanar vectors x-i, yi and zi.
  • the reference is orthonormed.
  • this example is not restrictive and the three-dimensional pattern 1 can be represented in any type of marker.
  • the three-dimensional pattern 1 is a right-hand block that can represent a building for example, in the case of the three-dimensional modeling of a city. No limitation is attached to the geometry of the three-dimensional patterns shown.
  • the right block 1 comprises six faces, of which five are considered as part of a modeling of a building (the lower face included in the plane (x ; y-,) is not viewable). Three faces are shown in FIG. These faces are divided into elementary patterns, in this case triangles. No limitation is attached to the geometry of the elementary patterns considered. By way of example, the invention is applicable to elementary patterns in the form of rectangles, squares or any other polygon.
  • Each of the faces can be represented by a different texture for the three-dimensional modeling of the three-dimensional pattern 1.
  • a texture associated with each elementary pattern corresponds to a color.
  • the invention also covers the use of more detailed texture, comprising for example different patterns such as a window or a door in the case of the three-dimensional representation of a building.
  • a first face is divided into two elementary patterns 2 and 3.
  • This face is oriented in space by a vector n 23 which is normal to a plane comprising the face.
  • the face is vertical of normal vector n 23 along the axis (0, y-,).
  • a second face is divided into two elementary patterns 4 and 5.
  • This face is oriented in the plane by a vector n 45 which is normal to a plane comprising the face.
  • the face is vertical normal vector n 45 along the axis (0, zi).
  • a third face is divided into two elementary patterns 6 and 7. This face is oriented in the plane by a vector n 6? which is normal to a plane including the face. In the example shown, the face is vertical of normal vector n 6? along the axis (0, xi).
  • Each triangle has three vertices.
  • the triangle 3 thus comprises the vertices S31, S32 and S33 and the triangle 2 comprises the vertices S21, S32 and S33.
  • Each vertex is represented by three geographical coordinates (x, y, z) in the frame (0, x-i, y- ⁇ , z-,).
  • the geographic coordinates of each vertex can be stored for modeling the three-dimensional pattern.
  • each vertex can be marked by texture coordinates (u, v), where u and v are real between 0 and 1.
  • FIG. 2 represents a texture image 10 obtained by implementing the method according to one embodiment of the invention.
  • the texture image may be represented by a rectangular image comprising a set of pixels identified by pixel coordinates ( u > v ), u and being integers, by means of a two-dimensional reference (0 2 , X 2 , y 2 ), comprising an origin 0 2 as well as two director vectors x 2 and y 2 collinear.
  • the two-dimensional reference (0 2 , X 2 , y 2 ) is orthonormal.
  • Each pixel is associated with a color, which is defined by a correspondence between the pixel coordinates of the pixel ( u , v) and the texture coordinates (u, v) included in an elementary pattern of the three-dimensional pattern 1. It is thus possible to locate the position as well as the color of a vertex or any point of the three-dimensional pattern by means of its three geographical coordinates (x, y, z) and its two texture coordinates (u, v). By default, it is possible to assign a color to the pixels of the texture image, such as the black color for example. Thus, all the pixels outside the elementary patterns (also called triangles in this example) of the three-dimensional pattern 1 are black.
  • Triangles 2-6 of the three-dimensional pattern 1 can be projected to then define point texture coordinates of the triangles 2-6.
  • the triangles 2 and 3 are projected in a plane normal to the vector n 23
  • the triangles 4 and 5 are projected in a plane normal to the vector n 45
  • the triangles 6 and 7 are projected in a normal plane to the vector n 6? .
  • the projection directions chosen to project the elementary patterns can form a same angle with the normal vector of the corresponding projected elementary pattern, which makes it possible to maintain length ratios and thus facilitate a subsequent three-dimensional reconstruction of the three-dimensional pattern from the coordinates.
  • the projected elementary patterns 2-6 as well as the projected elementary patterns of triangles of the three-dimensional pattern not shown in FIG. 1 are grouped together in the texture image 10.
  • the projections being orthogonal, the projected elementary patterns 2-6 correspond without deformation to the elementary patterns of the three-dimensional pattern shown in three dimensions in Figure 1, to a near homothety.
  • Projections Elementary patterns are distributed over the texture image 10 by assigning two texture coordinates (u, v) to each of the vertices of the projected elementary patterns.
  • texture coordinates are assigned to each vertex of the triangle 2, namely vertices S 2 i, S 2 2 and S 2 3, and at each vertex of the triangle 3, namely the vertices S 3 i, S32 and S 3 3-
  • the vertices S23 and S33, as well as the vertices S22 and S32 are assigned to different texture coordinates even though they have the same geographical coordinates.
  • This redundancy causes a storage of two pairs of texture coordinates for a single vertex shown in FIG. 1 and therefore a multiplication of the stored data.
  • this embodiment makes it possible to store several elementary patterns, projected according to different projection directions, within the same texture image 10, which makes it possible to reduce the number of data stored compared to the prior art presented previously. , in which a texture image is assigned to each projected elementary pattern.
  • FIG. 3 illustrates a two-dimensional representation of the three-dimensional pattern 1 in a texture image 10 obtained by implementing the method according to one of the embodiments of the invention.
  • new texture coordinates have been assigned to the vertices of the projected triangles shown in FIG. 2.
  • the vertices having the same geographical coordinates such as the vertices S 2 3, and S33 as well as the vertices S22 and S32, have been assigned the same texture coordinates in an assignment step, which makes it possible to use the redundancy mentioned above to reduce the amount of stored data (the number of texture and geographic coordinates).
  • the cube 20 is divided into elementary patterns corresponding to triangles obtained by drawing the diagonals of the sides of the cube 20. Six triangles are thus obtained visible in FIG. 4a, namely the triangles 21, 22, 23, 24, 25 and 26. From these triangles, it is possible to construct a table of connections between triangles grouping three coefficients, namely the number of common vertices v, the lengths of common edges ⁇ to the triangles and the degree of parallelism ⁇ of the triangles which is defined by the scalar product between a first and a second unit vectors respectively normal to a first and a second plane each comprising one of the two triangles.
  • the table of connections makes it possible to make an inventory of the connections between triangles, in order to improve the assignment of coordinates of textures to the vertices of the triangles.
  • the common stop length between triangles is the common stop length between triangles
  • Table 1 The coefficients v, ⁇ and ⁇ make it possible to evaluate a quality of connection between the different triangles of the cube 20.
  • Figure 4b illustrates steps of assigning texture coordinates to the vertices of elementary patterns according to one embodiment of the invention.
  • the texture coordinates can be assigned to the vertices of the triangles 21, 22, 23, 24, 25 and 26 of the cube 20 in an order defined from the results listed in Table 1.
  • each triangle 21 -26 of the cube 20 of Figure 4a is each projected orthogonally in a plane parallel to the plane comprising it.
  • the projections obtained then correspond to the triangles 21 -26 of the cube 20 in space and allow a two-dimensional representation of the cube 20 in a texture image.
  • the projections of triangles 21 -26 can thus be grouped into a list for placement (by assigning texture coordinates to their respective vertices) on the texture image.
  • the projections considered here are orthogonal in parallel planes and, therefore, the projected triangles are similar to the 21 -26 triangles of the cube 20 in space.
  • the steps that are described hereinafter to the images of the triangles by the projection should be applied.
  • a first triangle can be selected randomly.
  • the triangle 21 is selected first and placed on the texture image (not shown here) by assigning texture coordinates to the vertices of the triangle 21.
  • the triangle 21 is then removed from the list of triangles to be placed.
  • the selection of the second triangle to be placed on the texture image can be performed according to the table 2.
  • the triangle 23 and the triangle 25 each have two vertices in common with the triangle 21.
  • the degree of parallelism ⁇ of the first triangle 21 is higher with the triangle 23 (equal to 1) than with the triangle 25 (equal to 0).
  • the common edge between the triangle 21 and 23 has a length ⁇ equals ax 2, while the common edge between the triangle 21 and the triangle 25 has for length a. Therefore, triangle 23 is selected for assigning texture coordinates. Texture coordinates are therefore assigned to the vertices of the triangle 23 so as to group the vertices common to the triangle 21 and the triangle 23 on the texture image, which makes it possible to reduce the number of stored texture coordinates.
  • the triangle 23 is thus removed from the list of triangles to be placed. Note that if two triangles are connected in the volume (in the cube 20), there is a single application r 1 t 2 applied to one of the triangles such that:
  • the bijection r i, 2 comes from a translation, a rotation and a reflection whose parameters are obtained by solving the equations characterizing its properties.
  • the remaining triangles 22, 24, 25 and 26 in the list are then evaluated according to the quality of their connection with the triangle 23, using Table 1. Only the triangle 24 has two vertices in common with the triangle 23. Consequently, the triangle 24 is selected for projection and assignment of texture coordinates. Texture coordinates are thus assigned to the vertices of the triangle 24 so as to group the vertices common to the triangle 23 and the triangle 24 on the texture image, in order to reduce the number of data stored. Indeed, only one vertex corresponding to five coordinates is stored, instead of two vertices with five coordinates each, which represents a considerable reduction of the stored data.
  • the remaining triangles 22, 25 and 26 in the list are then evaluated according to the quality of their connection with the triangle 23, using Table 1.
  • the triangles 22 and 26 each have two vertices in common with the triangle 24. However, because of the degree of parallelism ⁇ of the triangles 24 and 22 and the common stop length v to the triangles 24 and 22, the triangle 22 is selected for assigning texture coordinates. Texture coordinates are therefore assigned to the vertices of the triangle 22 so as to group the vertices common to the triangle 24 and the triangle 22 on the texture image.
  • the remaining triangles 25 and 26 in the list are then evaluated relative to the triangle 22, using the previous table. None of the triangles 25 and 26 has two vertices in common with the triangle 22. The triangles 25 and 26 are therefore evaluated relative to another triangle previously grouped in the texture image, for example the triangle 21. Only the triangle 25 has two vertices in common with the triangle 21. Therefore, the triangle 25 is selected for assigning texture coordinates. Texture coordinates are therefore assigned to the vertices of the triangle 25 so as to group the vertices common to the triangle 21 and the triangle 25 on the texture image.
  • the remaining triangle 26 has two vertices in common with the triangle 25. Texture coordinates are therefore assigned to the vertices of the triangle 26 so as to group the vertices common to the triangle 21 and the triangle 25 on the texture image.
  • a partial pattern of the boss cube 4a is advantageously obtained, representing the cube 4a unfolded in a two-dimensional space.
  • Such an embodiment taking into account the parallelism or the length of the connection of the triangles advantageously makes it possible to avoid separating the triangles initially included in the same face of the volume and thus to define an order of priority for the assignment of coordinates. from texture to vertices triangles.
  • Improved data construction improves upstream the final rendering of the volume and the speed of execution of the display of three-dimensional patterns. Assigning texture coordinates common to common vertices allows you to group the triangles that are initially connected to the volume.
  • Figures 5a and 5b illustrate two two-dimensional representations of the three-dimensional pattern 1 in a texture image 2 according to embodiments of the invention.
  • the two-dimensional representation of the three-dimensional pattern 1 is obtained according to the method illustrated in FIG. 3 but is randomly arranged on the texture figure 10.
  • An enclosing box 51 of the three-dimensional pattern is defined. It is obtained by constructing the smaller area rectangle comprising the three-dimensional pattern 1 and at least one of whose sides is parallel to one side of the texture image 10.
  • the Texture image 10 is rectangular in shape. Therefore, each side of the bounding box 51 is parallel to two sides of the texture image 10. Further, a remaining surface 52 of the texture image is defined as the restriction of the surface of the texture image.
  • the remaining surface 52 is distributed on either side of the three-dimensional pattern 1, which can prevent a grouping of elementary patterns of a second three-dimensional pattern on the same texture image 1 0.
  • To store two three-dimensional patterns on the same texture image it is advantageous to avoid a superposition of the three-dimensional patterns that would result in a loss. of information. Indeed, the texture of a part common to both reasons does not provide the same information as two textures associated with each of the two common parts taken independently.
  • FIG. 5b thus illustrates a two-dimensional representation of the three-dimensional pattern 1 which has been rotated and translated in comparison with FIG. 5a.
  • a rotation of angle ⁇ has been applied to the three-dimensional pattern 1 in order to maximize the number of sides of the three-dimensional pattern 1 parallel to the sides of the texture image, to obtain a bounding box 53 of the three-dimensional pattern 1 of which the area is minimized.
  • the angle a to minimize the area of the bounding box is not unique. In fact, ⁇ + 90 °, a + 1 80 ° and a + 270 ° also make it possible to obtain a minimum area for the bounding box.
  • a translation is then applied to the three-dimensional pattern 1 which has undergone a rotation of angle ⁇ , in order to maximize the number of vertices of the three-dimensional pattern located on the sides of the texture image 1 0. It is also possible, at the moment of assigning texture coordinates to the vertices of the elementary patterns of the three-dimensional pattern, maximizing the number of texture coordinates corresponding to pixel coordinates on one side of the texture image 1 0.
  • the image of texture 10a for dimensions H and L, H and L being expressed in number of pixels
  • the pixel coordinates of the pixels of the texture image are of the form (n, m), n varying between 0 and L- 1 and m varying between 0 and H-1
  • assigning texture coordinates corresponding to pixel coordinates of the form (0; n), (m; 0), ( H-1; n) and (m; L-1) is preferred.
  • the translation applied to the three-dimensional pattern 1 makes it possible to translate the three-dimensional pattern 1 in the lower left corner of the texture image 1 0. This translation advantageously makes it possible to obtain a surface remaining 54 of the texture image 1 0 which is optimized.
  • the remaining surface 54 is such as to allow the grouping in the texture image of a second three-dimensional pattern of dimensions similar to those of the three-dimensional pattern 1. It is thus possible to reduce the number of texture images to be stored for the two-dimensional representation of the three-dimensional patterns. Thus, in the case of a representation of a city, it is possible to maximize the number of buildings stored on a texture image, without assigning a texture image to each building.
  • the three-dimensional patterns In the case of modeling a plurality of three-dimensional patterns, they can be stored in a list and classified according to the value of their area. Thus, it is advantageous to first place the three-dimensional patterns whose area is large and then fill the remaining surface with three-dimensional patterns of smaller areas.
  • the area of a three-dimensional pattern is equal to the sum of the areas of the elementary patterns of this three-dimensional pattern. A first three-dimensional pattern is therefore selected, this pattern having the largest area among the three-dimensional patterns of the list.
  • the elementary patterns of the three-dimensional pattern are grouped into a texture image according to the preceding steps, for example in the lower left corner of the texture image.
  • the remaining area is then compared to the remaining three-dimensional pattern areas of larger areas.
  • these three-dimensional patterns can be grouped together in the texture image, their bounding box is further minimized and placed in the first leftmost and lowest available position in the texture image.
  • the three-dimensional patterns can also be rotated a quarter of a turn to facilitate their insertion into the texture image.
  • FIG. 6 illustrates an elementary pattern of a three-dimensional pattern 60 as well as an extension 61 of this elementary pattern 60, here a triangle comprising three vertices Ui, U 2 and U 3 connected by three sides. Each side is associated with a normal unit vector at the side. The vectors are referenced "i,” 2 and "3.
  • An extension of an elementary pattern corresponds to the set of points (or pixels in the case of an elementary pattern in a texture image in the form of a matrix of pixels) located at a distance from the elementary pattern smaller than an extension radius R.
  • an extension is defined for a three-dimensional pattern projected in a textur image e as the union of the extensions of the elementary patterns included in the three-dimensional pattern.
  • FIG. 7 illustrates a two-dimensional representation of two three-dimensional patterns 70 and 74 comprising elementary patterns 71 and 72, and 75, 76 and 77 respectively in a texture image 78.
  • the elementary patterns 75, 76 and 77 of the three-dimensional pattern 74 have three different textures, respectively represented with horizontal stripes, vertical stripes and oblique stripes.
  • the three-dimensional pattern 70 has been shown with its extension 73 constructed as previously described. Regarding the extension of the three-dimensional pattern 74, it has been divided into three parts 77, 78 and 79 relating respectively to the basic patterns 74, 75 and 76.
  • the extensions of the three-dimensional patterns 70 and 74 make it possible to introduce a minimum distance between the two three-dimensional patterns.
  • This condition is not incompatible with the previously defined defined arrangement according to which the three-dimensional patterns are brought closer to the texture image. The same condition applies simply to extensions and no longer to three-dimensional patterns.
  • the three-dimensional patterns are grouped in the texture image 78 by filling this texture image from the lower left corner.
  • a texture is assigned according to the texture of the nearest elementary pattern, in this case the one from which the part of the extension was constructed.
  • the portion 77 has horizontal stripes
  • the portion 78 has vertical stripes
  • the portion 79 has oblique stripes.
  • a display engine performs more or less precise interpolation (sampling, linear or cubic).
  • interpolation sampling, linear or cubic.
  • a texture coordinate that does not point exactly in the middle of a pixel will result in a color calculated using the pixels around it.
  • the closer the texture coordinate is to the space between the patterns the darker the color may be. This phenomenon is particularly visible in the case of the reconstruction of oblique stops.
  • flaps such as the assignment of a texture to the parts of the extension, makes it possible to overcome the problem described above insofar as the pixels of the outer edges are assigned a texture determined from the texture. the nearest elementary pattern.
  • the black bands are eliminated and the addition of the texture for the extension is inexpensive (one can choose for example a coefficient r equal to one pixel for the construction of the extensions).
  • the outer edge of the elementary pattern 77 is secured, during the reconstruction of the pattern three-dimensional, with the end of the three-dimensional pattern 76.
  • the parts of the extensions 78 and 79 which have been textured, advantageously allow to avoid the appearance of a black band at the junction of these two edges in the final rendering .
  • the invention also provides for differentiating the treatment applied to the elementary patterns, in particular, in the context of the three-dimensional modeling of a city, according to the specificities of city data.
  • MNS numerical model of surface
  • MNE numerical model of elevation
  • DTM digital terrain model
  • the ortho plan is systematically displayed combined with the relief of the digital terrain model to show the environment in which the buildings fit.
  • roof images appear in texture images from the ortho plan and are doubled by texture images from building modeling.
  • information from the ortho plan is doubled but used only once.
  • the method according to the invention overcomes this redundancy of data by considering only elementary patterns whose verticality is sufficient. This verticality can be evaluated by a simple scalar product calculation between a vector normal to a plane comprising a given elementary pattern and a vertical direction vector. The method is therefore applied only to the elementary patterns for which such a scalar product is less than a threshold value for example. Typically, such a selection makes it possible to apply the method according to the invention to the facades of the buildings, the elementary motifs relating to the roofs being treated separately.
  • the other basic patterns are then projected and grouped into another texture image that is merged with the images from the ortho plane corresponding to the same area.
  • texture coordinates are not stored for these other elementary patterns since the first two spatial coordinates coincide exactly with the texture coordinates, possibly with a translation and a near homothety, which makes it possible to reduce the amount of data stored at the level of the elements. vector data.
  • information between the texture images of the buildings and the texture images from the ortho plan are not redundant, which makes it possible to reduce the amount of data stored at the level of the texture images.
  • this realization makes it possible to translate the differentiation that is initially made between the images acquired by the camera perpendicular to the ground and the other images. Indeed, a differentiation is made in the treatment of facades and roofs.
  • FIG. 8 represents a flowchart of the steps of a method according to the invention.
  • three-dimensional patterns are acquired in order to be modeled for a subsequent three-dimensional reconstruction.
  • This acquisition step may involve all or part of the previously described data.
  • three-dimensional patterns composed of elementary patterns with which textures are associated are acquired.
  • three geographic coordinates are assigned to the vertices of the elementary patterns of each three-dimensional pattern.
  • the acquired three-dimensional patterns can be stored in a list of three-dimensional patterns.
  • a first three-dimensional pattern is selected and removed from the list of three-dimensional patterns.
  • the selection can be made according to the areas of the three-dimensional patterns acquired in the previous step.
  • the three-dimensional pattern of larger area can be selected as the first three-dimensional pattern.
  • the elementary patterns of the selected three-dimensional pattern are projected in planes of the space.
  • the elementary patterns may thus be, for example, orthogonally projected in planes parallel to the planes comprising them in order to preserve the lengths and the angles of the edges of the elementary patterns in space.
  • projected elementary patterns are selected. The selection may for example be made according to the verticality of the elementary patterns.
  • the method is preferentially applied to elementary patterns whose scalar product of a vector normal to a plane comprising them with a vertically oriented vector is less than a given threshold value.
  • the projected and selected elementary patterns are grouped into a texture image by assigning texture coordinates to the vertices of the selected elementary patterns.
  • the assignment order may depend on a connection quality between an elementary pattern already grouped on the texture image and an elementary pattern that has not yet been grouped on the texture image.
  • a remaining surface of the texture image is determined in a step 806. If it is possible to add an additional three-dimensional pattern in the image of texture, a third three-dimensional pattern is selected in step 802 and the following steps are repeated.
  • step 807 if the remaining surface of the texture image does not store one of the remaining three-dimensional patterns in the three-dimensional pattern list, a new texture image is created in step 807 and used for repetition. process steps from step 802.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)

Abstract

L'invention concerne un procédé de traitement de données dans la modélisation d'au moins un motif tridimensionnelle comprenant des motifs élémentaires, chacun des motifs élémentaires étant associé à une texture, étant orienté dans l'espace selon une orientation et comportant des sommets, les sommets étant définis par trois coordonnées géographiques pour une localisation dans l'espace et deux coordonnées de texture pour une localisation dans une image de texture. Le procédé comprend à cet effet la sélection de plusieurs motifs élémentaires du motif tridimensionnel, les motifs élémentaires sélectionnés étant orientés selon au moins deux orientations différentes, la projection de chacun des motifs élémentaires sélectionnés dans un plan normal à une direction de projection donnée, spécifique à chaque motif élémentaire, la sélection successive des motifs élémentaires projetés pour l'assignation de coordonnées de texture aux sommets des motifs élémentaires projetés et le regroupement des motifs élémentaires sur une image de texture.

Description

OPTIMISATION DE DONNEES TEXTURÉES POUR MODELISATION TRIDIMENSIONNELLE
La présente invention concerne l'optimisation de données tridimensionnelles texturées.
Les données tridimensionnelles texturées sont généralement employées pour la modélisation tridimensionnelle et sont à ce titre utilisées par des terminaux, tels que des téléphones mobiles ou des ordinateurs par exemple, en vue de l'affichage d'un ensemble de motifs tridimensionnels. Il peut s'agir, à titre d'exemple, de cartes pour une localisation GPS (pour « Global Positioning System » en anglais) en trois dimensions pour des applications sur Smartphone. Ainsi, les motifs à représenter peuvent être des bâtiments d'une ville.
La représentation graphique des motifs tridimensionnels peut être effectuée par le biais d'une matrice de pixels sur une interface graphique telle qu'un écran. A cet effet, une couleur est attribuée à chaque pixel de l'écran. De plus, chaque motif tridimensionnel est divisé en un ensemble de motifs élémentaires bidimensionnels afin de faciliter le stockage des données permettant de reconstruire graphiquement un motif tridimensionnel. Les motifs élémentaires peuvent être n'importe quel type de polygone, tels qu'un triangle ou un rectangle par exemple.
Pour le stockage et la transmission des données permettant la reconstruction graphique des motifs tridimensionnels, on utilise généralement, et ce quelque soit le format de fichier à modéliser, trois sous-ensembles de données.
Un premier sous-ensemble concerne des sommets texturés. On appelle sommet un point de l'espace constitué de l'intersection de deux arêtes de motifs élémentaires d'un motif tridimensionnel à représenter. Il peut ainsi s'agir de l'intersection de deux arêtes du mur d'un bâtiment ou le sommet du clocher d'une église. Chaque sommet d'un motif tridimensionnel est localisé dans l'espace au moyen de trois coordonnées d'espace (ou coordonnées géographiques), notées (x, y, z), les coordonnées x, y et z étant des valeurs réelles. Un sommet texturé est également repéré par deux coordonnées de texture (u, v), u et v étant réels compris entre 0 et 1 .
Les coordonnées de texture permettent de repérer le sommet texturé dans une image bidimensionnelle appelée image de texture dans laquelle est représenté un motif élémentaire du motif tridimensionnel à modéliser. L'image de texture est typiquement une matrice de pixels de dimensions W*H, avec W et H entiers naturels. Chaque pixel est repéré dans l'image de texture par des coordonnées de pixel (u> v) , avec u entier compris entre 0 et W-1 et entier compris entre 0 et H-1 . L'image de texture est obtenue à partir de la projection d'un motif élémentaire dans un plan donné de l'espace. Le motif élémentaire peut être typiquement un triangle pouvant représenter une portion d'un mur de bâtiment par exemple, dont chacun des sommets est défini par ses coordonnées géographiques (x, y, z) et par ses coordonnées de texture (u, v) permettant de repérer le sommet dans l'image de texture, de généraliser les coordonnées de pixel de manière indépendante à la dimension de l'image, et d'ainsi attribuer au pixel dont les coordonnées de pixel correspondent au coordonnées de texture du sommet, une couleur donnée permettant la modélisation graphique ultérieure du motif tridimensionnel. Dans le cas où la correspondance entre les coordonnées de pixel et les coordonnées de texture n'est pas exacte, la couleur associée au pixel est obtenue soit par interpolation soit par échantillonnage à partir de la texture du motif élémentaire projeté. Par souci de simplification par la suite, on considérera, sauf mention contraire, que les coordonnées de texture associées aux sommets texturés et les coordonnées de pixel des pixels de l'image de texture correspondent exactement.
Un sommet texturé peut être noté S=(x, y, z, u, v). Les coordonnées géographiques et de texture sont a priori indépendantes les unes des autres, et le stockage d'un sommet texturé nécessite donc le stockage de cinq données.
Les images de texture constituent le deuxième sous-ensemble de données. Elles comprennent généralement un motif élémentaire (triangles ou rectangles, de différentes tailles et formes) obtenu par projection dans un plan de l'espace particulier de l'espace d'un motif élémentaire du motif tridimensionnel. A titre d'exemple, pour la modélisation tridimensionnelle d'une ville, chaque bâtiment peut être séparé en différentes faces, elles-mêmes divisées en triangles. Pour chacun de ces triangles, une image de texture est créée, correspondant à la projection orthogonale (par exemple) de ce triangle dans un plan, afin d'associer une texture au triangle à partir de l'image de texture et des coordonnées de texture des sommets du triangle. Le plan de l'espace utilisé pour la projection peut varier pour chaque motif élémentaire à projeter.
Un troisième et dernier sous-ensemble de données est constitué de la donnée de triangles sous forme d'un triplet d'indices (T0, ΤΊ , T2) correspondant à trois sommets précédemment définis. Chaque triangle est défini de manière unique par le triplet d'indices. Ici, les indices 0, 1 et 2 correspondent à des sommets texturés S0, Si et S2, chaque sommet étant défini de manière unique par cinq coordonnées, tel que décrit précédemment.
Ainsi, une telle modélisation requiert une quantité de données considérable à stocker et à transmettre pour l'utilisation par un terminal ou moteur de rendu, pouvant être une interface de programmation d'applications API (pour « application programming interface » en anglais) telle que OpenGL ou Direct3D par exemple, en vue de l'affichage du motif. En effet, cinq coordonnées sont transmises pour chaque sommet texturé, ainsi qu'une image de texture, représentée par une matrice de pixels, pour chaque motif élémentaire selon une projection donnée et les ensembles d'indices représentant chaque motif élémentaire sont également transmis. Cette surcharge de données a pour effet de multiplier les appels vers le moteur de rendu, ce qui est source de ralentissement du rendu graphique.
La présente invention vient améliorer la situation.
Elle propose à cet effet un procédé de traitement de données dans la modélisation d'au moins un motif tridimensionnel comprenant des motifs élémentaires, chacun des motifs élémentaires étant orienté dans l'espace selon une orientation et comportant des sommets, les sommets étant définis par trois coordonnées géographiques pour une localisation dans l'espace et deux coordonnées de texture pour une localisation dans une image de texture, le procédé comprenant:
la sélection de plusieurs motifs élémentaires du motif tridimensionnel, les motifs élémentaires sélectionnés étant orientés selon au moins deux orientations différentes;
la projection de chacun des motifs élémentaires sélectionnés dans un plan normal à une direction de projection donnée, spécifique à chaque motif élémentaire ; la sélection successive des motifs élémentaires projetés pour l'assignation de coordonnées de texture aux sommets des motifs élémentaires projetés ; et
le regroupement des motifs élémentaires sur une image de texture.
Le procédé selon l'invention permet avantageusement de réduire le nombre de données stockées en mémoire. En effet, il propose le stockage sur une même image de texture, de plusieurs motifs élémentaires qui, dans l'espace, sont orientés selon des orientations différentes. Une seule image de texture peut donc être utilisée pour le stockage de plusieurs motifs élémentaires projetés au lieu de stocker une image de texture par motif élémentaire comme le suggère l'art antérieur. Ainsi, la quantité de données à stocker ou à transmettre est réduite et le rendu visuel du motif tridimensionnel est accéléré.
Dans un mode de réalisation de l'invention, chacun des motifs élémentaires projetés étant placé dans une liste, un motif élémentaire étant sélectionné aléatoirement parmi les motifs élémentaires de la liste pour l'assignation de coordonnées de texture aux sommets du motif élémentaire sélectionné et retiré de la liste, chaque motif élémentaire sélectionné pour l'assignation de coordonnées de texture et retiré de la liste possède au moins un sommet en commun avec un motif élémentaire précédemment sélectionné pour l'assignation de coordonnées de texture et les coordonnées de texture assignées au sommet en commun sont communes entre le motif élémentaire sélectionné et le motif élémentaire précédemment sélectionné.
Un motif tridimensionnel présente généralement une pluralité de faces ou motifs élémentaires qui ont des sommets voire des arrêtes (donc deux sommets) en commun dans l'espace. Les sommets en commun possèdent ainsi les mêmes coordonnées géographiques. Dans l'art antérieur, un sommet commun à deux motifs élémentaires dans l'espace est stocké deux fois en mémoire, provoquant ainsi une redondance des données stockées. Cette réalisation de l'invention permet de mutualiser au niveau de l'image de texture les coordonnées de texture des sommets qui sont communs dans l'espace, afin de réduire la quantité de données stockées. Considérons deux triangles en tant que motifs élémentaires d'un motif tridimensionnel et considérons que ces deux triangles possèdent deux sommets en commun. Un sommet texturé est associé à cinq coordonnées, comme détaillé précédemment. En mutualisant les deux sommets communs sur l'image de texture, on économise ainsi le stockage de dix coordonnées en mémoire dans la mesure où chaque sommet commun est stocké sous la forme de cinq coordonnées. Puisque les coordonnées de texture correspondent, on met à profit la redondance des données afin de réduire la quantité de données stockées.
Dans une réalisation de l'invention, chaque motif élémentaire sélectionné parmi la liste pour l'assignation de coordonnées de texture est un motif élémentaire possédant deux sommets en commun avec le ou l'un des motifs élémentaires précédemment sélectionnés.
Cette réalisation permet avantageusement de réduire la quantité de données stockées en mémoire en proposant un découpage du motif tridimensionnel sous la forme d'un patron, dans lequel chaque motif élémentaire projeté est relié à un autre motif élémentaire projeté par aux moins deux sommets. Instinctivement, cette réalisation revient à étaler un motif tridimensionnel dans un plan bidimensionnel en conservant certaines arrêtes communes à plusieurs motifs élémentaires. Le procédé construit ainsi pas à pas le patron du motif tridimensionnel en sélectionnant à chaque étape un motif élémentaire projeté qui a une arrête (deux sommets) en commun avec un motif élémentaire déjà sélectionné pour le regroupement sur une image de texture.
En complément, une distance entre deux sommets étant obtenue à partir des coordonnées géographiques des deux sommets, si au moins deux motifs élémentaires projetés de la liste ont chacun deux sommets en commun avec le ou l'un des motifs élémentaires précédemment sélectionnés pour l'assignation de coordonnées de texture, le motif élémentaire sélectionné pour l'assignation de coordonnées de texture est le motif élémentaire dont la distance entre les sommets communs avec le motif élémentaire précédemment sélectionné pour l'assignation de coordonnées de texture est la plus grande.
Ainsi, lorsque plusieurs motifs élémentaires de la liste ont deux sommets en commun avec l'un des motifs sélectionnés précédemment, celui qui a l'arrête commune la plus grande est sélectionné pour assignation de coordonnées de texture. La longueur d'une arrête commune ou connexion entre deux motifs élémentaires est un premier critère de qualité de la connexion. En évaluant ainsi la qualité de la connexion entre des motifs élémentaires, on établit avantageusement une priorité pour la sélection de motifs élémentaires.
En variante, un degré de parallélisme entre deux motifs élémentaires étant obtenu à partir d'un produit scalaire entre un premier et un second vecteurs unitaires respectivement normaux à un premier et un second plans comprenant chacun l'un des deux motifs élémentaires, si au moins deux motifs élémentaires projetés de la liste ont chacun deux sommets en commun avec le ou l'un des motifs élémentaires précédemment sélectionnés pour l'assignation de coordonnées de texture, le motif élémentaire sélectionné pour l'assignation de coordonnées de texture est le motif élémentaire dont le degré de parallélisme avec le motif élémentaire précédemment sélectionné pour l'assignation de coordonnées de texture est le plus grand. Cette réalisation permet de déterminer un deuxième critère de qualité de connexion qui est le degré de parallélisme de motifs élémentaires. Dans le cas où les motifs élémentaires sont des triangles et le motif tridimensionnel un bâtiment comprenant quatre façades et un toit, on préférera ainsi regrouper en priorité sur l'image de texture un triangle d'une façade avec un autre triangle de la façade, qui lui est parallèle, plutôt qu'avec un triangle du toit qui a deux sommets en commun avec le triangle de la façade. Ce deuxième critère permet donc d'établir une priorité pour la sélection de motifs élémentaires.
Dans un mode de réalisation de l'invention, l'image de texture étant une matrice de pixels, une couleur par défaut étant affectée aux pixels, la matrice comprenant deux dimensions H et L, les dimensions étant exprimés en nombre de pixels, chaque pixel étant repéré par deux coordonnées de pixel (n, m), n variant entre 0 et L-1 et m variant entre 0 et H-1 , un motif élémentaire étant représenté dans l'image de texture par l'association d'une couleur à chaque pixel dont les coordonnées de pixel correspondent à des coordonnées de texture comprises dans ledit motif élémentaire, le procédé comprend en outre l'application d'une isométrie aux motifs élémentaires regroupés dans l'image de texture, en vue de maximiser un nombre de sommets des motifs élémentaires dont les coordonnées de texture correspondent à des coordonnées de pixel de la forme (0 ;n).
Cette réalisation permet une optimisation de l'agencement des motifs élémentaires dans l'image de texture, en déplaçant les motifs de manière à les coller contre un côté de l'image de texture, ce qui permet de réduire une surface de l'image de texture inexploitée, et donc de supprimer des données inutilisées pour le rendu graphique du motif tridimensionnel. Bien entendu, on pourrait en variante ou en complément maximiser le nombre de sommets dont les coordonnées de texture correspondent à des coordonnées de pixel de la forme (m ; 0), (H-1 ; n) ou (m ; L-1 ). Ainsi, l'image de texture est avantageusement remplie de manière structurée. Dans une réalisation de l'invention, chaque motif élémentaire est projeté dans un plan comprenant le motif élémentaire.
Cette réalisation permet avantageusement d'obtenir des motifs élémentaires dont la représentation dans l'image de texture est conforme à la représentation tridimensionnelle. Les rapports de longueur et les angles sont ainsi conservés lors de la projection des motifs élémentaires de l'espace dans le plan. Par ailleurs, tous les motifs élémentaires sont ainsi projetés de manière comparable de sorte à assurer une certaine homogénéité.
Dans un autre mode de réalisation de l'invention, l'image de texture étant limitée par un ensemble de côtés, une boîte englobante d'un motif tridimensionnel étant définie comme le rectangle possédant une aire minimale parmi les rectangles comprenant les motifs élémentaires projetés du motif tridimensionnel dans l'image de texture et dont au moins un côté est parallèle à un côté de l'image de texture, une rotation est appliquée à chaque motif élémentaire sélectionné de manière à ce que l'aire de la boîte englobante du motif élémentaire soit minimale.
Ainsi, une optimisation de l'agencement des motifs élémentaires dans l'image de texture est permise dans la mesure où les motifs élémentaires sont regroupés de manière parallèle permettant ainsi une économie de place dans l'image de texture et donc une réduction des données inutilisées pour la modélisation tridimensionnelle.
Dans un mode de réalisation de l'invention, pour la modélisation de plusieurs motifs tridimensionnels, le procédé comporte une sélection préalable d'un premier motif tridimensionnel pour la sélection de motifs élémentaires du premier motif tridimensionnel et comprend en outre une répétition des étapes précédentes pour au moins un deuxième motif tridimensionnel sélectionné, et les motifs élémentaires projetés du deuxième motif tridimensionnel sont regroupés sur l'image de texture regroupant les motifs élémentaires du premier motif tridimensionnel.
Le procédé permet ainsi de regrouper plusieurs motifs tridimensionnels sur une même image de texture ce qui permet de réduire le nombre d'images de texture stockées et donc la quantité de données stockées.
En complément, les sommets d'un motif élémentaire projeté d'un motif tridimensionnel définissant une surface du motif élémentaire dans l'image de texture, une surface du motif tridimensionnel étant définie par l'union des surfaces des motifs élémentaires du motif tridimensionnel, les coordonnées de texture assignées aux sommets des motifs élémentaires projetés du deuxième motif élémentaire ne sont pas incluses dans la surface du premier motif tridimensionnel.
Cette réalisation permet avantageusement d'éviter une superposition des motifs élémentaires de motifs tridimensionnels sur l'image de texture et donc une perte d'information, qui conduirait à une réduction de la qualité de la modélisation tridimensionnelle à partir des données stockées. Dans le cas d'une image de texture sous la forme d'une matrice de pixels, chaque pixel de l'image de texture est donc dédié au plus à la représentation d'un motif élémentaire.
En complément, une aire totale étant définie pour un motif tridimensionnel à partir d'une somme des aires des motifs élémentaires composant le motif tridimensionnel, la sélection des motifs tridimensionnels est opérée dans un ordre qui est fonction décroissante de l'aire de chacun des motifs tridimensionnels.
Ainsi, l'agencement des motifs tridimensionnels dans l'image de texture est optimisé en regroupant en premier les motifs élémentaires du motif tridimensionnel d'aire maximale et en comblant ainsi les espaces restants avec les motifs tridimensionnels d'aires plus petites. La quantité de données stockées est donc réduite.
En complément, une surface restante de l'image de texture étant la restriction de la surface de l'image de texture à une surface non comprise dans l'union des surfaces du ou des motifs tridimensionnels préalablement sélectionné, l'étape d'assignation des coordonnées de texture pour les sommets des motifs élémentaires du second motif tridimensionnel sélectionné est effectuée dans une nouvelle image de texture si la surface restante de l'image de texture ne peut inclure la surface du second motif tridimensionnel sélectionné.
Ce mode de réalisation permet d'utiliser une nouvelle image de texture pour le regroupement d'un des motifs tridimensionnels sélectionnés après le premier motif tridimensionnel. Dans la mesure où les motifs tridimensionnels sont sélectionnés par aire décroissante, les éventuels motifs tridimensionnels, d'aire inférieure à celle du motif tridimensionnel regroupé dans la nouvelle image de texture, pourront être stockés sur l'image de texture comprenant le premier motif tridimensionnel si la surface restante est suffisante. Le procédé peut ainsi être répété jusqu'à ce qu'un motif tridimensionnel ait une aire assez petite pour occuper la surface restante de l'image de texture. Dans le cas contraire, les motifs tridimensionnels sélectionnés sont regroupés dans la nouvelle image de texture, jusqu'à ce que sa surface restante soit trop petite pour stocker le motif tridimensionnel de plus petite aire. Les étapes du procédé peuvent ainsi être répétées itérativement et le procédé permet d'améliorer l'agencement des motifs tridimensionnels dans l'image de texture et d'ainsi réduire la quantité de données stockées.
En complément ou en variante, le procédé comprend en outre, si le premier et le second motifs tridimensionnels sont regroupés sur la même image de texture, l'application d'une isométrie aux motifs élémentaires du second motif tridimensionnel dans l'image de texture en vue de maximiser un nombre de sommets communs aux motifs élémentaires du premier motif tridimensionnel et aux motifs élémentaires du second motif tridimensionnel.
Ainsi, les motifs tridimensionnels sont regroupés sur l'image de texture de manière à être joints afin de minimiser la surface occupée et d'améliorer l'agencement de la surface restante permettant ainsi l'ajout éventuel de motifs tridimensionnels supplémentaires. Le procédé permet ainsi une réduction de la quantité de données stockées.
Dans un autre mode de réalisation, un écart souhaité entre motifs tridimensionnels étant prédéfini, une texture étant associée à chaque motif élémentaire projeté de chaque motif tridimensionnel, une extension d'un motif tridimensionnel étant obtenue à partir d'une union de la surface du motif tridimensionnel, d'une surface définie par des disques dont les centres sont les sommets des motifs élémentaires du motif tridimensionnel et dont le rayon est égal à l'écart, et d'une surface définie par des rectangles dont un côté est un segment reliant deux sommets d'un motif tridimensionnel et dont deux autres côtés perpendiculaires ont une longueur égale à l'écart prédéfini, les rectangles étant orientés vers l'extérieur des motifs élémentaires projetés du motif tridimensionnel, si le premier et le second motifs tridimensionnels sont regroupés sur la même image de texture, une isométrie est appliquée aux sommets du second motif tridimensionnel de manière à ce qu'une intersection de l'extension du premier motif tridimensionnel et de l'extension du second motif tridimensionnel soit vide et le procédé comprend en outre pour chaque partie de l'extension d'un motif tridimensionnel non comprise dans le motif tridimensionnel, l'affectation d'une texture en fonction de la texture du motif élémentaire le plus proche parmi les motifs élémentaires du motif tridimensionnel.
Cette réalisation permet avantageusement d'attribuer une texture aux parties de l'extension non incluses dans le motif tridimensionnel. En effet, lors de la reconstruction des motifs tridimensionnels, les arrêtes extérieures des motifs tridimensionnels regroupés sur une image de texture ne sont parfois pas parfaitement solidaires bien qu'elles soient initialement communes entre plusieurs motifs élémentaires. Dans le cas d'une image de texture sous la forme d'une matrice de pixels, il s'agit du cas détaillé précédemment dans lequel les coordonnées de pixel ne correspondent pas exactement avec les coordonnées de texture, nécessitant ainsi une interpolation ou un échantillonnage. Dans ce cas, lorsque la couleur appliquée à l'image de texture par défaut est noire, il peut apparaître, lors de la reconstruction du motif tridimensionnel, des bandes de pixels noires sur les arrêtes qui étaient extérieures dans la représentation bidimensionnelle dans l'image de texture. Ce phénomène peut être amplifié par une quantification des données (erreurs d'arrondi des coordonnées de texture) et par une pixellisation du dessin de la texture (images numériques). Ce mode de réalisation permet d'empêcher l'apparition de tels phénomènes attribuant aux parties de l'extension d'un motif tridimensionnel qui ne sont pas comprises dans ce motif, une texture cohérente avec le motif tridimensionnel. Le rendu visuel du motif tridimensionnel est ainsi considérablement amélioré lors de la reconstruction du motif. Par ailleurs, dans ce cas, l'isométrie peut être appliquée de manière à maximiser le nombre de pixels communs à l'extension du premier motif tridimensionnel et l'extension de second motif tridimensionnel. Ainsi, cette réalisation permet de regrouper les motifs tridimensionnels sur l'image de texture et d'ainsi maximiser la surface restante de l'image de texture pour le regroupement d'autres motifs tridimensionnels. Elle permet donc une réduction de la quantité de données stockées.
Dans une réalisation de l'invention, un angle de sélection et une direction de l'espace étant prédéfinis, pour un motif tridimensionnel, seul un motif élémentaire dont un vecteur normal à un plan comprenant le motif élémentaire forme un angle avec la direction prédéfinie qui est inférieur à l'angle prédéfini est sélectionnable pour la projection selon une direction de projection et en ce que les motifs élémentaires qui n'ont pas été sélectionnés sont projetés dans un plan normal à la direction prédéfinie et sont regroupés sur une nouvelle image de texture, les coordonnées de textures associés aux sommets des motifs élémentaires sélectionnés étant obtenues par projection des sommets dans un plan de l'espace perpendiculaire à la direction prédéfinie.
Cette réalisation permet avantageusement de traiter différemment des motifs élémentaires selon leur orientation par rapport à une direction donnée. En effet, il est fréquent d'acquérir des données tridimensionnelles selon une pluralité de prise de vue, selon des angles d'approche différents. Ainsi, une prise de vue selon un angle particulier permet une acquisition optimale de motifs élémentaires qui sont dans un plan perpendiculaire à la direction de la prise de vue. Dans le cas de la modélisation de bâtiment, le procédé peut ainsi être appliqué aux motifs élémentaires représentant les façades des bâtiments tandis que les motifs élémentaires représentant les toits peuvent être préférentiellement acquis par une prise de vue verticale. On évite ainsi une redondance des données stockées tout en permettant avantageusement l'amélioration de la résolution des données stockées.
L'invention concerne en outre un terminal de traitement de données dans la modélisation d'au moins un motif tridimensionnel comprenant des moyens adaptés pour la mise en œuvre du procédé selon l'une des réalisations précédemment décrites.
L'invention concerne aussi un produit programme d'ordinateur comprenant des instructions pour la mise en œuvre du procédé selon l'une des réalisations précédemment décrites. D'autres particularités et avantages de la présente invention apparaîtront dans la description détaillée ci-après, faite en référence aux dessins annexés sur lesquels :
- la figure 1 présente un motif tridimensionnel représenté dans un repère tridimensionnel, auquel est appliqué le procédé selon l'invention ;
- la figure 2 présente une représentation bidimensionnelle du motif tridimensionnel de la figure 1 dans une image de texture obtenu par mise en œuvre du procédé selon un mode de réalisation de l'invention ;
- la figure 3 illustre une représentation bidimensionnelle du motif tridimensionnel de la figure 1 dans une image de texture obtenue par mise en œuvre du procédé selon l'un des modes de réalisation de l'invention ;
- la figure 4a représente un motif tridimensionnel sous forme d'un cube représenté dans l'espace auquel est appliqué le procédé selon un mode de réalisation de l'invention ;
- la figure 4b illustre des étapes d'assignation de coordonnées de textures aux sommets de motifs élémentaires projetés du motif tridimensionnel de la figure 4a selon un mode de réalisation de l'invention ;
- les figures 5a et 5b illustrent deux représentations bidimensionnelles du motif tridimensionnel de la figure 1 dans une image de texture selon des modes de réalisation de l'invention ;
- la figure 6 illustre un motif élémentaire projeté d'un motif tridimensionnel ainsi qu'une extension de ce motif élémentaire ;
- la figure 7 illustre une représentation bidimensionnelle de deux motifs tridimensionnels comprenant chacun deux motifs élémentaires dans une image de texture ;
- la figure 8 représente un organigramme des étapes d'un procédé selon l'invention.
La figure 1 présente un motif tridimensionnel 1 représenté dans un repère tridimensionnel (0, x-i , y-,, z-i) orienté par des vecteurs x-i , yi et zi non coplanaires. Dans l'exemple présenté ici, le repère est orthonormé. Cependant, cet exemple n'est pas restrictif et le motif tridimensionnel 1 peut être représenté dans n'importe quel type de repère.
Le motif tridimensionnel 1 est un pavé droit pouvant représenter un bâtiment par exemple, dans le cas de la modélisation tridimensionnelle d'une ville. Aucune limitation n'est attachée à la géométrie des motifs tridimensionnels représentés.
Le pavé droit 1 comprend six faces, dont cinq sont considérées dans la cadre d'une modélisation d'un bâtiment (la face inférieure comprise dans le plan (x ; y-,) n'étant pas visualisable). Trois faces sont représentées sur la figure 1 . Ces faces sont divisées en motifs élémentaires, en l'occurrence des triangles. Aucune limitation n'est attachée à la géométrie des motifs élémentaires considérés. A titre d'exemple, l'invention est applicable à des motifs élémentaires sous forme de rectangles, de carrés ou tout autre polygone.
Chacune des faces peut être représentée par une texture différente en vue de la modélisation tridimensionnelle du motif tridimensionnel 1 . Afin de simplifier par la suite les représentations, on considérera qu'une texture associée à chaque motif élémentaire correspond à une couleur. Cependant, l'invention couvre aussi l'utilisation de texture plus détaillée, comprenant par exemple différents motifs tels qu'une fenêtre ou une porte dans le cas de la représentation tridimensionnelle d'un bâtiment.
Une première face est divisée en deux motifs élémentaires 2 et 3.
Cette face est orientée dans l'espace par un vecteur n 23 qui est normal à un plan comprenant la face. Dans l'exemple représenté, la face est verticale de vecteur normal n 23 selon l'axe (0, y-,).
Une deuxième face est divisée en deux motifs élémentaires 4 et 5.
Cette face est orientée dans le plan par un vecteur n 45 qui est normal à un plan comprenant la face. Dans l'exemple représenté, la face est verticale de vecteur normal n 45 selon l'axe (0, z-i ).
Une troisième face est divisée en deux motifs élémentaires 6 et 7. Cette face est orientée dans le plan par un vecteur n 6? qui est normal à un plan comprenant la face. Dans l'exemple représenté, la face est verticale de vecteur normal n 6? selon l'axe (0, x-i ).
Chaque triangle comprend trois sommets. Le triangle 3 comprend ainsi les sommets S31 , S32 et S33 et le triangle 2 comprend les sommets S21 , S32 et S33. Chaque sommet est représenté par trois coordonnées géographiques (x, y, z) dans le repère (0, x-i , y-ι , z-,). Les coordonnées géographiques de chaque sommet peuvent être stockées en vue de la modélisation du motif tridimensionnel. En plus des coordonnées géographiques, chaque sommet peut être repéré par des coordonnées de texture (u, v), u et v étant réels compris entre 0 et 1 .
La figure 2 représente une image de texture 10 obtenue par mise en œuvre du procédé selon un mode de réalisation de l'invention. L'image de texture peut être représentée par une image rectangulaire comprenant un ensemble de pixels repérés par des coordonnées de pixel (u>v) , u et étant des nombres entiers, au moyen d'un repère bidimensionnel (02, X2, yz), comprenant une origine 02 ainsi que deux vecteurs directeurs x2 et y2 non- colinéaires. Dans cet exemple de réalisation, le repère bidimensionnel (02, X2, y2) est orthonormé. Chaque pixel est associé à une couleur, qui est définie par une correspondance entre les coordonnées de pixel du pixel ( u , v ) et les coordonnées de texture (u, v) compris dans un motif élémentaire du motif tridimensionnel 1 . Il est ainsi possible de repérer la position ainsi que la couleur d'un sommet ou de n'importe quel point du motif tridimensionnel au moyen de ses trois coordonnées géographiques (x, y, z) et de ses deux coordonnées de texture (u, v). Par défaut, il est possible d'attribuer une couleur aux pixels de l'image de texture, telle que la couleur noire par exemple. Ainsi, tous les pixels en dehors des motifs élémentaires (appelés aussi triangles dans cet exemple) du motif tridimensionnel 1 sont noirs.
Les triangles 2-6 du motif tridimensionnel 1 peuvent être projetés afin de définir ensuite des coordonnées de texture de points des triangles 2-6. Dans le mode de réalisation présenté, les triangles 2 et 3 sont projetés dans un plan normal au vecteur n 23 , les triangles 4 et 5 sont projetés dans un plan normal au vecteur n 45 et les triangles 6 et 7 sont projetés dans un plan normal au vecteur n 6? . En projetant orthogonalement les motifs élémentaires, les distances entre les sommets et les angles formés par les arrêtes pour chaque motif élémentaire sont conservées. Aucune restriction n'est attachée à la direction de projection choisie. Les directions de projection choisies pour projeter les motifs élémentaires peuvent former un même angle avec le vecteur normal du motif élémentaire projeté correspondant, ce qui permet de conserver des rapports de longueur et d'ainsi faciliter une reconstruction tridimensionnelle ultérieure du motif tridimensionnel à partir des coordonnées de texture (u, v) et des coordonnées géographiques (x, y, z) des sommets de ce motif tridimensionnel.
Les motifs élémentaires 2-6 projetés ainsi que les motifs élémentaires projetés de triangles du motif tridimensionnel non représentés sur la figure 1 sont regroupés au sein de l'image de texture 10. Les projections étant orthogonales, les motifs élémentaires 2-6 projetés correspondent sans déformation aux motifs élémentaires du motif tridimensionnel représenté en trois dimensions sur la figure 1 , à une homothétie près. Les projections des motifs élémentaires sont réparties sur l'image de texture 10 en assignant deux coordonnées de texture (u, v) à chacun des sommets des motifs élémentaires projetés. Par exemple, des coordonnées de texture sont assignées à chaque sommet du triangle 2, à savoir des sommets S2i , S22 et S23, ainsi qu'à chaque sommet du triangle 3, à savoir les sommets S3i , S32 et S33- On remarquera que les sommets S23 et S33, ainsi que les sommets S22 et S32, sont assignés à des coordonnées de texture différentes bien qu'ils possèdent les mêmes coordonnées géographiques. Cette redondance provoque un stockage de deux couples de coordonnées de texture pour un seul sommet représenté en figure 1 et donc une multiplication des données stockées. Cependant, ce mode de réalisation permet de stocker plusieurs motifs élémentaires, projetés selon des directions de projection différentes, au sein d'une même image de texture 10, ce qui permet de réduire le nombre de données stockées comparativement à l'art antérieur présenté précédemment, dans lequel une image de texture est assignée à chaque motif élémentaire projeté.
La figure 3 illustre une représentation bidimensionnelle du motif tridimensionnel 1 dans une image de texture 10 obtenue par mise en œuvre du procédé selon l'un des modes de réalisation de l'invention. Dans ce mode de réalisation, de nouvelles coordonnées de texture ont été assignées aux sommets des triangles projetés représentés sur la figure 2. Ainsi, les sommets possédant les mêmes coordonnées géographiques, tels que les sommets S23, et S33 ainsi que les sommets S22 et S32, ont été assignés des mêmes coordonnées de texture lors d'une étape d'assignation, ce qui permet d'utiliser la redondance évoquée précédemment pour réduire la quantité de données stockées (le nombre de coordonnées de texture et géographiques). Ces assignations communes ont été effectuées pour un maximum de sommets communs à au moins deux motifs élémentaires, ce maximum étant obtenu lorsque tous les motifs élémentaires sont regroupés sans être déformés par rapport à leur projection initiale. Intuitivement, le regroupement des triangles représenté sur la figure 3 peut être obtenu en découpant les triangles de la figure 2 et en groupant ces triangles de manière à former un patron, représentant le motif tridimensionnel déplié dans un espace bidimensionnel. La figure 4a représente un motif tridimensionnel sous forme d'un cube 20 représenté dans l'espace, de côté a. Un repère orthonormé (03, X3, Y3, z3) permet d'orienter le motif tridimensionnel dans l'espace. Le cube 20 est divisé en motifs élémentaires correspondant à des triangles obtenus en traçant les diagonales des côtés du cube 20. On obtient ainsi six triangles visibles sur la figure 4a, à savoir les triangles 21 , 22, 23, 24, 25 et 26. A partir de ces triangles, il est possible de construire un tableau des connexions entre triangles regroupant trois coefficients, à savoir le nombre de sommets communs v, les longueurs des arrêtes communes λ aux triangles ainsi que le degré de parallélisme ε des triangles qui est défini par le produit scalaire entre un premier et un second vecteurs unitaires respectivement normaux à un premier et un second plans comprenant chacun l'un des deux triangles. Le tableau des connexions permet de faire un état des lieux des connexions entre triangles, afin d'améliorer l'assignation de coordonnées de textures aux sommets des triangles.
A titre d'exemple, la longueur d'arrêté commune entre les triangles
21 et 23 est ax 2 tandis que la longueur d'arrêté commune entre les triangles 21 et 24 est nulle (seulement un sommet en commun). De plus, le produit scalaire des vecteurs normaux aux triangles 21 et 23 est égal à 1 (en considérant des vecteurs normaux unitaires) tandis que le produit scalaire des vecteurs normaux aux triangles 24 et 23 est égal à 0. En procédant ainsi pour l'ensemble des couples de triangles, on obtient les résultats recensés dans la Table 1 .
Figure imgf000020_0001
Table 1 Les coefficients v, λ et ε permettent d'évaluer une qualité de connexion entre les différents triangles du cube 20.
La figure 4b illustre des étapes d'assignation de coordonnées de textures aux sommets de motifs élémentaires selon un mode de réalisation de l'invention.
Les coordonnées de textures peuvent être assignées aux sommets des triangles 21 , 22, 23, 24, 25 et 26 du cube 20 dans un ordre défini à partir des résultats recensés dans la Table 1 . Considérons chaque triangle 21 -26 du cube 20 de la figure 4a est chacun projeté orthogonalement dans un plan parallèle au plan le comprenant . Les projections obtenues correspondent alors aux triangles 21 -26 du cube 20 dans l'espace et permettent une représentation bidimensionnelle du cube 20 dans une image de texture.
Les projections des triangles 21 -26 peuvent ainsi être regroupées dans une liste en vue d'être placées (par assignation de coordonnées de texture à leurs sommets respectifs) sur l'image de texture. Les projections considérées ici sont orthogonales dans des plans parallèles et, par conséquent, les triangles projetés sont semblables aux triangles 21 -26 du cube 20 dans l'espace. Nous emploierons donc par la suite le terme « triangle » pour désigner « la projection des triangles ». Dans le cas d'une projection non orthogonale, il convient d'appliquer les étapes qui sont décrites par la suite aux images des triangles par la projection.
A partir de la Table 1 , il est possible de définir un ordre d'assignation des coordonnées de texture aux sommets des triangles 21 -26. Ainsi, un premier triangle peut être sélectionné de manière aléatoire. Sur l'exemple représenté en figure 4b, le triangle 21 est sélectionné en premier et placé sur l'image de texture (non représentée ici) en assignant des coordonnées de texture aux sommets du triangle 21 . Le triangle 21 est ensuite retiré de la liste de triangles à placer. La sélection du second triangle à placer sur l'image de texture peut être effectuée en fonction de la table 2. Ainsi, il est possible de privilégier la sélection d'un second triangle possédant une longueur d'arrêté maximale commune avec le premier triangle 21 ou dont le produit scalaire du vecteur normal à un plan le comprenant avec le vecteur normal à un plan comportant le premier triangle 21 est maximal. Dans le cas présenté ici, le triangle 23 et le triangle 25 possèdent chacun deux sommets en commun avec le triangle 21 . Seulement, on remarque que le degré de parallélisme ε du premier triangle 21 est plus élevé avec le triangle 23 (égal à 1 ) qu'avec le triangle 25 (égal à 0). De plus, l'arrête commune entre le triangle 21 et 23 a une longueur λ égale ax 2 , tandis que l'arrête commune entre le triangle 21 et le triangle 25 a pour longueur a. Par conséquent, le triangle 23 est sélectionné pour assignation de coordonnées de textures. Des coordonnées de texture sont donc assignées aux sommets du triangle 23 de manière à regrouper les sommets communs au triangle 21 et au triangle 23 sur l'image de texture, ce qui permet de réduire le nombre de coordonnées de texture stockées. Le triangle 23 est ainsi retiré de la liste des triangles à placer. On notera que si deux triangles sont connectés dans le volume (dans le cube 20), il existe une unique application r 1 t2 appliquée à l'un des triangles telle que :
- ri,2 est une bijection affine et isométrique du plan ;
- ri,2 connecte les sommets communs des images des triangles par la projection ;
- ri,2 sépare le sommet non commun des images des triangles par la projection.
La bijection ri,2 est issue d'une translation, d'une rotation et d'une réflexion dont les paramètres s'obtiennent en résolvant les équations caractérisant ses propriétés.
Les triangles 22, 24, 25 et 26 restants dans la liste sont ensuite évalués en fonction de la qualité de leur connexion avec le triangle 23, au moyen de la Table 1 . Seul le triangle 24 possède deux sommets en commun avec le triangle 23. Par conséquent, le triangle 24 est sélectionné pour projection et assignation de coordonnées de textures. Des coordonnées de texture sont donc assignées aux sommets du triangle 24 de manière à regrouper les sommets communs au triangle 23 et au triangle 24 sur l'image de texture, afin de réduire le nombre de données stockées. En effet, un seul sommet correspondant à cinq coordonnées est stocké, au lieu de deux sommets à cinq coordonnées chacun, ce qui représente une réduction considérable des données stockées.
Les triangles 22, 25 et 26 restants dans la liste sont ensuite évalués en fonction de la qualité de leur connexion avec le triangle 23, au moyen de la Table 1 . Les triangles 22 et 26 possèdent chacun deux sommets en commun avec le triangle 24. Cependant, en raison du degré de parallélisme λ des triangles 24 et 22 et de la longueur d'arrêté commune v aux triangles 24 et 22, le triangle 22 est sélectionné pour assignation de coordonnées de textures. Des coordonnées de texture sont donc assignées aux sommets du triangle 22 de manière à regrouper les sommets communs au triangle 24 et au triangle 22 sur l'image de texture.
Les triangles 25 et 26 restants dans la liste sont ensuite évalués relativement au triangle 22, au moyen du tableau précédent. Aucun des triangles 25 et 26 ne possède deux sommets en commun avec le triangle 22. Les triangles 25 et 26 sont donc évalués relativement à un autre triangle précédemment regroupé dans l'image de texture, par exemple le triangle 21 . Seul le triangle 25 possède deux sommets en commun avec le triangle 21 . Par conséquent, le triangle 25 est sélectionné pour assignation de coordonnées de textures. Des coordonnées de texture sont donc assignées aux sommets du triangle 25 de manière à regrouper les sommets communs au triangle 21 et au triangle 25 sur l'image de texture.
Le triangle 26 restant possède deux sommets en commun avec le triangle 25. Des coordonnées de texture sont donc assignées aux sommets du triangle 26 de manière à regrouper les sommets communs au triangle 21 et au triangle 25 sur l'image de texture.
On obtient ainsi avantageusement un patron partiel du cube 4a patron, représentant le cube 4a déplié dans un espace bidimensionnel. Un tel mode de réalisation prenant en compte le parallélisme ou la longueur de la connexion des triangles permet avantageusement d'éviter de séparer les triangles compris initialement dans une même face du volume et d'ainsi définir un ordre de priorité pour l'assignation de coordonnées de texture aux sommets des triangles. L'amélioration de la construction des données permet d'améliorer en amont le rendu final du volume et la vitesse d'exécution de l'affichage des motifs tridimensionnels. L'assignation de coordonnées de texture communes à des sommets communs permet de grouper les triangles qui sont connectés initialement dans le volume.
Les figures 5a et 5b illustrent deux représentations bidimensionnelles du motif tridimensionnel 1 dans une image de texture 2 selon des modes de réalisation de l'invention.
Sur la figure 5a, la représentation bidimensionnelle du motif tridimensionnel 1 est obtenue selon la méthode illustrée sur la figure 3 mais est disposé aléatoirement sur la figure de texture 10. Une boîte englobante 51 du motif tridimensionnel est définie. Elle est obtenue en construisant le rectangle de plus petite aire comprenant le motif tridimensionnel 1 et dont l'un au moins des côtés est parallèle à un côté de l'image de texture 10. Dans l'exemple des figures 5a et 5b, l'image de texture 10 est de forme rectangulaire. Par conséquent, chaque côté de la boîte englobante 51 est parallèle à deux côtés de l'image de texture 10. On définit en outre une surface restante 52 de l'image de texture comme étant la restriction de la surface de l'image de texture 1 0 à un ensemble de pixels non compris dans la surface du motif tridimensionnel 1 dans le cas d'une image de texture sous la forme d'une matrice de pixels. Plus généralement, il s'agit de la surface de l'image de texture non comprise dans le motif tridimensionnel (ou les motifs tridimensionnels) regroupé sur l'image de texture.
Sur la figure 5a, la surface restante 52 est répartie de part et d'autre du motif tridimensionnel 1 , ce qui peut empêcher un regroupement de motifs élémentaires d'un deuxième motif tridimensionnel sur la même image de texture 1 0. Or, il est avantageux de stocker un grand nombre de motifs tridimensionnels sur une même image de texture afin de réduire le nombre de données à stocker (dans ce cas précis, le nombre d'images de texture à stocker). Pour stocker deux motifs tridimensionnels sur une même image de texture, il convient avantageusement d'éviter une superposition des motifs tridimensionnels qui résulterait en une perte d'information. En effet, la texture d'une partie commune aux deux motifs n'apporte pas la même information que deux textures associées à chacune des deux parties communes prises indépendamment.
Il est ainsi possible d'appliquer une isométrie au motif tridimensionnel 1 afin de réduire au maximum l'aire de la boîte englobante et d'agencer de manière avantageuse le motif tridimensionnel 1 afin d'obtenir une surface restante mieux répartie. La figure 5b illustre ainsi une représentation bidimensionnelle du motif tridimensionnel 1 qui a subi une rotation et une translation comparativement à la figure 5a.
Tout d'abord, une rotation d'angle a a été appliquée au motif tridimensionnel 1 afin de maximiser le nombre de côtés du motif tridimensionnel 1 parallèles aux côtés de l'image de texture, d'obtenir une boîte englobante 53 du motif tridimensionnel 1 dont l'aire est minimisée. L'angle a permettant de minimiser l'aire de la boîte englobante n'est pas unique. En effet, α+90 °, a+1 80 ° et a+270 ° permettent aussi d'obtenir une aire minimale pour la boîte englobante.
Une translation est ensuite appliquée au motif tridimensionnel 1 qui a subi une rotation d'angle a, afin de maximiser le nombre de sommets du motif tridimensionnel situés sur les côtés de l'image de texture 1 0. Il est également possible, au moment de l'assignation de coordonnées de texture aux sommets des motifs élémentaires du motif tridimensionnel, de maximiser le nombre de coordonnées de texture correspondant à des coordonnées de pixels d'un côté de l'image de texture 1 0. Ainsi, si l'image de texture 1 0 a pour dimensions H et L, H et L étant exprimés en nombre de pixels, si les coordonnées de pixel des pixels de l'image de texture sont de la forme (n, m), n variant entre 0 et L-1 et m variant entre 0 et H-1 , selon un mode de réalisation de l'invention, l'assignation de coordonnées de texture correspondant à des coordonnées de pixel de la forme (0 ;n), (m ; 0), (H-1 ;n) et (m ;L-1 ) est privilégiée. Sur l'exemple de la figure 5b, la translation appliquée au motif tridimensionnel 1 permet de translater le motif tridimensionnel 1 dans le coin inférieur gauche de l'image de texture 1 0. Cette translation permet avantageusement d'obtenir une surface restante 54 de l'image de texture 1 0 qui est optimisée. En effet, sur la figure 5b, la surface restante 54 est telle qu'elle permet le regroupement dans l'image de texture d'un deuxième motif tridimensionnel de dimensions semblables à celles du motif tridimensionnel 1 . Il est ainsi possible de réduire le nombre d'images de texture à stocker pour la représentation bidimensionnelle des motifs tridimensionnels. Ainsi, dans le cas d'une représentation d'une ville, il est possible de maximiser le nombre de bâtiments stockés sur une image de texture, sans attribuer une image de texture à chaque bâtiment.
Avant d'ajouter un nouveau motif tridimensionnel à une image de texture comprenant déjà un ou plusieurs motifs tridimensionnels, on compare la surface occupée par le motif tridimensionnel à ajouter à la surface restante de l'image de texture 1 0. Si la surface restante permet de stocker le motif tridimensionnel sans qu'il superpose des motifs tridimensionnels précédemment regroupés dans l'image de texture 1 0, le motif tridimensionnel est ajouté à l'image de texture 1 0.
Dans le cas de la modélisation d'une pluralité de motifs tridimensionnels, ils peuvent être stockés dans une liste et classés selon la valeur de leur aire. Ainsi, il est avantageux de placer en premier les motifs tridimensionnels dont l'aire est grande et d'ensuite combler la surface restante avec des motifs tridimensionnels d'aires plus petites. L'aire d'un motif tridimensionnel est égale à la somme des aires des motifs élémentaires de ce motif tridimensionnel. Un premier motif tridimensionnel est donc sélectionné, ce motif ayant la plus grande aire parmi les motifs tridimensionnels de la liste. Les motifs élémentaires du motif tridimensionnel sont regroupés dans une image de texture selon les étapes précédentes, par exemple dans le coin inférieur gauche de l'image de texture. On compare ensuite la surface restante aux aires des motifs tridimensionnels restants de plus grandes aires. Si ces motifs tridimensionnels peuvent être regroupés dans l'image de texture, on minimise à nouveau leur boîte englobante et on les place à la première place disponible le plus à gauche et le plus bas dans l'image de texture. On peut également tourner les motifs tridimensionnels d'un quart de tour afin de faciliter leur insertion dans l'image de texture.
La figure 6 illustre un motif élémentaire d'un motif tridimensionnel 60 ainsi qu'une extension 61 de ce motif élémentaire 60, ici un triangle comportant trois sommets U-i , U2 et U3, reliés par trois côtés. Chacun des côtés est associé à un vecteur unitaire normal au côté. Les vecteurs sont référencés "i , "2 et "3 . Une extension d'un motif élémentaire correspond à l'ensemble des points (ou pixels dans le cas d'un motif élémentaire dans une image de texture sous la forme d'une matrice de pixels) situés à une distance du motif élémentaire inférieure à un rayon d'extension r. Pour construire l'extension 61 du triangle 60, il convient de tracer trois cercles dont les centres respectifs sont les sommets U-i , U2 et U3 et dont le rayon est r ainsi que trois rectangles dont l'un des côtés est respectivement l'un des côtés du triangle 60, dont les côtés perpendiculaires aux côtés du triangle sont de longueur r et orientés vers l'extérieur du motif élémentaire 60. On obtient ainsi un ensemble de points situés à une distance inférieure r à du triangle 60, cet ensemble de points définissant l'extension 61 du triangle 60. Par généralisation, on définit une extension pour un motif tridimensionnel projeté dans une image de texture comme étant l'union des extensions des motifs élémentaires compris dans le motif tridimensionnel. Cependant, dans un motif tridimensionnel représenté sous forme de patron comme sur la figure 3 par exemple, les extensions des motifs élémentaires se recoupent. Par conséquent, afin d'accélérer le traitement des données, il est possible d'omettre les extensions des sommets et des côtés des triangles (cercles et rectangles) qui n'apportent aucune contribution supplémentaire (tels que les extensions des sommets non convexes et des arrêtes communes) lors de la construction de l'extension du motif tridimensionnel.
La figure 7 illustre une représentation bidimensionnelle de deux motifs tridimensionnels 70 et 74 comprenant des motifs élémentaires 71 et 72, et, 75, 76 et 77 respectivement dans une image de texture 78. Par souci de simplification, seuls deux et trois motifs élémentaires pour chaque motif tridimensionnel ont été représentés. Les motifs élémentaires 75, 76 et 77 du motif tridimensionnel 74 ont trois textures différentes, représentées respectivement avec des rayures horizontales, des rayures verticales et des rayures obliques. Le motif tridimensionnel 70 a été représenté avec son extension 73 construite de la manière décrite précédemment. Concernant l'extension du motif tridimensionnel 74, elle a été divisée en trois parties 77, 78 et 79 se rapportant respectivement aux motifs élémentaires 74, 75 et 76.
On peut fixer comme condition d'agencement des motifs tridimensionnels 70 et 74 que l'intersection de leurs extensions soit l'ensemble vide. Ainsi, les extensions des motifs tridimensionnels 70 et 74 permettent d'introduire un écart minimal entre les deux motifs tridimensionnels. Cette condition n'est pas incompatible avec l'agencement défini précédemment défini selon lequel on rapproche au maximum les motifs tridimensionnels dans l'image de texture. La même condition s'applique simplement aux extensions et non plus aux motifs tridimensionnels. Ainsi, les motifs tridimensionnels sont regroupés dans l'image de texture 78 en remplissant cette image de texture à partir du coin inférieur gauche.
Pour chaque partie 77, 78 et 79 de l'extension du motif tridimensionnel 74, on affecte une texture en fonction de la texture du motif élémentaire le plus proche, en l'occurrence celui à partir duquel la partie de l'extension a été construite. Ainsi, la partie 77 présente des rayures horizontales, la partie 78 présente des rayures verticales et la partie 79 présente des rayures obliques.
Cette affectation de textures aux parties de l'extension permet de palier à des problèmes fréquents lors de la reconstruction des motifs tridimensionnels. En effet, les arrêtes extérieures dans un motif tridimensionnel représenté sous forme de patron bidimensionnel se rejoignent lors de la reconstruction du motif ne sont pas aussi solidaires que les arrêtes communes du motif tridimensionnel dans l'image de texture. Ainsi, dans le cas d'une image de texture sous la forme d'une matrice de pixels, des erreurs d'arrondi dues à une correspondance imparfaite entre les coordonnées de pixel et les coordonnées de texture peuvent provoquer l'assignation d'une couleur noire (dans le cas où le noir est affecté par défaut aux pixels de l'image de texture) aux pixels sur les arrêtes extérieures et ainsi provoquer l'apparition d'une bande noire sur le motif tridimensionnel reconstruit en trois dimensions. En effet, les pixels de l'image de texture ne sont pas des points mais des surfaces carrées élémentaires. Pour effectuer le rendu des motifs tridimensionnels, un moteur d'affichage effectue une interpolation plus ou moins précise (échantillonnage, linéaire ou cubique). Par conséquent, une coordonnée de texture qui ne pointe pas précisément au milieu d'un pixel résultera en une couleur calculée à l'aide des pixels situés autour. Ainsi, plus la coordonnée de texture est proche de l'espace entre les patrons, plus la couleur risque d'être noire. Ce phénomène est particulièrement visible dans le cas de la reconstruction d'arrêtés obliques.
Il est possible pour y remédier de calculer les coordonnées de texture de manière très précise (double précision des nombres en virgules flottantes). Cependant, pour des questions de taille des données et de rapidité des calculs, les coordonnées de textures sont arrondies au plus proche à une précision choisie puis quantifiée. L'arrondi induit parfois que certaines coordonnées de textures soient justement plus proches de l'espace entre les patrons.
L'utilisation de rabats, telle que l'affectation d'une texture aux parties de l'extension, permet de palier au problème décrit précédemment dans la mesure où les pixels des arrêtes extérieures sont affectés d'une texture déterminée à partir de la texture du motif élémentaire le plus proche. Ainsi, lors de la reconstruction des motifs tridimensionnels, les bandes noires sont éliminées et l'ajout de la texture pour l'extension est peu coûteuse (on peut choisir par exemple un coefficient r égal à un pixel pour la construction des extensions).
En référence à la figure 7, l'arrête extérieure du motif élémentaires 77 est solidarisée, lors de la reconstruction du motif tridimensionnel, avec l'arrête du motif tridimensionnel 76. Ainsi, les parties des extensions 78 et 79, qui ont été texturées, permettent avantageusement d'éviter l'apparition d'une bande noire à la jonction de ces deux arrêtes dans le rendu final.
L'invention prévoit également de différencier le traitement appliqué aux motifs élémentaires, notamment, dans le cadre de la modélisation tridimensionnelle d'une ville, en fonction des spécificités de données de ville.
Pour comprendre l'impact de ces spécificités, il faut avoir à l'esprit le mode d'acquisition de données tridimensionnelles texturées. La plupart du temps, les acquisitions sont effectuées à partir d'un avion équipé de plusieurs caméras dédiées.
A l'issue des acquisitions, trois types de données sont obtenues : - le modèle numérique de surface (MNS) encore appelé modèle numérique d'élévation (MNE) qui décrit les élévations notamment les altitudes des reliefs, les hauteurs des bâtiments, les hauteurs des arbres, etc ;
- des images de l'ortho plan à savoir des photographies de la surface de la terre prises à partir de caméras orientées à la perpendiculaire du sol ;
- des images de l'oblique qui regroupe des photographies des façades des bâtiments prises à partir de caméras inclinées, selon plusieurs angles de vues et plusieurs inclinaisons afin de limiter le phénomène d'occultation lors de la reconstitution des motifs tridimensionnels.
En général, les images de l'ortho plan sont conservées mais un premier traitement est effectué pour deux types de données exploitables :
- un modèle numérique de terrain (MNT) qui comprend des altitudes des reliefs décorrélés du reste du modèle numérique d'élévation ;
- des données tridimensionnelles texturées des volumes du bâti qui comprennent des modèles numériques des bâtiments décorrélés du reste du modèle numérique d'élévation, texturés sur les toits à partir des images de l'ortho plan et sur les façades à partir des images de l'oblique.
Dès l'acquisition des données, la capture des images perpendiculaires prend une place à part. Cette capture intervient au niveau de l'ortho plan qui recouvre toute la surface survolée et intervient aussi pour la constitution des toits des bâtiments des données tridimensionnelles texturées.
Dans le rendu, l'ortho plan est systématiquement affiché conjugué avec le relief du modèle numérique de terrain pour montrer l'environnement dans lequel les bâtiments s'insèrent. Or, les images des toits apparaissent dans les images de texture issues de l'ortho plan et sont doublées par les images de texture issues de la modélisation des bâtiments. Par conséquent, les informations issues de l'ortho plan sont doublées mais utilisées une seul fois.
Le procédé selon l'invention remédie à cette redondance de données en ne considérant que des motifs élémentaires dont la verticalité est suffisante. Cette verticalité peut s'évaluer par un simple calcul de produit scalaire entre un vecteur normal à un plan comprenant un motif élémentaire donné et un vecteur de direction verticale. Le procédé n'est donc appliqué qu'aux motifs élémentaires pour lesquels un tel produit scalaire est inférieur à une valeur seuil par exemple. Typiquement, une telle sélection permet d'appliquer le procédé selon l'invention aux façades des bâtiments, les motifs élémentaires relatifs aux toits étant traités séparément.
Les autres motifs élémentaires sont alors projetés et regroupés dans une autre image de texture qui est fusionnée avec les images issues de l'ortho plan correspondant à une même zone.
Ainsi, on ne stocke pas de coordonnées de texture pour ces autres motifs élémentaires puisque les deux premières coordonnées spatiales coïncident exactement avec les coordonnées de texture éventuellement à une translation et une homothétie près, ce qui permet de réduire la quantité de données stockées au niveau des données vectorielles. De plus, l'information entre les images de textures des bâtiments et les images de texture issues de l'ortho plan ne sont pas redondantes, ce qui permet de réduire la quantité de données stockées au niveau des images de texture.
Par ailleurs cette réalisation permet de traduire la différentiation qui est faite initialement entre les images acquises par la caméra perpendiculaire au sol et les autres images. En effet, une différentiation est effectuée dans le traitement des façades et des toits.
La différence de rendu résultant de cette réalisation est pratiquement imperceptible.
La figure 8 représente un organigramme des étapes d'un procédé selon l'invention.
Lors d'une étape 801 , des motifs tridimensionnels sont acquis afin d'être modélisé pour une reconstruction tridimensionnelle ultérieure. Cette étape d'acquisition peut impliquer tout ou partie des données précédemment décrites. En particulier, des motifs tridimensionnels composés de motifs élémentaires auxquels sont associés des textures sont acquis. En fonction des données acquises, trois coordonnées géographiques sont attribuées aux sommets des motifs élémentaires de chaque motif tridimensionnel. Les motifs tridimensionnels acquis peuvent être stockés dans une liste de motifs tridimensionnels.
Lors d'une étape 802, un premier motif tridimensionnel est sélectionné et retiré de la liste de motifs tridimensionnels. La sélection peut être effectuée en fonction des aires des motifs tridimensionnels acquis lors de l'étape précédente. Ainsi, le motif tridimensionnel de plus grande aire peut être sélectionné en tant que premier motif tridimensionnel.
Lors d'une étape 803, les motifs élémentaires du motif tridimensionnel sélectionné sont projetés dans des plans de l'espace. Les motifs élémentaires peuvent ainsi être, par exemple, projetés orthogonalement dans des plans parallèles aux plans les comprenant afin de conserver les longueurs ainsi que les angles des arrêtes des motifs élémentaires dans l'espace. Lors d'une étape 804, des motifs élémentaires projetés sont sélectionnés. La sélection peut par exemple être effectuée en fonction de la verticalité des motifs élémentaires. Dans une réalisation, le procédé est appliqué préférentiellement aux motifs élémentaires dont le produit scalaire d'un vecteur normal à un plan les comprenant avec un vecteur orienté verticalement est inférieur à une valeur seuil donnée.
Lors d'une étape 805, les motifs élémentaires projetés et sélectionnés sont regroupés dans une image de texture par assignation de coordonnées de texture aux sommets des motifs élémentaires sélectionnés. L'ordre d'assignation peut dépendre d'une qualité de connexion entre un motif élémentaire déjà regroupé sur l'image de texture et un motif élémentaire qui n'a pas encore été regroupé sur l'image de texture.
Lorsque les motifs élémentaires sélectionnés sont tous regroupés sur l'image de texture, une surface restante de l'image de texture est déterminée lors d'une étape 806. S'il est possible d'ajouter un motif tridimensionnel supplémentaire dans l'image de texture, un deuxième motif tridimensionnel est sélectionné lors de l'étape 802 et les étapes suivantes sont répétées.
En revanche, si la surface restante de l'image de texture ne permet pas de stocker l'un des motifs tridimensionnels restants dans la liste de motifs tridimensionnels, une nouvelle image de texture est créée lors d'une étape 807 et utilisée pour la répétition des étapes du procédé à partir de l'étape 802.
Bien entendu, la présente invention ne se limite pas à la forme de réalisation décrite ci-avant à titre d'exemple ; elle s'étend à d'autres variantes.

Claims

REVENDICATIONS
Procédé de traitement de données dans la modélisation d'au moins un motif tridimensionnel (1 ) comprenant des motifs élémentaires (2-7), chacun desdits motifs élémentaires étant orienté dans l'espace selon une orientation et comportant des sommets, lesdits sommets étant définis par trois coordonnées géographiques (x, y, z) pour une localisation dans l'espace et deux coordonnées de texture (u, v) pour une localisation dans une image de texture (1 0), caractérisé en ce qu'il comprend :
la sélection de plusieurs motifs élémentaires dudit motif tridimensionnel, lesdits motifs élémentaires sélectionnés étant orientés selon au moins deux orientations différentes; la projection de chacun des motifs élémentaires sélectionnés dans un plan normal à une direction de projection donnée, spécifique à chaque motif élémentaire ; la sélection successive des motifs élémentaires projetés pour l'assignation de coordonnées de texture aux sommets desdits motifs élémentaires projetés ; et
le regroupement desdits motifs élémentaires sur une image de texture.
Procédé selon la revendication 1 , chacun des motifs élémentaires (2-7) projetés étant placé dans une liste, un motif élémentaire étant sélectionné aléatoirement parmi les motifs élémentaires de la liste pour l'assignation de coordonnées de texture (u, v) aux sommets dudit motif élémentaire sélectionné et retiré de la liste, caractérisé en ce que chaque motif élémentaire sélectionné pour l'assignation de coordonnées de texture et retiré de la liste possède au moins un sommet en commun dans l'espace avec un motif élémentaire précédemment sélectionné pour l'assignation de coordonnées de texture et en ce que les coordonnées de texture assignées audit sommet en commun sont communes entre ledit motif élémentaire sélectionné et ledit motif élémentaire précédemment sélectionné.
Procédé selon la revendication 2, caractérisé en ce que chaque motif élémentaire (2-7) sélectionné parmi la liste pour l'assignation de coordonnées de texture (u, v) est un motif élémentaire possédant deux sommets en commun avec le ou l'un des motifs élémentaires précédemment sélectionnés.
Procédé selon la revendication 3, une distance entre deux sommets étant obtenue à partir des coordonnées géographiques (x, y, z) desdits deux sommets, caractérisé en ce que, si au moins deux motifs élémentaires (2-7) projetés de la liste ont chacun deux sommets en commun avec le ou l'un des motifs élémentaires précédemment sélectionnés pour l'assignation de coordonnées de texture, le motif élémentaire sélectionné pour l'assignation de coordonnées de texture est le motif élémentaire dont la distance entre les sommets communs avec ledit motif élémentaire précédemment sélectionné pour l'assignation de coordonnées de texture est la plus grande.
Procédé selon la revendication 3, un degré de parallélisme entre deux motifs élémentaires (2-7) étant obtenu à partir d'un produit scalaire entre un premier et un second vecteurs unitaires respectivement normaux à un premier et un second plans comprenant chacun l'un des deux motifs élémentaires, caractérisé en ce que, si au moins deux motifs élémentaires projetés de la liste ont chacun deux sommets en commun avec le ou l'un des motifs élémentaires précédemment sélectionnés pour l'assignation de coordonnées de texture, le motif élémentaire sélectionné pour l'assignation de coordonnées de texture est le motif élémentaire dont le degré de parallélisme avec ledit motif élémentaire précédemment sélectionné pour l'assignation de coordonnées de texture est le plus grand.
Procédé selon l'une des revendications 1 à 5, l'image de texture (1 0) étant une matrice de pixels, une couleur par défaut étant affectée auxdits pixels, ladite matrice comprenant deux dimensions H et L, lesdites dimensions étant exprimés en nombre de pixels, chaque pixel étant repéré par deux coordonnées de pixel (n, m), n variant entre 0 et L-1 et m variant entre 0 et H-1 , un motif élémentaire étant représenté dans l'image de texture par l'association d'une couleur à chaque pixel dont les coordonnées de pixel correspondent à des coordonnées de texture comprises dans ledit motif élémentaire, caractérisé en ce qu'il comprend en outre l'application d'une isométrie auxdits motifs élémentaires regroupés dans l'image de texture, en vue de maximiser un nombre de sommets desdits motifs élémentaires dont les coordonnées de texture correspondent à des coordonnées de pixel de la forme (0 ;n).
Procédé selon l'une des revendications 1 à 6, caractérisé en ce que chaque motif élémentaire (2-7) est projeté dans un plan comprenant ledit motif élémentaire.
Procédé selon l'une des revendications 1 à 7, l'image de texture (1 0)étant limitée par un ensemble de côtés, une boîte englobante (51 ) d'un motif tridimensionnel étant définie comme le rectangle possédant une aire minimale parmi les rectangles comprenant les motifs élémentaires projetés du motif tridimensionnel dans l'image de texture et dont au moins un côté est parallèle à un côté de l'image de texture, caractérisé en ce qu'une rotation est appliquée à chaque motif élémentaire sélectionné de manière à ce que l'aire de la boîte englobante du motif élémentaire soit minimale.
9. Procédé selon l'une des revendications 1 à 8, pour la modélisation de plusieurs motifs tridimensionnels (1 ), caractérisé en ce que le procédé comporte une sélection préalable d'un premier motif tridimensionnel pour la sélection de motifs élémentaires (2-7) dudit premier motif tridimensionnel et comprend en outre une répétition des étapes précédentes pour au moins un deuxième motif tridimensionnel sélectionné, et en ce que les motifs élémentaires projetés dudit deuxième motif tridimensionnel sont regroupés sur l'image de texture (1 0) regroupant les motifs élémentaires du premier motif tridimensionnel.
1 0. Procédé selon la revendication 9, les sommets d'un motif élémentaire (2-7) projeté d'un motif tridimensionnel définissant une surface du motif élémentaire dans l'image de texture (1 0), une surface du motif tridimensionnel (1 ) étant définie par l'union des surfaces des motifs élémentaires dudit motif tridimensionnel, caractérisé en ce que les coordonnées de texture assignées aux sommets desdits motifs élémentaires projetés du deuxième motif élémentaire ne sont pas incluses dans la surface du premier motif tridimensionnel.
1 1 . Procédé selon la revendication 1 0, une aire totale étant définie pour un motif tridimensionnel (1 ) à partir d'une somme des aires des motifs élémentaires composant le motif tridimensionnel, caractérisé en ce que la sélection des motifs tridimensionnels est opérée dans un ordre qui est fonction décroissante de l'aire de chacun des motifs tridimensionnels. 1 2. Procédé selon la revendication 1 1 , une surface restante de l'image de texture (1 0) étant la restriction de la surface de l'image de texture à une surface non comprise dans l'union des surfaces du ou des motifs tridimensionnels (1 ) préalablement sélectionné, caractérisé en ce que l'étape d'assignation des coordonnées de texture (u, v) pour les sommets desdits motifs élémentaires du second motif tridimensionnel sélectionné est effectuée dans une nouvelle image de texture si la surface restante de l'image de texture ne peut inclure la surface du second motif tridimensionnel sélectionné.
Procédé selon l'une des revendications 1 1 ou 1 2, caractérisé en ce qu'il comprend en outre, si le premier et le second motifs tridimensionnels (1 ) sont regroupés sur la même image de texture (1 0), l'application d'une isométrie aux motifs élémentaires (2-7) du second motif tridimensionnel dans l'image de texture en vue de maximiser un nombre de sommets communs aux motifs élémentaires du premier motif tridimensionnel et aux motifs élémentaires du second motif tridimensionnel.
Procédé selon l'une des revendications 1 1 à 1 3, un écart souhaité entre motifs tridimensionnels (1 ) étant prédéfini, une texture étant associée à chaque motif élémentaire (2-7) de chaque motif tridimensionnel, une extension d'un motif tridimensionnel étant obtenue à partir d'une union de la surface dudit motif tridimensionnel, d'une surface définie par des disques dont les centres sont les sommets des motifs élémentaires du motif tridimensionnel et dont le rayon est égal audit écart, et d'une surface définie par des rectangles dont un côté est un segment reliant deux sommets d'un motif tridimensionnel et dont deux autres côtés perpendiculaires ont une longueur égale à l'écart prédéfini, lesdits rectangles étant orientés vers l'extérieur desdits motifs élémentaires projetés du motif tridimensionnel, caractérisé en ce que, si le premier et le second motifs tridimensionnels sont regroupés sur la même image de texture, une isométrie est appliquée aux sommets du second motif tridimensionnel de manière à ce qu'une intersection de l'extension du premier motif tridimensionnel et de l'extension du second motif tridimensionnel soit vide et en ce que le procédé comprend en outre pour chaque partie de l'extension d'un motif tridimensionnel non comprise dans le motif tridimensionnel, l'affectation d'une texture en fonction de la texture du motif élémentaire le plus proche parmi les motifs élémentaires dudit motif tridimensionnel. 1 5. Procédé selon l'une des revendications 1 à 14, un angle de sélection et une direction de l'espace étant prédéfinis, caractérisé en ce que, pour un motif tridimensionnel (1 ), seul un motif élémentaire (2-7) dont un vecteur normal à un plan comprenant ledit motif élémentaire forme un angle avec la direction prédéfinie qui est inférieur à l'angle prédéfini est sélectionnable pour la projection selon une direction de projection et en ce que les motifs élémentaires qui n'ont pas été sélectionnés sont projetés dans un plan normal à la direction prédéfinie et sont regroupés sur une nouvelle image de texture, les coordonnées de textures associés aux sommets desdits motifs élémentaires sélectionnés étant obtenues par projection des sommets dans un plan de l'espace perpendiculaire à la direction prédéfinie.
1 6. Terminal de traitement de données dans la modélisation d'au moins un motif tridimensionnel (1 ) caractérisé en ce qu'il comprend des moyens adaptés pour la mise en œuvre du procédé selon l'une des revendications 1 à 1 5.
1 7. Produit programme d'ordinateur, caractérisé en ce qu'il comprend des instructions pour la mise en œuvre du procédé selon l'une des revendications 1 à 1 5.
PCT/FR2012/050976 2011-05-04 2012-05-02 Optimisation de données texturées pour modélisation tridimensionnelle WO2012150416A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1153802A FR2974927A1 (fr) 2011-05-04 2011-05-04 Optimisation de donnees pour modelisation tridimensionnelle
FR1153802 2011-05-04

Publications (1)

Publication Number Publication Date
WO2012150416A1 true WO2012150416A1 (fr) 2012-11-08

Family

ID=46201708

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2012/050976 WO2012150416A1 (fr) 2011-05-04 2012-05-02 Optimisation de données texturées pour modélisation tridimensionnelle

Country Status (2)

Country Link
FR (1) FR2974927A1 (fr)
WO (1) WO2012150416A1 (fr)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110298922A (zh) * 2019-07-04 2019-10-01 浙江科澜信息技术有限公司 一种三维模型简化方法、装置及设备
CN116758204A (zh) * 2023-08-17 2023-09-15 腾讯科技(深圳)有限公司 一种基于线渲染器的渲染处理方法及相关装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109241646B (zh) * 2018-09-20 2023-03-17 重庆大学 基于椭圆堆叠和随机场的多因素二维土石混合体生成方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
AIMIN HAO ET AL: "Best Fit Decreasing for Fully Automatic Compact Texture Atlas Generation", COMPUTER-AIDED DESIGN AND COMPUTER GRAPHICS, 2007 10TH IEEE INTERNATIO NAL CONFERENCE ON, IEEE, PI, 1 October 2007 (2007-10-01), pages 469 - 472, XP031193829, ISBN: 978-1-4244-1578-6 *
EUGENE ZHANG ET AL: "Feature-Based Surface Parameterization and Texture Mapping", ACM TRANSACTIONS ON GRAPHICS: TOG, ACM, US, vol. 24, no. 1, 1 January 2005 (2005-01-01), pages 1 - 27, XP002434508, ISSN: 0730-0301, DOI: 10.1145/1037957.1037958 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110298922A (zh) * 2019-07-04 2019-10-01 浙江科澜信息技术有限公司 一种三维模型简化方法、装置及设备
CN116758204A (zh) * 2023-08-17 2023-09-15 腾讯科技(深圳)有限公司 一种基于线渲染器的渲染处理方法及相关装置
CN116758204B (zh) * 2023-08-17 2024-05-03 腾讯科技(深圳)有限公司 一种基于线渲染器的渲染处理方法及相关装置

Also Published As

Publication number Publication date
FR2974927A1 (fr) 2012-11-09

Similar Documents

Publication Publication Date Title
JP6663926B2 (ja) DeepStereo:実世界の画像から新たなビューを予測するための学習
CN107862744B (zh) 航空影像三维建模方法及相关产品
AU2017212389A1 (en) Orthogonal-projection-based texture atlas packing of three-dimensional meshes
US8239175B2 (en) Geospatial modeling system providing poisson-based geospatial data set merging and related methods
US20120179432A1 (en) Geospatial modeling system providing poisson-based void inpainting and related methods
US20120280991A1 (en) Employing mesh files to animate transitions in client applications
US20150170398A1 (en) Generating Reduced Resolution Textured Model From Higher Resolution Model
FR2714505A1 (fr) Dispositif et procédé pour générer une image destinée à un traitement graphique d'ordinateur tridimensionnel.
CA2910649A1 (fr) Ajout automatise de texture aux plans et animation des images
US8884955B1 (en) Surface simplification based on offset tiles
US8060352B2 (en) Geospatial modeling system using void filling and related methods
WO2017013068A1 (fr) Procédé et dispositif d'affichage de scène tridimensionnelle sur une surface d'affichage de forme arbitraire non plane
WO2012150416A1 (fr) Optimisation de données texturées pour modélisation tridimensionnelle
WO2022208024A1 (fr) Procede de generation de maillage hexaedrique
Rüther et al. Challenges in heritage documentation with terrestrial laser scanning
EP2297705B1 (fr) Procede de composition temps reel d'une video
US8773426B1 (en) Removing hidden faces in 3D building models
Brédif Image-based rendering of lod1 3d city models for traffic-augmented immersive street-view navigation
US11100707B2 (en) Computer graphics method for terrain rendering
EP1197922A2 (fr) Procédé permettant de simplifier des annotations sur une surface géométrique
Tingdahl et al. Arc3d: A public web service that turns photos into 3d models
FR2992763A1 (fr) Procede et systeme de simplification d'un maillage d'une scene en trois dimensions
WO2008003687A1 (fr) Procede d ' approximation des polygones et des polyedres
KR20020041387A (ko) 2차원 공간정보를 활용한 솔리드모델 타입의 3차원 공간정보구축 자동화방법 및 3차원 공간정보 운용방법
WO2014023887A1 (fr) Procédé de rendu d'image en temps réel

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12725085

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12725085

Country of ref document: EP

Kind code of ref document: A1