EP1738326A1 - Procede de generation graphique de lignes a extremites arrondies - Google Patents

Procede de generation graphique de lignes a extremites arrondies

Info

Publication number
EP1738326A1
EP1738326A1 EP05716964A EP05716964A EP1738326A1 EP 1738326 A1 EP1738326 A1 EP 1738326A1 EP 05716964 A EP05716964 A EP 05716964A EP 05716964 A EP05716964 A EP 05716964A EP 1738326 A1 EP1738326 A1 EP 1738326A1
Authority
EP
European Patent Office
Prior art keywords
line
lines
rectangle
elementary
equal
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.)
Withdrawn
Application number
EP05716964A
Other languages
German (de)
English (en)
Inventor
David THALES Intellectual Property ARNEAU
Eric THALES Intellectual Property FILLIATRE
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.)
Thales SA
Original Assignee
Thales SA
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 Thales SA filed Critical Thales SA
Publication of EP1738326A1 publication Critical patent/EP1738326A1/fr
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/00Two-dimensional [2D] image generation
    • G06T11/40Filling planar surfaces by adding surface attributes, e.g. adding colours or textures
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/00Two-dimensional [2D] image generation
    • G06T11/20Drawing from basic elements
    • G06T11/23Drawing from basic elements using straight lines or curves

