FR2927449A1 - TRACE OF POLYGONAL LINES - Google Patents

TRACE OF POLYGONAL LINES Download PDF

Info

Publication number
FR2927449A1
FR2927449A1 FR0800727A FR0800727A FR2927449A1 FR 2927449 A1 FR2927449 A1 FR 2927449A1 FR 0800727 A FR0800727 A FR 0800727A FR 0800727 A FR0800727 A FR 0800727A FR 2927449 A1 FR2927449 A1 FR 2927449A1
Authority
FR
France
Prior art keywords
vertex
vertices
triangles
point
given
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
FR0800727A
Other languages
French (fr)
Other versions
FR2927449B1 (en
Inventor
Luc Klaine
Mickael Bernard
Olivier Thouvenin
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEWSCAPE TECHNOLOGY SARL
Original Assignee
NEWSCAPE TECHNOLOGY SARL
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 SARL filed Critical NEWSCAPE TECHNOLOGY SARL
Priority to FR0800727A priority Critical patent/FR2927449B1/en
Priority to PCT/FR2008/052435 priority patent/WO2009101306A1/en
Priority to EP08872295A priority patent/EP2240907A1/en
Publication of FR2927449A1 publication Critical patent/FR2927449A1/en
Application granted granted Critical
Publication of FR2927449B1 publication Critical patent/FR2927449B1/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/203Drawing of straight lines or curves
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation

Abstract

Un procédé de tracé d'une ligne polygonale d'une image numérique, à partir d'un ensemble ordonné 2D ou 3D de sommets. Pour au moins un sommet donné (An) suivant un premier sommet voisin (An-1) et précédent un deuxième sommet voisin (An+1) dudit ensemble ordonné, on détermine un point (Bn) associé au sommet donné, ledit point associé étant situé à une distance fixée d'une droite correspondant au premier sommet voisin et au sommet donné, et situé à la même distance fixée d'une droite correspondant au sommet donné et au deuxième sommet voisin, le point associé au sommet étant sélectionné en utilisant l'ordonnancement de l'ensemble de sommets. Une suite ordonnée de triangles est définie, les sommets desdits triangles étant définis au moins en fonction des sommets de l'ensemble et du point associé, et les surfaces des triangles de la suite ordonnée de triangles sont affichées.A method of drawing a polygonal line of a digital image from an ordered 2D or 3D set of vertices. For at least one given vertex (An) following a first neighboring vertex (An-1) and preceding a second neighboring vertex (An + 1) of said ordered set, a point (Bn) associated with the given vertex is determined, said associated point being located at a fixed distance from a straight line corresponding to the first neighboring vertex and the given vertex, and situated at the same fixed distance from a line corresponding to the given vertex and the second neighboring vertex, the point associated with the vertex being selected using the scheduling of the set of vertices. An ordered sequence of triangles is defined, the vertices of said triangles being defined at least according to the vertices of the set and the associated point, and the surfaces of the triangles of the ordered sequence of triangles are displayed.

Description

TRACE DE LIGNES POLYGONALES 5 La présente invention se rapporte au domaine de l'affichage numérique de surfaces tridimensionnelles, et en particulier au tracé de lignes polygonales. L'invention est plus particulièrement adaptée aux applications embarquées, par exemple de cartographie numérique, sur des terminaux 10 mobiles, par exemple des téléphones portables, assistant personnel numérique ou PDA etc. De telles applications sont par exemple mises en oeuvre dans des terminaux mobiles aptes à communiquer avec un serveur. II existe plusieurs façons d'afficher sur un écran un objet en trois dimensions. On peut par exemple afficher la texture de la surface de l'objet. La 15 représentation filaire (ou wireframe en anglais) permet une meilleure visualisation du relief de la surface de l'objet. Bien entendu, on peut afficher à la fois la structure via une représentation filaire, et la texture. Une représentation filaire d'une surface tridimensionnelle peut être obtenue en traçant simplement les primitives d'affichage, que ce soit des 20 triangles ou des quadrilatères par exemple. Toutefois, les primitives d'affichage peuvent comprendre des polygones plus complexes. Par exemple, un ballon de football peut être décomposé en hexagones, une maison en quadrilatères, une montagne en polygones quelconques. Les primitives d'affichages peuvent être coplanaires ou ne pas être coplanaires. 25 Egalement, il peut être souhaitable d'afficher d'autres types de lignes polygonales, comme des lignes polygonales ouvertes, afin de permettre une visualisation de routes par exemple. Lorsque l'affichage est réalisé sur un terminal en communication avec un serveur, éventuellement distant, le terminal reçoit du serveur des données 30 d'affichage, et traite ces données pour pouvoir afficher la surface tridimensionnelle correspondant à ces données. Les données d'affichage comprennent typiquement les coordonnées de sommets des primitives d'affichage, de sorte que leur transmission nécessite relativement peu de bande passante. The present invention relates to the field of digital display of three-dimensional surfaces, and in particular to the drawing of polygonal lines. The invention is more particularly suitable for embedded applications, for example digital mapping, on mobile terminals, for example mobile phones, PDA or PDA etc. Such applications are for example implemented in mobile terminals able to communicate with a server. There are several ways to display a three-dimensional object on a screen. For example, you can display the texture of the surface of the object. The wired representation (or wireframe in English) allows a better visualization of the relief of the surface of the object. Of course, one can display both the structure via a wired representation, and the texture. A wired representation of a three-dimensional surface can be obtained by simply plotting the display primitives, whether triangles or quadrilaterals, for example. However, display primitives may include more complex polygons. For example, a football can be broken down into hexagons, a quadrilateral house, a mountain of arbitrary polygons. Display primitives can be coplanar or not coplanar. Also, it may be desirable to display other types of polygonal lines, such as open polygonal lines, to allow for viewing of roads for example. When the display is performed on a terminal in communication with a possibly remote server, the terminal receives display data from the server, and processes this data to be able to display the three-dimensional surface corresponding to these data. The display data typically includes the vertex coordinates of the display primitives, so that their transmission requires relatively little bandwidth.

Lorsqu'un polygone comprend quatre points ou davantage, ce polygone peut ne pas être coplanaire. Certains terminaux relativement pauvres en ressources de mémoire et/ou de calcul, sont incapables d'afficher des polygones non coplanaires et sont configurés pour traiter uniquement des triangles. Par exemple, pour un jeu de coordonnées de trois points formant un triangle, un téléphone mobile est capable de calculer le plan passant par les trois points et d'afficher la partie du plan interne au triangle. En outre, certaines applications dans les terminaux mobiles permettant de tracer des surfaces tridimensionnelles, par exemple les interfaces de programmation (API) graphiques 3D, sont conçues pour réaliser des tracés uniquement à partir de triangles en strip et/ou en fan . Un ensemble ordonné de triangles en strip est tel que chaque triangle de l'ensemble, à partir du deuxième triangle selon l'ordre de l'ensemble ordonné de triangles, comporte deux sommets du triangle précédent et un nouveau sommet distinct des sommets des triangles précédents. Un ensemble ordonné de triangles en fan est un ensemble ordonné en strip dans lequel il existe un sommet commun à chacun des triangles. Ainsi certaines applications sont capables d'afficher seulement les surfaces internes de triangles, qui de plus doivent parfois être organisés en 20 strip et/ou en fan . Il serait souhaitable de pouvoir afficher un tracé de ligne polygonale en utilisant ces applications relativement pauvres en ressources de mémoire et/ou de calcul. Selon un premier aspect, l'invention a pour objet un procédé de tracé 25 d'une ligne polygonale d'une image numérique, à partir d'un ensemble ordonné 2D ou 3D de sommets, comprenant les étapes suivantes, pour au moins un sommet donné suivant un premier sommet voisin et précédent un deuxième sommet voisin de cet ensemble ordonné: a/ déterminer un point associé au sommet donné, ce point associé 30 étant situé à une distance fixée d'une droite correspondant au premier sommet voisin et au sommet donné, et situé à la même distance fixée d'une droite correspondant au sommet donné et au deuxième sommet voisin, le point associé au sommet étant sélectionné en utilisant l'ordonnancement de l'ensemble de sommets, b/ définir une suite ordonnée de triangles, les sommets de ces triangles étant définis au moins en fonction des sommets de l'ensemble et du point associé, c/ afficher les surfaces des triangles de la suite ordonnée de triangles. Ainsi, la ligne polygonale est tracée par le biais d'affichage de surfaces de triangles. Un terminal relativement pauvre en ressources mémoire et/ou calcul, capables d'afficher seulement les surfaces internes de triangles, est ainsi à même de réaliser ce tracé. Le point associé est sélectionné en tenant compte de l'ordonnancement des sommets. Le point associé peut être d'un coté ou de l'autre des lignes brisées définies par les sommets selon l'ordre de ces sommets dans l'ensemble ordonné. Les coordonnées des sommets et des points peuvent par exemple comprendre une latitude, une longitude et une altitude dans un référentiel (X, Y, Z), ou autre. La distance fixée peut être de un pixel par exemple, mais toute autre 20 valeur de distance est envisageable. Avantageusement, un vecteur associé au sommet donné, dit vecteur normal, est défini et des premier et second projetés sont déterminés en projetant orthogonalement respectivement les premier et second sommets voisins sur le plan passant par le sommet donné et orthogonal au vecteur 25 associé. La droite de l'étape a/ correspondant au premier sommet voisin et au sommet donné passe par le premier projeté et par le sommet donné, et la droite de l'étape a/ correspondant au sommet donné et au deuxième sommet voisin passe par le sommet donné et le deuxième projeté. Ainsi, le point associé appartient à un plan tangent, lequel peut être 30 plus pertinent que le plan défini par le sommet donné, le premier sommet voisin et le deuxième sommet voisin. When a polygon has four points or more, this polygon may not be coplanar. Some terminals relatively poor in memory and / or compute resources are unable to display non-coplanar polygons and are configured to process only triangles. For example, for a set of three point coordinates forming a triangle, a mobile phone is able to calculate the plane passing through the three points and display the part of the inner plane to the triangle. In addition, certain applications in mobile terminals for tracing three-dimensional surfaces, for example 3D graphics programming interfaces (APIs), are designed to make plots only from strip and / or fan triangles. An ordered set of strip triangles is such that each triangle of the set, starting from the second triangle in the order of the ordered set of triangles, has two vertices of the preceding triangle and a new vertex distinct from the vertices of the preceding triangles. . An ordered set of fan triangles is an ordered set in strip in which there is a vertex common to each of the triangles. Thus some applications are able to display only the internal surfaces of triangles, which in addition must sometimes be organized in strip and / or fan. It would be desirable to be able to display a polygonal line plot using these applications relatively poor in memory and / or compute resources. According to a first aspect, the subject of the invention is a method of drawing a polygonal line of a digital image, starting from an ordered 2D or 3D set of vertices, comprising the following steps, for at least one vertex given along a first neighboring vertex and preceding a second vertex adjacent to this ordered set: a / determining a point associated with the given vertex, this associated point being located at a fixed distance from a line corresponding to the first neighboring vertex and the given vertex , and located at the same fixed distance from a line corresponding to the given vertex and the second neighboring vertex, the point associated with the vertex being selected using the scheduling of the set of vertices, b / defining an ordered sequence of triangles, the vertices of these triangles being defined at least according to the vertices of the set and the associated point, c / displaying the surfaces of the triangles of the ordered sequence of triangles. Thus, the polygonal line is drawn through the display of triangles surfaces. A terminal relatively poor in memory and / or computation resources, able to display only the internal surfaces of triangles, is thus able to make this plot. The associated point is selected taking into account the order of the vertices. The associated point may be on one side or the other of the broken lines defined by the vertices in the order of these vertices in the ordered set. The coordinates of the vertices and the points can for example include a latitude, a longitude and an altitude in a repository (X, Y, Z), or other. The fixed distance may be one pixel for example, but any other distance value is possible. Advantageously, a vector associated with the given vertex, said normal vector, is defined and first and second projected are determined by orthogonally respectively projecting respectively the first and second neighboring vertices on the plane passing through the given vertex and orthogonal to the associated vector. The straight line of step a / corresponding to the first neighboring vertex and the given vertex passes through the first projected and the given vertex, and the right of step a / corresponding to the given vertex and the second neighboring vertex passes through the vertex given and the second projected. Thus, the associated point belongs to a tangent plane, which may be more relevant than the plane defined by the given vertex, the first neighbor vertex and the second neighbor vertex.

Par exemple, dans le cas d'un ensemble ordonné de sommets correspondant à une route, il peut être judicieux de choisir un vecteur normal dans une direction fixe, typiquement la direction verticale. Selon un autre exemple, le vecteur associé au sommet donné est obtenu à partir de sommets situés dans un voisinage du sommet donné. Le plan tangent auquel appartient le point associé est défini par le voisinage du sommet donné. Les sommets situés dans ce voisinage peuvent comprendre d'autres sommets que le premier sommet voisin et le deuxième sommet voisin. Bien entendu, l'invention n'est pas limitée par cette étape de projection dans un plan orthogonal à un vecteur normal. La droite de l'étape a/ correspondant au premier sommet voisin et au sommet donné peut passer par le premier sommet voisin et par le sommet donné, et la droite de l'étape a/ correspondant au sommet donné et au deuxième sommet voisin peut passer par le sommet donné et le deuxième sommet voisin. For example, in the case of an ordered set of vertices corresponding to a road, it may be wise to choose a normal vector in a fixed direction, typically the vertical direction. In another example, the vector associated with the given vertex is obtained from vertices located in a neighborhood of the given vertex. The tangent plane to which the associated point belongs is defined by the neighborhood of the given vertex. The vertices in this neighborhood may include other vertices than the first neighboring vertex and the second neighboring vertex. Of course, the invention is not limited by this projection step in a plane orthogonal to a normal vector. The right of step a / corresponding to the first neighboring vertex and the given vertex can pass through the first neighboring vertex and the given vertex, and the right of step a / corresponding to the given vertex and the second neighboring vertex can pass by the given summit and the second neighboring summit.

On peut prévoir de déterminer un point milieu du segment ayant pour extrémités le sommet donné et le point qui lui est associé ; et un point symétrique du point milieu est déterminé par rapport à ce sommet donné. Les sommets des triangles de la suite ordonnée de triangles comportent ce point milieu et le point symétrique. It can be predicted to determine a midpoint of the segment having as ends the given vertex and the point associated therewith; and a symmetrical point of the midpoint is determined with respect to this given vertex. The vertices of the triangles of the ordered sequence of triangles include this midpoint and the symmetrical point.

Ainsi, la ligne à tracer recouvre les segments reliant les sommets de l'ensemble ordonné. En particulier, ce mode de réalisation peut se révéler intéressant dans le cas d'une ligne ouverte, pour laquelle il n'existe pas de raison particulière de tracer la ligne d'un coté ou de l'autre des segments. Avantageusement et de façon non limitative, pour chaque sommet d'une pluralité de sommets de l'ensemble on associe un point respectif selon l'étape a/ ; et les sommets des triangles de la suite ordonnée de triangles sont définis au moins en fonction des sommets de l'ensemble et des point associés. Avantageusement et de façon non limitative, chaque triangle à compter du deuxième triangle selon l'ordre de la suite ordonnée de triangles, comporte deux sommets du triangle qui le précède selon l'ordre et un sommet distinct des sommets de ce triangle qui le précède. Thus, the line to trace covers the segments connecting the vertices of the ordered set. In particular, this embodiment can be interesting in the case of an open line, for which there is no particular reason to draw the line on one side or the other of the segments. Advantageously and non-limitatively, for each vertex of a plurality of vertices of the set, a respective point is associated according to step a /; and the vertices of the triangles of the ordered sequence of triangles are defined at least according to the vertices of the set and the associated points. Advantageously and in a nonlimiting manner, each triangle from the second triangle according to the order of the ordered sequence of triangles comprises two vertices of the triangle which precedes it in the order and a distinct vertex of the vertices of this triangle which precedes it.

Les sommets des triangles de la suite ordonnée comportent avantageusement et de façon non limitative les sommets de l'ensemble et le(s) point(s) associé(s) déterminé(s) selon l'étape a/. Selon un autre aspect, l'invention a pour objet un module adapté pour le tracé d'une ligne polygonale d'une image numérique, à partir d'un ensemble ordonné 2D ou 3D de sommets, comprenant : - des moyens de calcul pour déterminer un point associé (Bn) à un sommet donné (An) de l'ensemble ordonné, ce point associé étant situé à une distance fixée d'une droite correspondant au sommet (An_I) précédent dans l'ensemble ordonné le sommet donné et au sommet donné, et situé à la même distance fixée d'une droite correspondant au sommet donné et au sommet (An+1) suivant dans l'ensemble ordonné le sommet donné, le point associé au sommet donné étant sélectionné en utilisant l'ordonnancement de l'ensemble de sommets, - des moyens pour définir une suite ordonnée de triangles, les sommets desdits triangles étant définis au moins en fonction des sommets de l'ensemble ordonné et du point associé. - des moyens d'affichage des surfaces des triangles de la suite ordonnée. Ce module permet de mettre en oeuvre le procédé selon un aspect de l'invention. Les moyens d'affichage peuvent par exemple comprendre une interface graphique adaptée pour tracer en 3D des surfaces à l'aide de 25 triangles en strip qui lui sont indiqués par la suite ordonnée des sommets de ces triangles. Le module peut comprendre ou faire partie d'un terminal en communication avec un serveur. Le terminal reçoit des données du serveur, par exemple des coordonnées des sommets de l'ensemble ordonné. Les 30 données peuvent être hiérarchisées en r niveaux de précision différents. The vertices of the triangles of the ordered sequence advantageously include, but are not limited to, the vertices of the set and the associated point (s) determined according to step a /. According to another aspect, the subject of the invention is a module adapted for drawing a polygonal line of a digital image, from an ordered 2D or 3D set of vertices, comprising: calculating means for determining an associated point (Bn) at a given vertex (An) of the ordered set, this associated point being located at a fixed distance from a straight line corresponding to the preceding vertex (An_I) in the ordered set the given vertex and at the vertex given, and located at the same fixed distance from a straight line corresponding to the given vertex and the next vertex (An + 1) in the ordered set the given vertex, the point associated with the given vertex being selected using the scheduling of the set of vertices; means for defining an ordered sequence of triangles, the vertices of said triangles being defined at least according to the vertices of the ordered set and the associated point. means for displaying the surfaces of the triangles of the ordered sequence. This module makes it possible to implement the method according to one aspect of the invention. The display means may for example comprise a graphical interface suitable for 3D plotting of surfaces by means of strip triangles which are indicated to it by the ordered sequence of the vertices of these triangles. The module may comprise or be part of a terminal in communication with a server. The terminal receives data from the server, for example coordinates of the vertices of the ordered set. The data can be prioritized in different levels of precision.

Selon encore un autre aspect, l'invention a pour objet un programme d'ordinateur comprenant des instructions pour mettre en oeuvre les étapes d'un procédé selon un mode de réalisation de l'invention, lors d'une exécution du programme par des moyens de traitement. According to yet another aspect, the subject of the invention is a computer program comprising instructions for implementing the steps of a method according to an embodiment of the invention, during execution of the program by means treatment.

D'autres caractéristiques et avantages de l'invention apparaîtront encore à la lecture de la description qui va suivre. Celle-ci est purement illustrative et doit être lue en regard des dessins annexés sur lesquels : - les figures 1A et 1B représentent deux ensembles ordonnés de sommets et les tracés correspondant respectivement à ces ensembles ; - la figure 2 représente un polygone à trous ; - les figures 3A et 3B montrent deux types de tracés de lignes obtenus à partir d'ensembles de sommets ordonnés en sens inverses l'un de l'autre ; - la figure 4 illustre un procédé de tracé de ligne de polygone selon un mode de réalisation de l'invention ; -la figure 5 représente une suite de triangles susceptible d'être utilisée dans un mode de réalisation de l'invention. - la figure 6 illustre un procédé de tracé de ligne de polygone selon un autre mode de réalisation de l'invention ; Dans un mode de réalisation, on considère le tracé du contour d'une primitive polygonale. Pour des raisons de clarté de représentation, il est préférable de supposer les polygones coplanaires. Néanmoins, le procédé de tracé s'applique dans n'importe quelles circonstances, par exemple pour différentes faces d'un polyèdre quelconque. Le mode de dessin des polygones dépend essentiellement de l'ordre des sommets. En effet, les figures 1A et 1B montrent que le tracé de l'ensemble ordonné (A,B,C,D) ne coïncide pas avec le tracé de l'ensemble (A,B,D,C). Bien entendu, le tracé de l'ensemble ordonné (A,B,C,D) où les sommets sont donnés dans le sens horaire (ou sens indirect) et le tracé de l'ensemble ordonné (D,C,B,A) où ils sont donnés dans le sens antihoraire (ou sens direct) sont semblables. De même, les tracés des ensembles ordonnés (A,B,C,D) et (B,C,D,A), où les sommets sont décalés d'une position correspondent à des quadrilatères semblables. Par convention, on peut différentier les polygones en fonction de leur orientation. Une telle convention permet de déterminer sans ambigüité les zones à remplir et celles à vider. Elle permet de définir des polygones généralisés ou polygone "à trous". La figure 2 illustre le cas d'un tel polygone généralisé simplement défini à partir de deux quadrilatères orientés différemment. L'orientation utilisée pour remplissage intervient pour le tracé d'une zone de délimitation entre les mailles, appelée wireframe en anglais. Un tel contour sous forme de bande ne doit pas dépasser le polygone "à trou" pour que les faces d'un objet coïncident bord à bord. Les figures 3A et 3B montrent des zones de délimitation obtenues pour des ensembles de coordonnées de sommets comprenant les mêmes sommets, mais en ordre inversés l'un de l'autre. Sont représentées deux faces carrées orthogonales et les zones de délimitations, ou contours, sous forme de bandes dépassant (figure 3B) ou ne dépassant pas (figure 3A) des faces. On voit que lorsque les bandes dépassent, comme sur la figure 3B, cela nuit à la lisibilité du dessin. En d'autres termes, il faut que la bande soit toujours à l'intérieur des faces. Sur l'exemple de la figure 2, le contour de (A,B,C,D) devrait être tracé vers l'intérieur tandis que le contour de (E, F,G,H) devrait être tracé vers l'extérieur. Dans les deux cas, le contour devrait être tracé vers la normale indirecte au contour. Polygone fermé Dans le cas, tout d'abord, d'un polygone de l'espace défini par l'ensemble ordonné (A o, • • • • .4N-1) où N > 3, dans un souci de simplification, on suppose arbitrairement que l'ensemble des sommets est prolongé de manière cyclique. En d'autres termes, on note Ao = AN, A-1 = AN-1 et plus généralement T" . Z. An+w ù An_ Ensuite, on considère les trois points consécutifs du polygone An-1, An et =~n+1 autour d'un sommet donné An. Comme (.Ao, • • • , -AN-1) définit un polygone, on sait que A A, et AnAn+1 ne sont pas colinéaires. On note désormais in+1/2 le vecteur ' n`-tn+I /•-tn+1An-. Par conséquent, les trois points consécutifs autour de An définissent un plan muni de la base constituée des vecteurs en-1/2 et en+1/2. Le sens de ces 5 vecteurs dérive de l'ordonnancement des sommets dans l'ensemble ordonné de sommets. L'objectif est de déterminer le point Bä associé au point An de sorte que le polygone (Ba... ' BN-1) soit exactement à une distance de un pixel du polygone (Ao, • - , .A N-1) conformément à la figure 4. 10 On se place dans le repère défini par le point Aä et les vecteurs Other features and advantages of the invention will become apparent on reading the description which follows. This is purely illustrative and should be read with reference to the accompanying drawings in which: FIGS. 1A and 1B show two ordered sets of vertices and the plots corresponding respectively to these sets; FIG. 2 represents a polygon with holes; FIGS. 3A and 3B show two types of line plots obtained from sets of vertices arranged in opposite directions to each other; FIG. 4 illustrates a polygon line drawing method according to one embodiment of the invention; FIG. 5 represents a series of triangles that can be used in one embodiment of the invention. FIG. 6 illustrates a polygon line drawing method according to another embodiment of the invention; In one embodiment, the contour plot of a polygonal primitive is considered. For reasons of clarity of representation, it is better to assume the coplanar polygons. Nevertheless, the drawing method applies under any circumstances, for example for different faces of any polyhedron. The mode of drawing polygons depends essentially on the order of the vertices. Indeed, Figures 1A and 1B show that the plot of the ordered set (A, B, C, D) does not coincide with the plot of the set (A, B, D, C). Of course, the plot of the ordered set (A, B, C, D) where the vertices are given in the clockwise (or indirect) direction and the plot of the ordered set (D, C, B, A) where they are given counterclockwise (or forward direction) are similar. Similarly, the plots of the ordered sets (A, B, C, D) and (B, C, D, A), where the vertices are shifted by one position correspond to similar quadrilaterals. By convention, one can differentiate the polygons according to their orientation. Such a convention makes it possible to determine without ambiguity the areas to be filled and those to be emptied. It allows to define generalized polygons or polygon "with holes". Figure 2 illustrates the case of such a generalized polygon simply defined from two differently oriented quadrilaterals. The orientation used for filling intervenes for the drawing of a delimitation zone between the meshes, called wireframe in English. Such a contour in the form of a strip must not exceed the polygon "with hole" so that the faces of an object coincide edge to edge. FIGS. 3A and 3B show delimitation zones obtained for sets of vertex coordinates comprising the same vertices, but in reverse order of each other. Two orthogonal square faces are represented and the delimitation zones, or outlines, in the form of strips exceeding (FIG. 3B) or not exceeding (FIG. 3A) faces. We see that when the bands exceed, as in Figure 3B, it affects the readability of the drawing. In other words, the tape must always be inside the faces. In the example of Figure 2, the outline of (A, B, C, D) should be drawn inward while the outline of (E, F, G, H) should be drawn out. In both cases, the contour should be drawn to the indirect normal to the contour. Closed Polygon In the case, first of all, of a polygon of the space defined by the ordered set (A o, • • • • .4N-1) where N> 3, for the sake of simplification, we arbitrarily assumes that all vertices are cyclically extended. In other words, we write Ao = AN, A-1 = AN-1 and more generally T "Z. An + w ù An_ Then we consider the three consecutive points of the polygon An-1, An and = ~ n + 1 around a given vertex An. As (.Ao, • • •, -AN-1) defines a polygon, we know that AA, and AnAn + 1 are not collinear. We now see in + 1 / 2 the vector 'n`-tn + I / • -tn + 1An- Therefore, the three consecutive points around An define a plane with the base consisting of the vectors in-1/2 and in + 1/2. The meaning of these vectors derives from the ordering of the vertices in the ordered set of vertices, the objective being to determine the point Ba associated with the point An so that the polygon (Ba ... 'BN-1) is exactly at a distance of one pixel from the polygon (Ao, -, .A N-1) in accordance with FIG. 4. We place ourselves in the reference defined by the point Aa and the vectors