Definitions

  • the field of the invention is that of graphic libraries providing graphic functions used for drawing symbological images.
  • One of the preferred fields of application is the generation of symbological images for piloting aircraft. These images are used in particular for navigation, piloting and management of critical systems, such as engine controls.
  • Graphic images are generated on matrix screens, such as, for example, liquid crystal displays.
  • the generation of the graphic image is done in the following way: a buffer memory called in English terminology "frame-buffer" is filled with the different symbologies necessary for the image, these symbologies generated by a symbol calculator being assigned an order of priority; when all the symbologies have been created in the buffer memory, its content is then sent to the display.
  • These graphic images are generated in real time.
  • the graphic symbols are represented by a set of broken lines comprising a succession of adjacent elementary straight lines.
  • the line is thick, it is represented by a rectangular line body, the width of the rectangle being equal to the thickness of the line and the length of the rectangle to the length of the line.
  • Figure 1 which represents the letter C.
  • the subject of the invention is a method of graphically generating a thick straight line, said line comprising a rectangular line body, the width of the rectangle being equal to the thickness of the line and the length of the rectangle to the length of the line, characterized in that the line body also comprises two half-discs centered on the sides of the rectangle of dimension equal to the thickness of the line, said half-discs having a diameter equal to this same thickness. It also relates to a method of graphically generating a broken line comprising a succession of adjacent elementary straight lines of the same thickness, each elementary line being represented by a rectangular line body, the width of the rectangle being equal to the common thickness.
  • each intersection of two adjacent successive lines forming a non-zero angle between them is constructed as follows: • the point of intersection of the two lines is located at center of the intersected sides of said lines; • the intersection comprises an angular sector centered on said point of intersection, of radius equal to half of the common thickness and of angle equal to the angle which said lines form between them.
  • the line bodies located at the free ends each comprise a half-disc having a diameter equal to the thickness of the broken line.
  • each elementary line is broken down into a central rectangle corresponding to the body of the line, the width of said rectangle being equal to the thickness of the line and the length of the rectangle to the length of the line and two rectangles peripherals located on the sides of the central rectangle, the length of said rectangles being equal to the thickness of the line and their width being equal to half of said length.
  • the matrix space of the display is broken down into angular sectors oriented with respect to a preferred oriented axis of the matrix, the decomposition comprises 8 sectors, first 4 sectors corresponding to the preferred axis of the matrix and to the oriented axes.
  • the method comprises a step of determining the lower left, lower right, upper right and upper left limit points of each rectangle composing each line as a function of the orientation of the line in the different angular sectors, the borders defining the pixels belonging the rectangles composing the line obey definition rules depending on the orientation of the line in the different angular sectors.
  • the color of each pixel of the line depends: • for the body of the line, the original color of the line, the background color on which the line is drawn and the distance from the pixel to the central axis of the line body; • for the half-discs of a straight line, the original color of the line, the background color on which the line is drawn and the distance of the pixel from the center of the half-disc; • for the angular sectors located at the intersection of two elementary lines, the original color of the lines, the color of the background on which the lines are drawn and the distance of the pixel to the point of intersection of the two lines.
  • Figure 1 represents the generation of a symbol according to the prior art ;
  • Figure 2 shows the generation of an elementary straight line according to the invention;
  • Figure 3 shows the generation of a broken line consisting of two elementary straight lines according to the invention;
  • Figure 4 shows the same symbol as that of Figure 2 but obtained by the method according to the invention;
  • Figure 5 shows the decomposition of the line according to the invention in elementary rectangles;
  • FIG. 6 represents the determination of the rows of pixels making up the elementary rectangles;
  • Figure 7 shows the method of filling pixels;
  • FIG. 8 represents a line drawn according to the invention with the so-called “anti-aliasing” method making it possible to attenuate the effects due to pixelation;
  • Figure 9 shows the determination of the angular sector at the intersection of two elementary lines.
  • FIG. 2 represents a line 1 according to the invention. It comprises: • a rectangular line body 2, the width 1 of the rectangle being equal to the thickness of the line and the length L of the rectangle to the length of the line, • two half-discs 3 centered on the sides of the rectangle of dimension equal to the thickness of the line, said half-discs having a diameter ⁇ equal to this same thickness, the centers A and B of each circle delimiting the half-discs being coincident with the centers of the sides of the corresponding rectangles.
  • FIG. 3 represents the generation of a broken line made up of two straight lines 10 and 11 elementary according to the invention. It includes: • a first line body 20 corresponding to line 10; • a second line body 21 corresponding to line 11, the point of intersection C common to the sides of the first line body 20 and the second line body 21 is located at the center of the intersected sides of said bodies 20 and 21; • a first half-disc 30 centered on the free end of the first line body 20; • a second half-disc 31 centered on the free end of the second line body 21; • an angular sector 32 centered on the point of intersection C, of radius equal to half of the common thickness and of angle equal to the angle that these lines make between them.
  • each elementary line is represented by a rectangular line body, the width of the rectangle being equal to the common thickness and the length of the rectangle.
  • each intersection of two adjacent successive lines forming a non-zero angle between them is constructed as follows: • the point of intersection of the two lines is located in the center of the intersected sides of said lines; • the intersection comprises an angular sector centered on said point of intersection, of radius equal to half of the common thickness and of angle equal to the angle which said lines form between them.
  • the line bodies located at the free ends each comprise a half-disc having a diameter equal to the thickness of the broken line.
  • FIG. 4 is an example of an open broken line according to the invention comprising 5 elementary straight lines. It represents the same symbol C as that of FIG. 2. In this case, it is clear that the symbol is much more readable, the discontinuities have disappeared.
  • any graphic image is made up of elementary pixels. Determining the pixels of the line and filling them with the appropriate color must meet three essential criteria. • the generation of a line according to the invention must contain only the pixels of the body of the line and of its rounded ends. • the buffer memory is a matrix memory composed of N rows denoted R composed of pixels P, each pixel comprising colorimetric information on the symbol to be traced. For reasons of ease of filling in the buffer memory, also called “frame- buffer ”, the different pixels making up the line are successively filled with the color information row by row. • applying to the pixels composing the line a method known by the Anglo-Saxon term of “antialiasing” making it possible to attenuate the visual effect due to the pixelation of the display.
  • This method consists in mixing for the pixels located at the borders of the elements of the line the color of the line with the background color by applying a mixing law depending on the distance of the pixel from the center of the line.
  • a method making it possible to correctly determine the pixels of the line according to the invention comprises the following steps: • Step 1: decomposition of the line into three elementary rectangles; • Step 2: decomposition of the display space into angular sectors and determination of the orientation of the line in said sectors; • Step 3: establishment of protocols for determining the pixels delimiting the elementary rectangles as a function of the angular sector occupied; • Step 4: determination of the extreme limit points of each rectangle as a function of the orientation of the line in said sectors, • Step 5: determination of the left and right increments making it possible to pass from one row to the next row, • Step 6 : application of the “anti-aliasing” method on the pixels selected by the previous steps.
  • the buffer memory in which the colors of each pixel of the line to be traced are stored is a matrix memory composed of R rows composed of N pixels P.
  • Step 1 consists in substituting for each half-disc a rectangle with one of the sides is confused with the base of the half-disc and whose width is equal to the radius of the half-disc.
  • the line thus modeled has three rectangles as shown in Figure 5: • A first rectangle 2 which constitutes the body of the line. It is defined by a central axis AB and is delimited by the 4 points 102, 105, 108 and 103; • A second rectangle 4 which includes the first half-disc 3 shown in dotted lines. It is delimited by points 101, 102, 103 and 104.
  • a third rectangle 4 which includes the second half-disc 3 shown in dotted lines. It is delimited by points 105, 106, 107 and 108. Each point is referenced in a reference (x, y) taken from the pixel matrix as shown in Figure 5. The x axis is chosen parallel to the rows of pixels .
  • Step 2 consists in locating the orientation AB of the central axis defining the line. This orientation is obtained by means of the angle ⁇ made by the axis defining the line with the axis x of the reference frame of the matrix as shown in Figure 5.
  • Step 3 consists of setting up a protocol for determining the pixels making up the limits of the elementary rectangles as a function of the angular sector occupied.
  • These limit pixel determination laws correspond to the real coordinates expressed in pixels of the limit points of the rectangles of the whole coordinates of pixels belonging to the matrix.
  • First law the coordinate of the pixel corresponds to the whole part of the real coordinate of the point
  • Second law the pixel coordinate corresponds to the integer part of the real coordinate of the point increased by 1. For example, if the coordinate of a point is 3.72, then the corresponding coordinate will be either 3 or 4.
  • Type of rectangle considered: rectangle constituting the body of the line or the half-discs; • Type of angular sector belonging to said rectangles.
  • Step 4 consists in determining lower left, lower right, upper right and upper left limit points of each rectangle as a function of the orientation of the line in said sectors. For reasons of ease of filling in the buffer memory, the different pixels making up the line are successively filled with the color information row by row starting from the lower left point of the rectangle until the upper right point. Determining these points is essential. It presents no difficulty, given that the rectangles are oriented. Again, these points will depend on the type of sector of the rectangles.
  • Step 5 consists in determining the left increments d G Auc HE and right doRoiT making it possible to determine the extreme points of a row R + 1 of pixels with respect to the previous row R so as to completely fill the pixels of each row.
  • a and B being the limit points of the central axis of the body of the line, if we denote by XA, A the coordinates of point A and XB, y- »the coordinates of point B, we easily determine that the increments dcAuoiE and d DRO I T are worth either ⁇ ⁇ ⁇ depending the orientation of the rectangle.
  • Figure 6 illustrates this step.
  • the lower left part of a rectangle 2 composing a line is represented on a matrix of pixels.
  • Point 103 represents the lower left point of the rectangle and point 102 represents the upper left point of the rectangle.
  • the values ⁇ GAUCHEI and ⁇ D Ro ⁇ have also been shown making it possible to determine the abscissae of the extreme points 122 and 123 of a row R + 1 relative to the extreme points 120 and 121 of the preceding row R when one starts from the lower point left 103.
  • the pixels belonging to the rectangle are represented by black diamonds in this figure.
  • FIG. 7 shows a line according to the invention with the direction of filling of the pixels of the line represented by two white lines, the pixels of the line being represented by black diamonds. At the end of step 5, all the pixels contained within the different rectangles making up a line are determined.
  • Step 6 consists in determining the color of the different pixels making up the line.
  • the transparency law depends: • for the body of the line, on the distance of the pixel from the central axis of the body of the line; • for the half-discs of a straight line, the distance from the pixel to the center of the half-disc, the law of transparency being zero for the pixels not belonging to the half-discs.
  • Figure 8 shows the representation of a gray line on a white background according to the invention. It has two rounded ends.
  • the pixels P1, P2 and P3 located at the periphery of the line have increasingly clear colors according to their distance d1, d2 and d3 from the axis of the line.
  • the pixels P4, P5 and P6 located on the periphery of the rounded end have increasingly clear colors according to their distance d4, d5 and d6 from the center C of the semicircle constituting the disc.
  • the preceding method comprises an additional step making it possible to manage the intersection of the consecutive lines.
  • Each elementary line of the broken line comprises, as in the previous case, a first rectangle which constitutes the body of the line, a second rectangle which includes the first half-disc, a third rectangle which includes the second half-disc.
  • the point of intersection C of two lines is located in the center of the sides of the rectangles constituting the body of the lines. To achieve a correct intersection, it is necessary to determine the points intersection boundaries. These limit points are points of the end rectangles of lines representative of the half-discs.
  • FIG. 9 represents the area of intersection of two lines in the pixel space. In FIG.
  • the rectangle 30 and 31 are shown in dotted lines.
  • the first rectangle 30 is delimited by the following points: Point 105 lower left limit Point 106 upper left limit Point 107 upper right limit Point 108 lower right limit
  • the second rectangle 31 is delimited by the following points: Point 109: lower left limit Point 110: upper left limit Point 111: upper right limit Point 112: lower right limit

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)
  • Digital Computer Display Output (AREA)
  • Processing Or Creating Images (AREA)

Abstract

Le domaine de l'invention est celui des bibliothèques graphiques fournissant des fonctions graphiques utilisées pour le tracé d'images symbologiques. L'objet de l'invention est de remplacer les lignes élémentaires rectangulaires par des lignes (10, 11) à extrémités arrondies (30, 31) de façon à éliminer les problèmes d'artefacts qui apparaissent lorsque l'on représente une ligne épaisse par un simple rectangle. L'invention décrit les différentes étapes du procédé de génération graphique de lignes selon l'invention dans le cas où il s'agit de lignes élémentaires ou de lignes brisées ouvertes ou fermées.

Description

PROCEDE DE GENERATION GRAPHIQUE DE LIGNES A EXTREMITES ARRONDIES
Le domaine de l'invention est celui des bibliothèques graphiques fournissant des fonctions graphiques utilisées pour le tracé d'images symbologiques. Un des domaines d'application privilégiée est la génération d'images symbologiques pour le pilotage des aéronefs. Ces images sont notamment utilisées pour la navigation, le pilotage et la gestion des systèmes critiques, comme les contrôles moteurs.
Les images graphiques sont générées sur des écrans matriciels, comme, par exemple, des afficheurs à cristaux liquides. La génération de l'image graphique se fait de la façon suivante : on remplit une mémoire- tampon appelée en terminologie anglo-saxonne « frame-buffer » avec les différentes symbologies nécessaires à l'image, ces symbologies générées par un calculateur de symboles étant affectées d'un ordre de priorité ; quand toutes les symbologies ont été créées dans la mémoire-tampon, son contenu est alors envoyé à l'afficheur. Ces images graphiques sont générées en temps réel.
Les symboles graphiques sont représentés par un ensemble de lignes brisées comprenant une succession de lignes droites élémentaires adjacentes. Lorsque la ligne est épaisse, on la représente par un corps de ligne rectangulaire, la largeur du rectangle étant égale à l'épaisseur de la ligne et la longueur du rectangle à la longueur de la ligne. Lorsque l'on crée une ligne brisée épaisse à partir de ces rectangles élémentaires, on obtient des discontinuités à la jonction de deux rectangles adjacents comme indiqué sur la figure 1 qui représente la lettre C. Ces discontinuités sont visuellement peu esthétiques et peuvent entraîner des confusions entre deux symboles voisins. L'objet de l'invention est de remplacer les lignes élémentaires rectangulaires par des lignes à extrémités arrondies de façon à éliminer ce problème. Plus précisément, l'invention a pour objet un procédé de génération graphique d'une ligne droite épaisse, ladite ligne comportant un corps de ligne rectangulaire, la largeur du rectangle étant égale à l'épaisseur de la ligne et la longueur du rectangle à la longueur de la ligne, caractérisé en ce que le corps de ligne comporte également deux demi-disques centrés sur les côtés du rectangle de dimension égale à l'épaisseur de la ligne, lesdits demi-disques ayant un diamètre égal à cette même épaisseur. Il a également pour objet un procédé de génération graphique d'une ligne brisée comportant une succession de lignes droites élémentaires adjacentes de même épaisseur, chaque ligne élémentaire étant représentée par un corps de ligne rectangulaire, la largeur du rectangle étant égale à l'épaisseur commune et la longueur du rectangle à la longueur de la ligne élémentaire, caractérisé en ce que chaque intersection de deux lignes successives adjacentes faisant entre elles un angle non nul est construit de la façon suivante : • le point d'intersection des deux lignes est situé au centre des côtés intersectés desdites lignes ; • l'intersection comporte un secteur angulaire centré sur ledit point d'intersection, de rayon égal à la moitié de l'épaisseur commune et d'angle égal à l'angle que font entre elles lesdites lignes. Avantageusement, lorsque la ligne brisée est ouverte, les corps de lignes situés aux extrémités libres comportent chacun un demi-disque ayant un diamètre égal à l'épaisseur de la ligne brisée. Avantageusement, dans une étape du procédé, chaque ligne élémentaire est décomposée en un rectangle central correspondant au corps de ligne, la largeur dudit rectangle étant égale à l'épaisseur de la ligne et la longueur du rectangle à la longueur de la ligne et deux rectangles périphériques situés sur les côtés du rectangle central, la longueur desdits rectangles étant égale à l'épaisseur de la ligne et leur largeur étant égale à la moitié de ladite longueur. Egalement, l'espace matriciel de l'afficheur est décomposé en secteurs angulaires orientés par rapport à un axe orienté privilégié de la matrice, la décomposition comprend 8 secteurs, 4 premiers secteurs correspondant à l'axe privilégié de la matrice et aux axes orientés respectivement à 90 degrés, 180 degrés et 270 degrés de cet axe, 4 seconds secteurs correspondant aux secteurs angulaires situés entre lesdits premiers secteurs. Avantageusement, le procédé comporte une étape de détermination des points limites inférieur gauche, inférieur droit, supérieur droit et supérieur gauche de chaque rectangle composant chaque ligne en fonction de l'orientation de la ligne dans les différents secteurs angulaires, les frontières définissant les pixels appartenant aux rectangles composant la ligne obéissent à des règles de définition dépendant de l'orientation de la ligne dans les différents secteurs angulaires. Enfin, la couleur de chaque pixel de la ligne dépend : • pour le corps de la ligne, de la couleur d'origine de la ligne, de la couleur du fond sur lequel la ligne est tracée et de la distance du pixel à l'axe central du corps de la ligne ; • pour les demi-disques d'une ligne droite, de la couleur d'origine de la ligne, de la couleur du fond sur lequel la ligne est tracée et de la distance du pixel au centre du demi- disque ; • pour les secteurs angulaires situés à l'intersection de deux lignes élémentaires, de la couleur d'origine des lignes, de la couleur du fond sur lequel les lignes sont tracées et de la distance du pixel au point d'intersection des deux lignes.
L'invention sera mieux comprise et d'autres avantages apparaîtront à la lecture de la description qui va suivre donnée à titre non limitatif et grâce aux figures annexées parmi lesquelles : • la figure 1 représente la génération d'un symbole selon l'art antérieur ; • la figure 2 représente la génération d'une ligne droite élémentaire selon l'invention ; • la figure 3 représente la génération d'une ligne brisée constituée de deux lignes droites élémentaires selon l'invention ; • la figure 4 représente le même symbole que celui de la figure 2 mais obtenu par le procédé selon l'invention ; • la figure 5 représente la décomposition de la ligne selon l'invention en rectangles élémentaires ; • la figure 6 représente la détermination des rangées de pixels composant les rectangles élémentaires ; « la figure 7 représente la méthode de remplissage des pixels ; • la figure 8 représente une ligne tracée selon l'invention avec la méthode dite d'« antialiasing » permettant d'atténuer les effets dus à la pixellisation ; • la figure 9 représente la détermination du secteur angulaire à l'intersection de deux lignes élémentaires.
La figure 2 représente une ligne 1 selon l'invention. Elle comporte : • un corps de ligne 2 rectangulaire, la largeur 1 du rectangle étant égale à l'épaisseur de la ligne et la longueur L du rectangle à la longueur de la ligne, • deux demi-disques 3 centrés sur les côtés du rectangle de dimension égale à l'épaisseur de la ligne, lesdits demi-disques ayant un diamètre φ égal à cette même épaisseur, les centres A et B de chaque cercle délimitant les demi-disques étant confondus avec les centres des côtés des rectangles correspondant.
La figure 3 représente la génération d'une ligne brisée constituée de deux lignes droites 10 et 11 élémentaires selon l'invention . Elle comprend : • un premier corps de ligne 20 correspondant à la ligne 10 ; • un second corps de ligne 21 correspondant à la ligne 11 , le point d'intersection C commun aux côtés du premier corps de ligne 20 et du second corps de ligne 21 est situé au centre des côtés intersectés desdits corps 20 et 21 ; • un premier demi-disque 30 centré sur l'extrémité libre du premier corps de ligne 20 ; • un second demi-disque 31 centré sur l'extrémité libre du second corps de ligne 21 ; • un secteur angulaire 32 centré sur le point d'intersection C, de rayon égal à la moitié de l'épaisseur commune et d'angle égal à l'angle que font entre elles lesdites lignes. D'une façon générale, pour toute ligne brisée comportant une succession de lignes droites élémentaires adjacentes de même épaisseur, chaque ligne élémentaire est représentée par un corps de ligne rectangulaire, la largeur du rectangle étant égale à l'épaisseur commune et la longueur du rectangle à la longueur de la ligne élémentaire, chaque intersection de deux lignes successives adjacentes faisant entre elles un angle non nul est construit de la façon suivante : • le point d'intersection des deux lignes est situé au centre des côtés intersectés desdites lignes ; • l'intersection comporte un secteur angulaire centré sur ledit point d'intersection, de rayon égal à la moitié de l'épaisseur commune et d'angle égal à l'angle que font entre elles lesdites lignes. Lorsque la ligne brisée est ouverte, les corps de lignes situés aux extrémités libres comportent chacun un demi-disque ayant un diamètre égal à l'épaisseur de la ligne brisée.
La figure 4 est un exemple d'une ligne brisée ouverte selon l'invention comportant 5 lignes droites élémentaires. Elle représente le même symbole C que celui de la figure 2. Dans ce cas, il est net que le symbole est beaucoup plus lisible, les discontinuités ont disparu.
Toute image graphique est composée de pixels élémentaires. La détermination des pixels de la ligne et leur remplissage avec la couleur appropriée doit respecter trois critères essentiels. • la génération d'une ligne selon l'invention doit contenir uniquement les pixels du corps de la ligne et de ses extrémités arrondies. • la mémoire-tampon est une mémoire matricielle composée de N rangées notées R composées de pixels P, chaque pixel comportant des informations colorimétriques sur le symbole à tracer. Pour des raisons de facilité de remplissage dans la mémoire-tampon, encore appelée « frame- buffer », on remplit successivement les différents pixels composant la ligne avec les informations colorimétriques rangée par rangée. • on applique aux pixels composant la ligne une méthode connue sous le terme anglo-saxon d' « antialiasing » permettant d'atténuer l'effet visuel dû à la pixellisation de l'afficheur. Cette méthode consiste à mélanger pour les pixels situés aux frontières des éléments de la ligne la couleur de la ligne avec la couleur du fond en appliquant une loi de mélange dépendant de la distance du pixel au centre de la ligne. A titre d'exemple, un procédé permettant de déterminer correctement les pixels de la ligne selon l'invention comporte les étapes suivantes : • Etape 1 : décomposition de la ligne en trois rectangles élémentaires ; • Etape 2 : décomposition de l'espace de l'afficheur en secteurs angulaires et détermination de l'orientation de la ligne dans lesdits secteurs ; • Etape 3 : mise en place de protocoles de détermination des pixels délimitant les rectangles élémentaires en fonction du secteur angulaire occupé ; • Etape 4 : détermination des points limites extrêmes de chaque rectangle en fonction de l'orientation de la ligne dans lesdits secteurs , • Etape 5 : détermination des incréments gauche et droit permettant de passer d'une rangée à la rangée suivante , • Etape 6 : application de la méthode d' « antialiasing » sur les pixels retenus par les étapes précédentes.
La mémoire-tampon dans laquelle sont stockées les couleurs de chaque pixel de la ligne à tracer est une mémoire matricielle composée de R rangées composées de N pixels P. L'étape 1 consiste à substituer à chaque demi-disque un rectangle dont un des côtés est confondu avec la base du demi-disque et dont la largeur est égale au rayon du demi -disque. La ligne ainsi modélisée comporte trois rectangles comme indiqué sur la figure 5 : • Un premier rectangle 2 qui constitue le corps de la ligne. Il est défini par un axe central AB et est délimité par les 4 points 102, 105, 108 et 103 ; • Un second rectangle 4 qui englobe le premier demi-disque 3 figuré en traits pointillés. Il est délimité par les points 101 , 102, 103 et 104. • Un troisième rectangle 4 qui englobe le second demi-disque 3 figuré en traits pointillés. Il est délimité par les points 105, 106, 107 et 108. Chaque point est référencé dans un repère (x, y) pris dans la matrice de pixels comme indiqué sur la figure 5. L'axe x est choisi parallèle aux rangées de pixels. En substituant ainsi les demi-disques qui sont des formes complexes à des formes rectangulaires plus simples, la gestion graphique en est d'autant simplifiée.
L'étape 2 consiste à repérer l'orientation AB de l'axe central définissant la ligne. Cette orientation est obtenue au moyen de l'angle θ que fait l'axe définissant la droite avec l'axe x du repère de la matrice comme indiqué sur la figure 5. On définit ainsi 8 secteurs angulaires selon la valeur de cet angle décrits ci-dessous : Secteur 0 : 0°<θ<90° Secteur 1 : 90°<θ<180° Secteur 2 : 180°<θ<270° Secteur 3 : 270°<θ<360° Secteur 4 : θ=90° Secteur 5 : θ=270° Secteur 6 : θ=0° Secteur 7 : θ=180° L'étape 3 consiste à mettre en place un protocole de détermination des pixels composant les limites des rectangles élémentaires en fonction du secteur angulaire occupé. En effet, les points définissant les limites des différents rectangles de la ligne ne correspondent pas, sauf exceptions, à des emplacements de pixels. Il faut donc nécessairement utiliser des lois permettant de déterminer les pixels fixant les limites des rectangles élémentaires. Ces lois obéissent à quatre critères essentiels : • remplir au mieux les surfaces occupées par les rectangles élémentaires ; • ne pas laisser de zones sans pixels à la frontière entre deux rectangles ; • ne pas avoir d'épaisseurs différentes le long de la ligne ; • ne pas remplir deux fois les pixels à la frontière entre deux rectangles.
Ces lois de détermination des pixels limites font correspondre aux coordonnées réelles exprimées en pixels des points limites des rectangles des coordonnées entières de pixels appartenant à la matrice. Il existe 2 grandes types de lois possibles • Première loi : la coordonnée du pixel correspond à la partie entière de la coordonnée réelle du point ; • Deuxième loi : la coordonnée du pixel correspond à la partie entière de la coordonnée réelle du point augmentée de 1. Par exemple, si la coordonnée d'un point est 3.72, alors la coordonnée correspondante sera soit 3, soit 4. Ces lois s'appliquent différemment selon deux critères : • Type de rectangle considéré : rectangle constituant le corps de la ligne ou les demi-disques ; • Type de secteur angulaire d'appartenance desdits rectangles.
L'étape 4 consiste à déterminer des points limites inférieur gauche, inférieur droit, supérieur droit et supérieur gauche de chaque rectangle en fonction de l'orientation de la ligne dans lesdits secteurs. Pour des raisons de facilité de remplissage dans la mémoire-tampon, on remplit successivement les différents pixels composant la ligne avec les informations colorimétriques rangée par rangée en commençant par le point inférieur gauche du rectangle jusqu'au point supérieur droit. La détermination de ces points est essentielle. Elle ne présente aucune difficulté compte-tenu que les rectangles sont orientés. Là-encore, ces points vont dépendre du type de secteur d'appartenance des rectangles. L'étape 5 consiste à déterminer les incréments gauche dGAucHE et droit doRoiT permettant de déterminer les points extrêmes d'une rangée R+1 de pixels par rapport à la rangée R précédente de façon à remplir complètement les pixels de chaque rangée. A et B étant les points limites de l'axe central du corps de la ligne, si on note XA, A les coordonnées du point A et XB, y-» les coordonnées du point B, on détermine aisément que les incréments dcAuoiE et d DROIT valent soit ± \ Λ selon l'orientation du rectangle. Pour déterminer les abscisses des points extrêmes d'une rangée par rapport à la précédente, il suffit d'ajouter les valeurs ÔGAUCHE et δoRoiTE aux abscisses des points extrêmes de la rangée précédente, avec : SGAUCHE = Y.dGAUCHE ÔDROITE = Y.dGAUCHE Y étant égal au pas des pixels. La figure 6 illustre cette étape. Sur cette figure, la partie inférieure gauche d'un rectangle 2 composant une ligne est représentée sur une matrice de pixels. Le point 103 représente le point inférieur gauche du rectangle et le point 102 représente le point supérieur gauche du rectangle. On a également représenté les valeurs ÔGAUCHEI et δDRoιτει permettant de déterminer les abscisses des points extrêmes 122 et 123 d'une rangée R+1 par rapport aux points extrêmes 120 et 121 de la rangée R précédente lorsque l'on part du point inférieur gauche 103. Les pixels appartenant au rectangle sont représentés par des losanges noirs sur cette figure. Comme on le voit sur la figure 6, lorsque l'on passe du point inférieur gauche au point supérieur gauche, on change de côté du rectangle et par conséquent, les incréments gauche dGAucHE2 et droit dDRorr2 permettant de déterminer les points extrêmes d'une rangée de pixels par rapport à la rangée précédente changent. De la même façon, lorsque l'on passe du point inférieur droit au point supérieur droit, on change de côté du rectangle et par conséquent, les incréments gauche dQAucHE et droit dDRorr permettant de déterminer les points extrêmes d'une rangée de pixels par rapport à la rangée précédente changent également. Pour déterminer à partir de quelle rangée les changements doivent intervenir, on calcule le nombre de rangées séparant deux points extrêmes gauches ou deux points extrêmes droits. La figure 7 montre une ligne selon l'invention avec le sens de remplissage des pixels de la ligne figuré par deux lignes blanches, les pixels de la ligne étant représentés par des losanges noirs. A la fin de l'étape 5, tous les pixels contenus à l'intérieur des différents rectangles composant une ligne sont déterminés.
L'étape 6 consiste à déterminer la couleur des différents pixels composants la ligne. On utilise la méthode d'« antialiasing » sur les pixels retenus. Elle consiste à mélanger pour les pixels situés aux frontières de la ligne la couleur initiale de la ligne avec la couleur du fond en appliquant une loi de mélange, fonction d'une loi de transparence dépendant d'un coefficient de transparence et des couleurs initiales de la ligne et du fond. Pour les lignes selon l'invention, la loi de transparence dépend : • pour le corps de la ligne, de la distance du pixel à l'axe central du corps de la ligne ; • pour les demi-disques d'une ligne droite, de la distance du pixel au centre du demi-disque, la loi de transparence étant nulle pour les pixels n'appartenant pas aux demi-disques. La figure 8 montre la représentation d'une ligne grise sur fond blanc selon l'invention. Elle comporte deux extrémités arrondies. Les pixels P1 , P2 et P3 situés en périphérie de la ligne ont des couleurs de plus en plus claire selon leur éloignement d1, d2 et d3 à l'axe de la ligne. Les pixels P4, P5 et P6 situés en périphérie de l'extrémité arrondie ont des couleurs de plus en plus claire selon leur éloignement d4, d5 et d6 au centre C du demi-cercle constituant le disque.
Lorsque l'on doit générer une ligne brisée comportant plusieurs lignes élémentaires, le procédé précédent comporte une étape supplémentaire permettant de gérer l'intersection des lignes consécutives. Chaque ligne élémentaire de la ligne brisée comprend, comme dans le cas précédent, un premier rectangle qui constitue le corps de la ligne, un second rectangle qui englobe le premier demi-disque, un troisième rectangle qui englobe le second demi-disque. Le point d'intersection C de deux lignes est situé au centre des côtés des rectangles constituant le corps des lignes. Pour réaliser une intersection correcte, il est nécessaire de déterminer les points limites de l'intersection. Ces points limites sont des points des rectangles d'extrémité de lignes représentatifs des demi-disques. La figure 9 représente la zone d'intersection de deux lignes dans l'espace des pixels. Sur la figure 9, on a représenté la partie supérieure du rectangle 20 et du rectangle 30 représentant l'extrémité de la première ligne 10 et on a également représenté la partie supérieure du rectangle 21 et du rectangle 31 représentant l'extrémité de la seconde ligne 1 1. Les rectangles 30 et 31 sont représentés en pointillés. Le premier rectangle 30 est délimité par les points suivants : Point 105 limite inférieure gauche Point 106 limite supérieure gauche Point 107 limite supérieure droite Point 108 limite inférieure droite
Le second rectangle 31 est délimité par les points suivants : Point 109 : limite inférieure gauche Point 110 : limite supérieure gauche Point 111 : limite supérieure droite Point 112 : limite inférieure droite
. On note également C le point d'intersection des deux lignes. Dans le cas présent, on ne remplit que les pixels appartenant à la zone 32, c'est-à- dire la zone limitée par les points 105, 112 et C.