:n-1, 2 et iin+1 f2 On note xi, et yn les coordonnées de Bn dans le repère puis le vecteur An Bn. Par conséquent, il est vérifié : = snlln-1,+2 + YnUn+1 f2 La condition de distance de un pixel s'écrit à l'aide des équations : 1 =d([An_1,An],Bn) = 11'n - an-1/2'/en-1/21I = II 'n-1/2 +Ynt=n+1/2 - (mnjin-1/2 +Yniin+1/2, iin-1/2/t1n-1/2II IIrni1'n-1/2 +Yni1n+1/2 n-1/2+ tln-1/2)tin-1/2 - Yn(5n+1/2.21n_1/2) in-1/2Il = IIYnitn+1/2 - Un+itn+1/2' Un_1/2;)iin-1/2II = lYnl X Iliin+11`2 i'n+1/2/iin-1/2Il 1 = d1 [An, An+1], Bn) : n-1, 2 and iin + 1 f2 We note xi, and yn the coordinates of Bn in the reference then the vector An Bn. Therefore, it is checked: = snlln-1, + 2 + YnUn + 1 f2 The distance condition of a pixel is written using the equations: 1 = d ([An_1, An], Bn) = 11 n-an-1/2 '/ en-1 / 21I = II' n-1/2 + Ynt = n + 1/2 - (mnjin-1/2 + Yniin + 1/2, iin-1/2 / t1n-1 / 2II IIrni1'n-1/2 + Yni1n + 1/2 n-1/2 + tln-1/2) tin-1/2 - Yn (5n + 1 / 2.21n_1 / 2) 1 / 2Il = IIYnitn + 1/2 - Un + itn + 1/2 'Un_1 / 2;) iin-1 / 2II = lYnl X Iliin + 11`2 i'n + 1/2 / iin-1 / 2Il 1 = d1 [An, An + 1], Bn)

15 = I.Cnl x Il iln-1/2 - (iËn-1/2.2/n+1/2/11n+1/2Il. On en déduit un premier raffinement des coordonnées de Bi, dans le repère : rn = II1[n-1/2 - ;,ten-112 21n+11'2%i1n-1-1/2Il et Jn IIi0n+lj2 - \?ln_1/2 , idn+1/2~}tln--112II En effet, on trouve logiquement quatre solutions correspondant aux 20 quatre demi-bissectrices de l'angle défini par les trois points dans le plan. On impose alors une condition utilisant l'ordonnancement de l'ensemble de sommets : il faut que le point Bn soit vers la normale indirecte des vecteurs Un-1/2 et il, 1 `2 La condition d'orientation vers la normale indirecte s'écrit à l'aide des déterminants : 15 = I.Cnl x Il iln-1/2 - (1n-1 / 2.2 / n + 1/2 / 11n + 1 / 2Il.) A first refinement of the coordinates of Bi is deduced in the reference: rn = II1 [n-1/2 - ;, ten-112 21n + 11'2% i1n-1-1 / 2Il and Jn IIi0n + lj2 - \? ln_1 / 2, idn + 1/2 ~} tln - 112II Indeed we logically find four solutions corresponding to the four half-bisectors of the angle defined by the three points in the plane, and we then impose a condition using the order of the set of vertices: the point Bn must be the indirect norm of the vectors Un-1/2 and he, 1 to 2 The condition of orientation towards the indirect norm is written using the determinants:

I1 .Tn det(t1n-1/2, t'n) = 0 Un= +fin .> 0 et det•(tln+1 f2, en) = =ùSn `i0 On en déduit les coordonnées exactes de Bä dans le repère : .C,y = Ilrtn-1/2 ù {.?Gn-1/2, un+1/2)ttn+1/2II et yn = + Ilttn+1/2 ù (en-1/2 ttn+1/2 Enfin, pour tracer le contour, il suffit de passer la liste ordonnée (BO, AO, ... , BN-1, AN-1, BO, A0) en bande ou strip . Une suite ordonnée de triangles est alors définie ((Bo,Ao,A1) , (Bo,B1,A1), (AI, B1, A2)...) à partir des sommets de l'ensemble ordonné et des points associés à ces sommets. Un exemple de suite est représenté sur la I1 .Tn det (t1n-1/2, t'n) = 0 Un = + end> 0 and det • (tln + 1 f2, en) = = ùSn `i0 We deduce the exact coordinates of Bä in the reference: .C, y = Ilrtn-1/2 ù {.? Gn-1/2, a + 1/2) ttn + 1 / 2II and yn = + Ilttn + 1/2 ù (in-1/2 ttn) +1/2 Finally, to draw the outline, it is enough to pass the ordered list (BO, AO, ..., BN-1, AN-1, BO, A0) in strip or strip An ordered sequence of triangles is then defined ((Bo, Ao, A1), (Bo, B1, A1), (Al, B1, A2) ...) from the vertices of the ordered set and the points associated with these vertices. continuation is represented on the

figure 5. Puis la surface de chaque triangle de la suite ordonnée est affichée, suivant un procédé connu. Figure 5. Then the surface of each triangle of the ordered sequence is displayed, according to a known method.

Ligne polygonale ouverte Dans ce mode de réalisation, le tracé d'un chemin représenté par une ligne polygonale ouverte est considéré. Le principe du procédé est sensiblement identique à l'encadrement des polygones. Cependant, il est préférable que le tracé ne soit pas affecté par l'orientation du chemin. De plus, le procédé est légèrement différent pour le premier point et le dernier point. On considère tout d'abord une ligne polygonale de l'espace défini par les points ordonnés (.4o, • Open polygonal line In this embodiment, the plot of a path represented by an open polygonal line is considered. The principle of the process is substantially identical to the framing of the polygons. However, it is best if the path is not affected by the orientation of the path. In addition, the process is slightly different for the first point and the last point. We first consider a polygonal line of the space defined by the ordered points (.4o, •

• .4 -1) où N > 2. Dans l'encadrement des polygones, le point Bä est calculé dans le plan défini par les trois points consécutifs autour de An. Pour les points Al, AN-2, il est possible de recourir au procédé décrit plus haut. Cependant, ce n'est pas le cas pour les points Ao et AN-1 puisque la ligne polygonale étant ouverte, on ne peut pas définir de manière cyclique les points A-1 et AN. Par conséquent, ce procédé ne permet pas de calculer les 30 coordonnées des points Bo et BN-1...DTD: Le mode de réalisation décrit met en oeuvre un vecteur normal, pour chaque sommet auquel on cherche à associer un point. On décrit plus bas un exemple de choix de vecteur normal. Soit une liste ordonnée de vecteurs normaux (No, • . • -1). Pour les points indicés n tel que 0 < n < N - 1, les points An_1 et An+1 sont bien définis. On appelle points consécutifs autour de An orthogonalement à A'n les points t`in.n-1-An.n et An,n+1 définis comme étant les projetés orthogonaux de tn-1 An et An+i sur le plan Tn passant par An orthogonal à ,\'n. On pourra remarquer d'une part que le point An,n coïncide exactement avec le point An quel que soit le vecteur gn. On pourra remarquer d'autre part que les points An,nù1 et An,n+1 coïncident avec les points An_i et An-0 si le vecteur ,\'n est orthogonal au plan (.-L-1, An, An+1). On peut désormais calculer le point Bn.nà partir des trois points consécutifs Ann--1. An.n et An,n+1, conformément au procédé décrit ci-dessus dans le cadre du tracé de la ligne d'un polygone fermé. On pourra enfin remarquer que le point B,,,,, coïncide exactement avec le point Bn si on prend par exemple comme vecteur A'n le produit vectoriel Anù1An x-AnAn+i Pour éviter un tracé affecté par l'orientation (éventuellement arbitraire) du chemin, le point Cn est défini comme étant le milieu du segment [An, Bn.n] et le point Con est défini comme étant le symétrique de Con par rapport à An, comme illustré sur la figure 6, ce qui revient, d'un point de vue calculatoire, à : 1 nBn.n etAnCn = ùAnBn,n• AnCn+= Pour s'affranchir du problème des extrémités, on définit spécifiquement Co et Co- . Ainsi, les vecteurs 1oCQ et .tr, sont les vecteurs semi-unitaires du plan Po directement et indirectement orthogonaux à :-10:-11. On pourra remarquer qu'ils peuvent se déduire presque directement du produit vectoriel AQA 1 x Nô On définit de la même manière les points C ^7-1 et CN-1 Enfin pour tracer le chemin, il suffit de passer la liste ordonnée ( (tô ' Co-' • - -1 CN-1 en strip . il convient de noter que le fait de passer la liste inversée en mode CULLING_NONE donnera le même résultat. Grâce à ce procédé, il suffit de choisir les vecteurs normaux les plus adaptés. Par exemple, le revêtement d'une route étant horizontal, il suffit donc de prendre toujours le même vecteur normal k = (1, 0.0), (0,1,0) ou (0,0,1) selon les conventions. Bien entendu, il est également possible de définir un vecteur associé, dit "vecteur normal", aux sommets d'un ensemble ordonné correspondant à un polygone fermé. Cette prise en compte du vecteur normal permet de placer le point associé Bä dans un plan plus pertinent que le plan défini par les sommets An_1, An, An+1. Les procédés pour calculer les coordonnées des sommets utiles à la représentation pseudo-filaire des polygones ou des chemins sont relativement peu coûteux en temps de calcul. • .4 -1) where N> 2. In the polygon frame, the point Bä is calculated in the plane defined by the three consecutive points around An. For points Al, AN-2, it is possible to use to the process described above. However, this is not the case for the points Ao and AN-1 since the polygonal line is open, it is not possible to define cyclically the points A-1 and AN. Consequently, this method does not make it possible to calculate the coordinates of points Bo and BN-1. DTD: The embodiment described uses a normal vector, for each vertex at which a point is to be associated. An example of a normal vector choice is described below. Let an ordered list of normal vectors (No, •. • -1). For indexed points n such that 0 <n <N - 1, the points An_1 and An + 1 are well defined. We call consecutive points around An orthogonal to A'n the points t`in.n-1-An.n and An, n + 1 defined as the orthogonal projections of tn-1 An and An + i on the plane Tn passing through An orthogonal to, \ 'n. We can notice on the one hand that the point An, n coincides exactly with the point An whatever the vector gn. On the other hand, we can notice that the points An, n1 and An, n + 1 coincide with the points An_i and An-0 if the vector, \ 'n is orthogonal to the plane (.-L-1, An, An + 1). We can now calculate the point Bn.n from the three consecutive points Ann - 1. An.n and An, n + 1, according to the method described above in the context of drawing the line of a closed polygon. We can finally notice that the point B ,,,,, coincides exactly with the point Bn if we take for example as A'n vector the vector product Anù1An x -AnAn + i To avoid a plot affected by the orientation (possibly arbitrary ) of the path, the point Cn is defined as being the middle of the segment [An, Bn.n] and the point Con is defined as being the symmetry of Con with respect to An, as illustrated in FIG. 6, which amounts to from a computational point of view, to: 1 nBn.n and AnCn = ùAnBn, n • AnCn + = To overcome the problem of the extremities, one specifically defines Co and Co-. Thus, the vectors 1oCQ and .tr, are the semi-unitary vectors of the plane Po directly and indirectly orthogonal to: -10: -11. We can notice that they can be deduced almost directly from the vector product AQA 1 x Nô One defines in the same way the points C ^ 7-1 and CN-1 Finally to trace the path, it is enough to pass the ordered list (( For example, it is important to note that passing the inverted list in the CULLING_NONE mode will give the same result, but with this process it is sufficient to choose the most suitable normal vectors. For example, the pavement of a road being horizontal, it is therefore sufficient to always take the same normal vector k = (1, 0.0), (0,1,0) or (0,0,1) according to the conventions. Of course, it is also possible to define an associated vector, called "normal vector", at the vertices of an ordered set corresponding to a closed polygon.This taking into account of the normal vector makes it possible to place the associated point Ba in a plane more the plan defined by the vertices An_1, An, An + 1. oordonnées vertices useful pseudo-wired representation of polygons or paths are relatively inexpensive in computing time.

Vecteur normal Pour représenter des "volumes" en utilisant les bibliothèques 3D (par exemple "OpenGL", "Direct3D" ou "M3G"), il peut être fait appel à la notion de normales. La normale est définie localement. Le plan tangent TMO (S) à une surface S en un point MO est le plan passant par MO qui approxime le mieux S au voisinage de MO. Un vecteur g est dit "normal" à une surface S en un point MO s'il est orthogonal au plan tangent TMO (S). Les cas principalement considérés sont les suivants : • Si la surface est une sous-variété suffisamment régulière dont on connaît une paramétrisation locale : M(s, t) = (x(s, t), y(s, t), z(s, t)) telle que MO = (x(0, 0), y(0, 0), z(0, 0)) alors on obtient 1-2tiro(8) = (Mo; z')avec : cl û = :- (0,0)eté = r~_1 (0,0). Os vt On en déduit alors facilement un vecteur normal direct en calculant le produit vectoriel g = é_ • Si la surface S est une sous-variété suffisamment régulière dont on Normal Vector To represent "volumes" using 3D libraries (eg "OpenGL", "Direct3D" or "M3G"), the notion of normals can be used. Normal is defined locally. The tangent plane TMO (S) to a surface S at a point MO is the plane passing through MO which best approximates S in the neighborhood of MO. A vector g is said to be "normal" to a surface S at a point MO if it is orthogonal to the tangent plane TMO (S). The cases mainly considered are the following ones: • If the surface is a sufficiently regular submanifold of which one knows a local parametrization: M (s, t) = (x (s, t), y (s, t), z ( s, t)) such that MO = (x (0, 0), y (0, 0), z (0, 0)) then we get 1-2tiro (8) = (Mo; z ') with: cl û =: - (0,0) eté = r ~ _1 (0,0). Os vt It is then easy to deduce a direct normal vector by calculating the vector product g = é_ • If the surface S is a sufficiently regular submanifold of which one

connaît une équation locale : F(x, y, z) = 0 telle que MO = (xO, yO, zO) (3) alors on obtient une normale directe avec : = ( F (r0, y°, o), ù (XQ, yO, °'o), ù(ro, ya, y 4 La notion de normale permet généralement de définir comment la knows a local equation: F (x, y, z) = 0 such that MO = (xO, yO, zO) (3) then we obtain a direct normal with: = (F (r0, y °, o), where (XQ, yO, ° 'o), ù (ro, ya, y 4 The notion of normality generally makes it possible to define how the

lumière doit être réfléchie à la surface du volume considéré. Intuitivement, on considérera que la lumière puisse être effectivement réfléchie orthogonalement à la surface. Néanmoins, les choses sont souvent plus complexes : • D'une part les surfaces sont généralement définies comme des light must be reflected on the surface of the volume considered. Intuitively, it will be considered that the light can be effectively reflected orthogonally to the surface. Nevertheless, things are often more complex: • On the one hand surfaces are generally defined as

assemblages de triangles dans l'espace. Pour calculer une normale en un point, on peut calculer la moyenne des normales aux triangles auxquels appartient le point. De manière équivalente, cela revient à calculer la dérivée discrète. • D'autre part, les surfaces considérées ne sont pas nécessairement assemblies of triangles in space. To calculate a normal at a point, we can calculate the average of normals to the triangles to which the point belongs. Equivalently, this amounts to calculating the discrete derivative. • On the other hand, the surfaces considered are not necessarily

des discrétisations de sous-variétés régulières. Ainsi, un bâtiment même très simple de la forme d'un parallélépipède n'est pas forcément régulier au niveau de ses arêtes. Cela se traduit par des ombrages différents de part et d'autre des arêtes. Pour le tracé des surfaces avec les bibliothèques 3D, cela revient à définir autant de normales différentes de part et d'autre des arêtes pour un discretizations of regular subvarieties. Thus, even a very simple building of the shape of a parallelepiped is not necessarily regular at its edges. This results in different shades on both sides of the edges. For the drawing of surfaces with 3D libraries, this amounts to defining as many different normals on both sides of the edges for a

même sommet. En effet, si un bâtiment ne peut pas être vu comme une sous-variété régulière, il peut être vu comme un assemblage de sous-variétés régulières appelées faces. Pour un sommet appartenant à deux faces, on calcule la fil. normale à chacune des faces et on attribue la "bonne normale" suivant que l'on considère que le sommet appartient plutôt à une face ou plutôt à l'autre. Par exemple : • Une sphère est constituée d'une seule sous-variété régulière. Par conséquent pour chaque point de la sphère, on définit une seule normale qui coïncide exactement avec la direction du rayon passant par ce point. • Un cube est constitué d'un assemblage de six faces sous-variétés régulières (six faces carrés). Chaque sommet du cube appartient à trois faces, autrement dit chaque sommet apparaît trois fois différemment pour construire le cube. Il faut associer à chaque sommet une normale différente suivant la face qu'on est en train de construire. • Le cylindre est constitué d'un assemblage de trois sous-variétés régulières (deux bases discales et un rectangle). Chaque point du bord du cylindre appartient à une base et au rectangle, autrement dit chaque sommet apparaît deux fois différemment pour construire le cube. Encore une fois, il faut attribuer à chaque sommet une normale différente suivant la face qu'on est en train de construire. L'utilisation des normales est standard dans toutes les bibliothèques d'affichage 3D. Le choix d'une ou de plusieurs normales par sommet dépend de la régularité de la surface. Lorsque la surface est décomposée en primitives polygonales d'affichage, la notion de régularité dépend du choix du développeur. Afin de mettre en valeur un "volume", on est souvent amené à tracer la représentation filaire ( wireframe ). En général, il s'agit simplement de tracer les bords de la primitives d'affichage. Dans les applications en mobilité, les seules primitives d'affichages sont les triangles organisés en bandes ("triangle strip") sous M3G, autour d'un centre ("triangle fan") ou indépendants les uns des autres ("triangles") sous OpenGL ou Direct3D. Néanmoins, afficher toutes les arêtes de tous les triangles n'est non seulement pas nécessaire mais également gourmand en ressources. Dans certains cas, si les primitives d'affichage restent définitivement les triangles, les primitives logiques ou "faces" peuvent être des polygones plus complexes : • Cas du cube : on est amené à considérer ses faces qui sont des carrés qui seront ensuite décomposés en triangles pour le tracé. Néanmoins, pour obtenir une représentation filaire satisfaisante, il suffit de dessiner les bords de chaque carré plutôt que ceux des triangles. • Cas de la décomposition approchée classique d'une sphère : en hexagones comme pour un ballon de football. Les primitives logiques sont les hexagones qui seront ensuite décomposés en triangles pour le tracé. Dans ce cas, il suffit de tracer le bord de chaque hexagone pour avoir une représentation filaire satisfaisante de la sphère. • Cas de la décomposition approchée d'un cylindre : chaque base est un polygone régulier et la bande de hauteur est une succession de rectangles. II suffit de tracer le contour des deux bases et les contours des rectangles pour obtenir une représentation filaire adaptée. Suivant le principe de représentation pseudo-filaire, on dessine les lignes sous formes de bandes de largeur unitaire. Néanmoins, si une bande à une largeur, elle n'a pas d'épaisseur, puisqu'il s'agit du tracé d'un objet en deux dimensions. En d'autres termes, suivant le point de vue adopté, la bande sera ou ne sera pas visible (une bande observée sur la "tranche" n'est pas visible). Il convient donc de tracer suffisamment de bandes de sorte à ce qu'elles soient raccordées les unes aux autres et qu'une ligne soit visible quel que soit le point de vue où l'arête est effectivement observable. Pour tracer les arêtes, on s'appuie sur le même principe que les normales de la lumière. La représentation pseudo-filaire d'une arête doit être visible de manière optimale lorsqu'on regarde l'arête de face. II faut donc tracer la bande dans le plan orthogonal à la normale. Lorsqu'il s'agit de tracer un chemin au sens général du terme (chemin piéton, route, etc.), ceux-ci peuvent être également vus comme des bandes de largeur pas forcément unitaire autour d'une ligne polygonale directrice. Le procédé décrit plus haut dans permet de tracer des tels chemins. II reste néanmoins à déterminer les bonnes normales pour déterminer les plans dans lesquels dessiner les bandes. II est tout à fait réaliste d'imposer à la bande d'être localement dans le plan horizontal, en particulier dans le cas d'une route puisque les routes sont en général sensiblement parallèles au sol. On obtient alors des bandes visibles de manière optimale vue de haut. Toutefois, si le chemin est sur la terre ou sur n'importe quelle autre surface, alors il peut sembler plus approprié d'introduire un paramétrage de cette surface. Chaque point du chemin doit être associé à la normale issue du point et orthogonale à la surface. Le chemin épouse alors la forme de la surface qui le supporte. L'utilisation des normales s'appuie sur la topologie de la surface à tracer. Les coordonnées des vecteurs associés aux sommets, dits "normaux", peuvent également être reçues d'un serveur avec les coordonnées de ces sommets. De manière générale, on peut prévoir un procédé de tracé d'une ligne polygonale d'une image numérique, à partir d'un ensemble ordonné 2D ou 3D de sommets, comprenant les étapes suivantes, pour au moins un sommet donné de cet ensemble : déterminer un point associé à ce sommet donné, ce point associé étant situé à une distance fixée d'une droite correspondant au sommet donné et à un autre sommet de l'ensemble ordonné, le sommet donné et l'autre sommet étant consécutifs dans l'ensemble ordonné, définir une suite ordonnée de triangles, les sommets desdits triangles étant définis au moins en fonction du point associé. Ainsi, il est possible de recourir à un procédé d'affichage de surfaces de triangles pour tracer la ligne polygonale. L'autre sommet peut suivre ou précéder le sommet donné. same summit. Indeed, if a building can not be seen as a regular subvariety, it can be seen as an assembly of regular subvarieties called faces. For a vertex belonging to two faces, the wire is calculated. normal to each of the faces and we attribute the "good normal" according to whether we consider that the vertex belongs rather to one face or rather to the other. For example: • A sphere consists of a single regular subvariety. Therefore for each point of the sphere, we define a single normal which coincides exactly with the direction of the ray passing through this point. • A cube consists of an assembly of six regular subvariety faces (six square faces). Each vertex of the cube belongs to three faces, in other words each vertex appears three times differently to build the cube. We must associate with each vertex a different normal depending on the face we are building. • The cylinder consists of an assembly of three regular subvarieties (two disc bases and a rectangle). Each point of the cylinder's edge belongs to a base and to the rectangle, in other words each vertex appears twice differently to build the cube. Again, we must assign each vertex a different normal depending on the face we are building. The use of normals is standard in all 3D display libraries. The choice of one or more normals per vertex depends on the regularity of the surface. When the surface is decomposed into polygonal display primitives, the notion of regularity depends on the choice of the developer. In order to highlight a "volume", one often has to draw the wireframe representation. In general, it is simply a matter of drawing the edges of the display primitives. In mobility applications, the only display primitives are triangles organized into bands ("triangle strip") under M3G, around a center ("triangle fan") or independent of each other ("triangles") under OpenGL or Direct3D. However, displaying all the edges of all triangles is not only not necessary but also resource intensive. In some cases, if the display primitives remain definitively triangles, the logical primitives or "faces" can be more complex polygons: • Case of the cube: one is led to consider its faces which are squares which will be then decomposed into triangles for the plot. Nevertheless, to obtain a satisfactory wire representation, it suffices to draw the edges of each square rather than those of the triangles. • Case of the classical approximate decomposition of a sphere: in hexagons as for a football. The logical primitives are the hexagons which will then be broken down into triangles for the plot. In this case, it is sufficient to draw the edge of each hexagon to have a satisfactory wire representation of the sphere. • Case of the approximate decomposition of a cylinder: each base is a regular polygon and the height band is a succession of rectangles. It suffices to draw the outline of the two bases and the contours of the rectangles to obtain a suitable wire representation. Following the principle of pseudo-wired representation, the lines are drawn in the form of bands of unit width. Nevertheless, if a strip has a width, it has no thickness, since it is the drawing of a two-dimensional object. In other words, depending on the point of view adopted, the band will be or will not be visible (a band observed on the "slice" is not visible). It is therefore necessary to draw enough bands so that they are connected to each other and a line is visible regardless of the point of view where the edge is actually observable. To draw the edges, we rely on the same principle as the normals of light. The pseudo-wired representation of an edge must be optimally visible when looking at the edge of the face. It is therefore necessary to draw the band in the plane orthogonal to the normal. When it comes to drawing a path in the general sense of the term (pedestrian path, road, etc.), they can also be seen as bands of width not necessarily unitary around a polygonal guideline. The method described above allows to trace such paths. Nevertheless, it remains to determine the good normals to determine the planes in which to draw the bands. It is quite realistic to impose the band to be locally in the horizontal plane, especially in the case of a road since the roads are generally substantially parallel to the ground. Visible bands are then obtained optimally from above. However, if the path is on the ground or on any other surface, then it may seem more appropriate to introduce a parameterization of this surface. Each point of the path must be associated with the normal from the point and orthogonal to the surface. The path then marries the shape of the surface that supports it. The use of normals is based on the topology of the surface to be plotted. The coordinates of the vectors associated with the vertices, called "normal", can also be received from a server with the coordinates of these vertices. In general terms, it is possible to provide a method of drawing a polygonal line of a digital image, starting from an ordered 2D or 3D set of vertices, comprising the following steps, for at least one given vertex of this set: determining a point associated with that given vertex, the associated point being located at a fixed distance from a line corresponding to the given vertex and another vertex of the ordered set, the given vertex and the other vertex being consecutive in the ordered set, defining an ordered sequence of triangles, the vertices of said triangles being defined at least according to the associated point. Thus, it is possible to use a method of displaying surfaces of triangles to draw the polygonal line. The other vertex can follow or precede the given summit.

On peut imposer d'autres contraintes au point associé. Par exemple, on peut tenir compte d'un premier et d'un deuxième sommet voisins encadrant le sommet donné dans l'ensemble ordonné. Le point associé peut par exemple être déterminé de façon à ce qu'il soit situé à la distance fixée d'une droite correspondant à un premier sommet voisin et au sommet donné, et situé à la même distance fixée d'une droite correspondant au sommet donné et au deuxième sommet voisin. Other constraints may be imposed on the associated point. For example, a neighboring first and second vertex framing the given vertex in the ordered set may be considered. The associated point may for example be determined so that it is located at the fixed distance from a line corresponding to a first neighboring vertex and the given vertex, and located at the same fixed distance from a line corresponding to the vertex given and at the second neighboring summit.

Pour un sommet donné, on peut prévoir de déterminer plus d'un point associé. Par exemple, on détermine deux points associés, symétriques l'un par rapport à l'autre, comme les points CN-1 et GN-ide la figure 6. La suite ordonnée de triangles peut alors comporter seulement des triangles dont les 5 sommets sont des points associés. Alternativement, on peut prévoir que pour deux sommets consécutifs (le sommet donné et l'autre sommet) de l'ensemble ordonné de sommets, on choisisse le point associé à l'un de ces sommets (le sommet donné) de sorte que : 10 la droite passant par ce point associé et ce sommet est perpendiculaire à la droite passant par les deux sommets consécutifs, le point associé est à une distance fixée de ce sommet, le point associé est sélectionné en utilisant 15 l'ordonnancement de l'ensemble ordonné de sommets. Un tel procédé peut être appliqué en particulier pour déterminer le point associé à un sommet correspondant à une extrémité de ligne polygonale ouverte. On peut aussi choisir d'appliquer ce procédé aux autres sommets de 20 l'ensemble ordonné. Un sommet est alors associé à un ou deux points, ce qui multiplie le nombre de triangles de la suite ordonnée de triangles. De manière générale, l'invention n'est pas limitée par la façon dont le point associé est déterminé. For a given vertex, it can be expected to determine more than one associated point. For example, two associated points, symmetrical with respect to each other, are determined, such as points CN-1 and GN-ID in FIG. 6. The ordered sequence of triangles can then comprise only triangles whose 5 vertices are associated points. Alternatively, we can predict that for two consecutive vertices (the given vertex and the other vertex) of the ordered set of vertices, we choose the point associated with one of these vertices (the given vertex) so that: the line passing through this associated point and this vertex is perpendicular to the straight line passing through the two consecutive vertices, the associated point is at a fixed distance from this vertex, the associated point is selected using the ordered set ordering of vertices. Such a method can be applied in particular to determine the point associated with a vertex corresponding to an open polygonal line end. One can also choose to apply this method to the other vertices of the ordered set. A vertex is then associated with one or two points, which multiplies the number of triangles of the ordered sequence of triangles. In general, the invention is not limited by the way in which the associated point is determined.

Claims (9)

REVENDICATIONS 1. Module adapté pour le tracé d'une ligne polygonale d'une image 5 numérique, à partir d'un ensemble ordonné 2D ou 3D de sommets, comprenant - des moyens de calcul pour déterminer un point associé (Bn) à un sommet donné (An) de l'ensemble ordonné, ledit point associé étant situé à une distance fixée d'une droite correspondant au sommet (An_1) précédent dans l'ensemble ordonné le sommet donné et au 10 sommet donné, et situé à la même distance fixée d'une droite correspondant au sommet donné et au sommet (An+1) suivant dans l'ensemble ordonné le sommet donné, le point associé au sommet donné étant sélectionné en utilisant l'ordonnancement de l'ensemble de sommets, 15 des moyens pour définir une suite ordonnée de triangles, les sommets desdits triangles étant définis au moins en fonction des sommets de l'ensemble ordonné et du point associé. des moyens d'affichage des surfaces des triangles de la suite ordonnée. 20 A module adapted for drawing a polygonal line of a digital image from a 2D or 3D set of vertices comprising - computing means for determining an associated point (Bn) at a given vertex (An) of the ordered set, said associated point being located at a fixed distance from a line corresponding to the preceding vertex (An_1) in the ordered set to the given vertex and to the given vertex, and located at the same fixed distance from a straight line corresponding to the given vertex and the next vertex (An + 1) in the ordered set the given vertex, the point associated with the given vertex being selected using the set of vertices, means for defining an ordered sequence of triangles, the vertices of said triangles being defined at least according to the vertices of the ordered set and the associated point. means for displaying the surfaces of the triangles of the ordered sequence. 20 2. Procédé mis en oeuvre par des moyens de traitement, de tracé d'une ligne polygonale d'une image numérique sur un écran d'un terminal, à partir d'un ensemble ordonné 2D ou 3D de sommets, comprenant les étapes suivantes, pour au moins un sommet donné (An) suivant un premier sommet 25 voisin (An_.) et précédent un deuxième sommet voisin (An+1) dudit ensemble ordonné: al déterminer un point (Bn) associé au sommet donné, ledit point associé étant situé à une distance fixée d'une droite correspondant au premier sommet voisin et au sommet donné, et situé à la même distance fixée d'une 30 droite correspondant au sommet donné et au deuxième sommet voisin, le point associé au sommet étant sélectionné en utilisant l'ordonnancement de l'ensemble de sommets,b/ définir une suite ordonnée de triangles, les sommets desdits triangles étant définis au moins en fonction des sommets de l'ensemble et du point associé, et cl afficher les surfaces des triangles de la suite ordonnée de triangles sur l'écran du terminal. 2. A method implemented by means for processing, drawing a polygonal line of a digital image on a screen of a terminal, from an ordered 2D or 3D set of vertices, comprising the following steps, for at least one given vertex (An) following a first neighboring vertex (An_.) and preceding a second neighboring vertex (An + 1) of said ordered set: al determining a point (Bn) associated with the given vertex, said associated point being located at a fixed distance from a straight line corresponding to the first neighboring vertex and the given vertex, and located at the same fixed distance from a straight line corresponding to the given vertex and the second neighboring vertex, the point associated with the vertex being selected using scheduling the set of vertices, b / defining an ordered sequence of triangles, the vertices of said triangles being defined at least according to the vertices of the set and the associated point, and cl displaying the surfaces of the triangles of the s an order of triangles on the terminal screen. 3. Procédé de tracé d'une ligne polygonale selon la revendication précédente, comprenant en outre l'étape consistant à : définir un vecteur associé (Na) au sommet donné (An) et déterminer des premier (An,n_1) et second (An n+1) projetés en projetant orthogonalement respectivement les premier (An_1) et second (An+1) sommets voisins sur le plan (Pn) passant par le sommet donné et orthogonal au vecteur associé, et dans lequel, à l'étape al : la droite correspondant au premier sommet voisin et au sommet donné passe 15 par le premier projeté et par le sommet donné, et la droite correspondant au sommet donné et au deuxième sommet voisin passe par le sommet donné et le deuxième projeté. 3. A method of drawing a polygonal line according to the preceding claim, further comprising the step of: defining an associated vector (Na) at the given vertex (An) and determining first (An, n_1) and second (An n + 1) projected by orthogonally respectively projecting the first (An_1) and second (An + 1) neighboring vertices on the plane (Pn) passing through the given vertex and orthogonal to the associated vector, and in which, in step a1: the line corresponding to the first neighboring vertex and the given vertex passes through the first projected and the given vertex, and the line corresponding to the given vertex and the second neighboring vertex passes through the given vertex and the second projected. 4. Procédé selon la revendication 3, dans lequel le vecteur associé (-Ç'',) au 20 sommet donné (An) est obtenu à partir de sommets situés dans un voisinage du sommet donné. 4. The method of claim 3, wherein the associated vector (Ç '') at the given vertex (An) is obtained from vertices located in a neighborhood of the given vertex. 5. Procédé selon l'une quelconque des revendications 2 à 4 précédentes, dans lequel on réalise en outre l'étape consistant à déterminer un point milieu 25 (C•â ) du segment ayant pour extrémités le sommet donné (An) et le point (Bn,n) qui lui est associé ; et on détermine un point symétrique (~f72) du point milieu par rapport audit sommet donné ;les sommets des triangles de la suite ordonnée de triangles comportant ledit point milieu et ledit point symétrique. 5. A method according to any one of the preceding claims 2 to 4, wherein the step of determining a midpoint (C • â) of the segment having for its ends the given vertex (An) and the point is determined. (Bn, n) associated with it; and determining a symmetrical point (~ f72) of the mid point with respect to said given vertex; the vertices of the triangles of the ordered sequence of triangles comprising said midpoint and said symmetrical point. 6. Procédé selon la revendication 2 à 5 selon lequel, pour chaque sommet d'une pluralité de sommets de l'ensemble on associe un point respectif selon l'étape a/ ; et les sommets des triangles de la suite ordonnée de triangles sont définis au moins en fonction des sommets de l'ensemble et des point associés. 6. Method according to claim 2 to 5 wherein, for each vertex of a plurality of vertices of the set associates a respective point according to step a /; and the vertices of the triangles of the ordered sequence of triangles are defined at least according to the vertices of the set and the associated points. 7. Procédé selon l'une quelconque des revendications 2 à 6, selon lequel chaque triangle à compter du deuxième triangle selon l'ordre de la suite ordonnée de triangles, comporte deux sommets du triangle qui le précède selon ledit ordre et un sommet distinct des sommets dudit triangle qui le précède. 7. Method according to any one of claims 2 to 6, wherein each triangle from the second triangle in the order of the ordered sequence of triangles, has two vertices of the triangle preceding it in said order and a distinct vertex of vertices of said triangle which precedes it. 8. Procédé selon l'une quelconque des revendications 2 à 7, selon lequel les sommets des triangles de la suite ordonnée comportent les sommets de l'ensemble et le(s) point(s) associé(s) déterminé(s) selon l'étape a/. 8. Method according to any one of claims 2 to 7, wherein the vertices of the triangles of the ordered sequence comprise the vertices of the set and the associated point (s) determined according to the step a /. 9. Programme d'ordinateur comprenant des instructions pour mettre en oeuvre les étapes d'un procédé selon l'une des revendications 2 à 8 lors d'une exécution du programme par des moyens de traitement. 9. Computer program comprising instructions for implementing the steps of a method according to one of claims 2 to 8 during execution of the program by processing means.
FR0800727A 2008-02-11 2008-02-11 TRACE OF POLYGONAL LINES Expired - Fee Related FR2927449B1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
FR0800727A FR2927449B1 (en) 2008-02-11 2008-02-11 TRACE OF POLYGONAL LINES
PCT/FR2008/052435 WO2009101306A1 (en) 2008-02-11 2008-12-30 Polygonal line drawing
EP08872295A EP2240907A1 (en) 2008-02-11 2008-12-30 Polygonal line drawing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0800727A FR2927449B1 (en) 2008-02-11 2008-02-11 TRACE OF POLYGONAL LINES

Publications (2)

Publication Number Publication Date
FR2927449A1 true FR2927449A1 (en) 2009-08-14
FR2927449B1 FR2927449B1 (en) 2010-03-26

Family

ID=39639436

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0800727A Expired - Fee Related FR2927449B1 (en) 2008-02-11 2008-02-11 TRACE OF POLYGONAL LINES

Country Status (3)

Country Link
EP (1) EP2240907A1 (en)
FR (1) FR2927449B1 (en)
WO (1) WO2009101306A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4885703A (en) * 1987-11-04 1989-12-05 Schlumberger Systems, Inc. 3-D graphics display system using triangle processor pipeline
US20050030311A1 (en) * 2003-08-07 2005-02-10 Renesas Technology Corp. Data processor and graphic data processing device
US20060132495A1 (en) * 2004-12-21 2006-06-22 Anderson Michael H 2D/3D line rendering using 3D rasterization algorithms

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4885703A (en) * 1987-11-04 1989-12-05 Schlumberger Systems, Inc. 3-D graphics display system using triangle processor pipeline
US20050030311A1 (en) * 2003-08-07 2005-02-10 Renesas Technology Corp. Data processor and graphic data processing device
US20060132495A1 (en) * 2004-12-21 2006-06-22 Anderson Michael H 2D/3D line rendering using 3D rasterization algorithms

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
DEERING M ET AL: "THE TRIANGLE PROCESSOR AND NORMAL VECTOR SHADER: A VLSI SYSTEM FOR HIGH PERFORMANCE GRAPHICS", COMPUTER GRAPHICS, ACM, US, vol. 22, no. 4, 1 August 1988 (1988-08-01), pages 21 - 30, XP000618778, ISSN: 0097-8930 *
MERHOF D., SONNTAG M., ENDERS F., NIMSKY C., HASTREITER P., GREINER G.: "Hybrid Visualisation for White Matter Tracts using Triangle Strips and Point Sprites", IEEE TRANSACTIONS ON VISUALISATION AND COMPUTER GRAPHICS, vol. 12, no. 5, 2006, XP002493064 *

Also Published As

Publication number Publication date
FR2927449B1 (en) 2010-03-26
WO2009101306A1 (en) 2009-08-20
EP2240907A1 (en) 2010-10-20

Similar Documents

Publication Publication Date Title
Glander et al. Abstract representations for interactive visualization of virtual 3D city models
Schaufler et al. Ray tracing point sampled geometry
US20080238919A1 (en) System and method for rendering of texel imagery
JP5959637B2 (en) Rendering a text image that follows a line
Yemez et al. A volumetric fusion technique for surface reconstruction from silhouettes and range data
US8760451B2 (en) Rendering a text image using texture map character center encoding with character reference encoding
Friedman et al. Online facade reconstruction from dominant frequencies in structured point clouds
Mustafa et al. Hardware-assisted view-dependent map simplification
US8471853B2 (en) Reconstructable geometry shadow mapping method
CN108346169B (en) Two-dimensional vector rendering method and device
Minto et al. Online access and sharing of reality-based 3D models
FR2927449A1 (en) TRACE OF POLYGONAL LINES
CN112330769B (en) Method and device for generating dotted line texture and electronic equipment
Hu et al. True ortho generation of urban area using high resolution aerial photos
FR2974927A1 (en) DATA OPTIMIZATION FOR THREE DIMENSIONAL MODELING
Bateni et al. Plane embeddings of planar graph metrics
US11941746B2 (en) Accurate smooth occluding contours
Cohen Concepts and algorithms for polygonal simplification
US20240013486A1 (en) Blending elevation data into a seamless heightfield
Brédif Projective Texturing Uncertain Geometry: silhouette-aware box-filtered blending using integral radial images
US20130002679A1 (en) Rendering a text image using texture map character center encoding
Geisthövel et al. Toward Automatic Swiss Style Rock Depiction
Song Scalable Scene Modeling from Perspective Imaging: Physics-based Appearance and Geometry Inference
EP2192555B1 (en) Anzeige von parametrisierten Daten
Balzani et al. Using multiple scanning technologies for the 3d acquisition of torcello’s basilica

Legal Events

Date Code Title Description
CA Change of address
ST Notification of lapse

Effective date: 20141031