Claims

REVENDICATIONS
1. Procédé de génération graphique d'une ligne brisée comportant une succession de lignes (10, 11) droites élémentaires adjacentes de même épaisseur, chaque ligne élémentaire étant représentée par un corps de ligne (20, 21) rectangulaire, la largeur du rectangle étant égale à l'épaisseur commune et la longueur du rectangle à la longueur de la ligne élémentaire, caractérisé en ce que chaque intersection de deux lignes successives adjacentes faisant entre elles un angle non nul est construit de la façon suivante : • le point d'intersection C commun aux deux lignes est situé au centre des côtés intersectés desdites lignes ; • l'intersection comporte un secteur angulaire (32) centré sur ledit point d'intersection, de rayon égal à la moitié de l'épaisseur commune et d'angle égal à l'angle que font entre elles lesdites lignes.
2. Procédé de génération graphique selon la revendication 1, caractérisé en ce que lorsque la ligne brisée est ouverte, les corps de lignes situés aux extrémités libres comportent chacun un demi-disque (30, 31) ayant un diamètre égal à l'épaisseur de la ligne brisée.
3. Procédé de génération graphique selon la revendication 1, caractérisé en ce que chaque ligne élémentaire est décomposée en un rectangle central (2) correspondant au corps de ligne, la largeur dudit rectangle étant égale à l'épaisseur de la ligne et la longueur du rectangle à la longueur de la ligne et deux rectangles (4) périphériques situés sur les côtés du rectangle central, la longueur desdits rectangles étant égale à l'épaisseur de la ligne et leur largeur étant égale à la moitié de ladite longueur.
4. Procédé de génération graphique selon la revendication 1, caractérisé en ce que l'espace matriciel de l'afficheur est décomposé en secteurs angulaires orientés par rapport à un axe orienté privilégié de la matrice.
5. Procédé de génération graphique selon la revendication 4, caractérisé en ce que la décomposition comprend 8 secteurs, 4 premiers secteurs correspondant à l'axe privilégié de la matrice et aux axes orientés respectivement à 90 degrés, 180 degrés et 270 degrés de cet axe, 4 seconds secteurs correspondant aux secteurs angulaires situés entre lesdits premiers secteurs.
6. Procédé de génération graphique selon les revendications 3 à 5, caractérisé en ce que la détermination des pixels délimitant les rectangles composant la ligne obéissent à des règles de définition dépendant de l'orientation de la ligne dans les différents secteurs angulaires.
7. Procédé de génération graphique selon les revendications 3 à 5, caractérisé en ce que le procédé comporte une étape de détermination des points limites inférieur gauche, inférieur droit, supérieur droit et supérieur gauche de chaque rectangle composant chaque ligne en fonction de l'orientation de la ligne dans les différents secteurs angulaires.
8. Procédé de génération graphique selon la revendication 1, caractérisé en ce que la couleur de chaque pixel de la ligne dépend : • pour le corps de la ligne, de la couleur d'origine de la ligne, de la couleur du fond sur lequel la ligne est tracée et de la distance du pixel à l'axe central du corps de la ligne ; • pour les demi-disques d'une ligne droite, de la couleur d'origine de la, ligne, de la couleur du fond sur lequel la ligne est tracée et de la distance du pixel au centre du demi-disque; pour les secteurs angulaires situés à l'intersection de deux lignes élémentaires, de la couleur d'origine des lignes, de la couleur du fond sur lequel les lignes sont tracées et de la distance du pixel au point d'intersection des deux lignes.
EP05716964A 2004-04-20 2005-03-09 Procede de generation graphique de lignes a extremites arrondies Withdrawn EP1738326A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0404147A FR2869146B1 (fr) 2004-04-20 2004-04-20 Procede de generation graphique de lignes a extremites arrondies
PCT/EP2005/051043 WO2005114580A1 (fr) 2004-04-20 2005-03-09 Procede de generation graphique de lignes a extremites arrondies

Publications (1)

Publication Number Publication Date
EP1738326A1 true EP1738326A1 (fr) 2007-01-03

Family

ID=34945437

Family Applications (1)

Application Number Title Priority Date Filing Date
EP05716964A Withdrawn EP1738326A1 (fr) 2004-04-20 2005-03-09 Procede de generation graphique de lignes a extremites arrondies

Country Status (5)

Country Link
US (1) US20070222784A1 (fr)
EP (1) EP1738326A1 (fr)
CA (1) CA2563803A1 (fr)
FR (1) FR2869146B1 (fr)
WO (1) WO2005114580A1 (fr)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2869145B1 (fr) * 2004-04-20 2006-09-15 Thales Sa Procede de gestion de lignes graphiques
FR2900527B1 (fr) * 2006-04-26 2008-09-26 Thales Sa Procede de codage d'une image numerique couleur comportant une information de ponderation
CN101093584B (zh) * 2007-08-02 2010-06-16 中兴通讯股份有限公司 粗线生成方法及装置
DE102008057512A1 (de) * 2008-11-15 2010-07-01 Diehl Aerospace Gmbh Verfahren zur Darstellung von Linienzügen
US8723868B2 (en) * 2010-09-23 2014-05-13 General Electric Company Systems and methods for displaying digitized waveforms on pixilated screens
US9183428B2 (en) * 2011-01-31 2015-11-10 Beijing Ereneben Information Technology Co., Ltd. Method and device for implementing original handwriting trace, and electronic device
CN103295252A (zh) * 2013-05-15 2013-09-11 广东威创视讯科技股份有限公司 基于OpenGL的线段绘制交点的平滑处理方法及系统
CN110136221B (zh) * 2019-04-12 2023-04-11 阿波罗智联(北京)科技有限公司 用于导航图层绘制的预处理方法及装置

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4601002A (en) * 1983-01-06 1986-07-15 The United States Army Corps Of Engineers As Represented By The Secretary Of The Army Digital technique for constructing variable width lines
NL8502643A (nl) * 1985-09-27 1986-04-01 Oce Nederland Bv Werkwijze voor het genereren van lijnstukken.
NL8503461A (nl) * 1985-12-17 1986-04-01 Oce Nederland Bv Werkwijze voor het genereren van lijnstukken.
US5274754A (en) * 1986-04-14 1993-12-28 Advanced Micro Devices, Inc. Method and apparatus for generating anti-aliased vectors, arcs and circles on a video display
US5208904A (en) * 1989-03-07 1993-05-04 Brother Kogyo Kabushiki Kaisha Data processing apparatus and method for preparing data representative of supplemental figure attached to basic figure reproduced on output medium
GB2244892B (en) * 1990-06-08 1994-12-14 Electronic Graphics Ltd Computer graphics
JP2606486B2 (ja) * 1991-06-24 1997-05-07 ブラザー工業株式会社 描画装置
JP2904673B2 (ja) * 1993-04-27 1999-06-14 シャープ株式会社 画像作成装置
FR2723797B1 (fr) * 1994-08-19 1996-09-20 Sextant Avionique Procede de codage de memoire image
JP3330030B2 (ja) * 1996-09-30 2002-09-30 株式会社東芝 データ処理装置
JP3485438B2 (ja) * 1997-04-16 2004-01-13 シャープ株式会社 グラフ表示機能を備えた電子式計算機
US5903279A (en) * 1997-12-17 1999-05-11 Industrial Technology Research Institute Method for antialiasing
US6329977B1 (en) * 1998-03-10 2001-12-11 Compaq Computer Corporation Pre-filtered antialiased lines using distance functions
US6628840B1 (en) * 2000-05-16 2003-09-30 International Business Machines Corporation Boundary mapping for multi-pel thickness lines
US6567099B1 (en) * 2000-11-15 2003-05-20 Sony Corporation Method and system for dynamically allocating a frame buffer for efficient anti-aliasing

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO2005114580A1 *

Also Published As

Publication number Publication date
FR2869146B1 (fr) 2006-09-15
FR2869146A1 (fr) 2005-10-21
US20070222784A1 (en) 2007-09-27
WO2005114580A1 (fr) 2005-12-01
CA2563803A1 (fr) 2005-12-01

Similar Documents

Publication Publication Date Title
EP1292921B1 (fr) Raffinement d&#39;un maillage triangulaire en trois dimensions
US6985160B2 (en) Type size dependent anti-aliasing in sub-pixel precision rendering systems
EP1738326A1 (fr) Procede de generation graphique de lignes a extremites arrondies
FR2638264A1 (fr) Procede pour minimiser la degradation visuelle de caracteres numerises, notamment lors de leur affichage sur un ecran
EP2504816B1 (fr) Procede d&#39;estimation de diffusion de la lumiere
CN100365659C (zh) 高质量抗混叠
FR2964775A1 (fr) Procede d&#39;estimation de l&#39;occultation dans un environnement virtuel
US20060039623A1 (en) Scaling of raster images without blurring of edges
Nonvide et al. Inclusion Financière Digitale et Croissance Economique dans L'espace UEMOA: Rôle de la Qualité des Institutions
WO2010003844A1 (fr) Procede de composition temps reel d&#39;une video
EP2444953A1 (fr) Dispositif d&#39;affichage matriciel de deux images fusionnees
EP3839733B1 (fr) Processeur graphique, plateforme comprenant un tel processeur graphique et un processeur central multicouleurs, et procédé de gestion de ressource(s) d&#39;un tel processeur graphique
EP1402474B1 (fr) Procede de zoom
US20180144451A1 (en) Cleartype resolution recovery resampling
EP1738327A1 (fr) Procede de generation graphique de vecteurs a contours sombres
CN113689333A (zh) 一种图像增强的方法及装置
WO1992008222A1 (fr) Procede d&#39;exploitation des couleurs sur ecran
Rougier [Re] Weighted voronoi stippling
Boldyš et al. Exemplar-based inpainting with rotation invariant patch matching
Nadia Reflextions Sur Le Referentiel De La Communication Et Son Eventail De Representations
WO2025114112A1 (fr) Procédé d&#39;analyse d&#39;au moins une image, dispositif électronique et produit programme d&#39;ordinateur correspondant
EP0610119A1 (fr) Procédé d&#39;élimination en temps réel des parties cachées d&#39;images de synthèse
WO1992007349A1 (fr) Procede d&#39;exploitation des couleurs sur ecran
EP4024341A1 (fr) Procédé de visualisation d&#39;un graphe dynamique, produit programme d&#39;ordinateur et système associés
WO2006003267A1 (fr) Procede de determination de liste d’elements potentiellement visibles par region pour des scenes 3d de tres grandes tailles representant des villes virtuelles

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20061025

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): DE FR GB

DAX Request for extension of the european patent (deleted)
RBV Designated contracting states (corrected)

Designated state(s): DE FR GB

17Q First examination report despatched

Effective date: 20070723

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20120413