Brevet FR2612664A1 — publié le 19880923

La présente invention est relative au tracé de courbes sur un écran graphique tel que par exemple un écran d un tube à rayons cathodiques et se rapporte plus particulièrement au tracé de courbes fermées du second degré. Les dispositifs décrits aux brevets français n 84 10 376 et 84 10 377 appartenant à la Demanderesse permettent de créer, de modifier et d'afficher des images graphiques sur 1 écran d'un tube cathodique. Les procédés classiques de tracé de cercles reposent sur des procédés de tracé de primitives graphiques par des méthodes itératives et incrémentales basées sur les travaux de Bressenham. Ces méthodes permettent de tracer des arcs de courbe mais imposent de tracer un cercle complet e huit arcs de cercle. soit en positionnant un curseur de trace huit fois, soit en utilisant huit curseurs et en traçant le cercle par symétries. L'invention vise à créer un procédé et un dispositif de tracé de courbes fermées du second degré en utilisant la technique décrite dans les documents précités de manière à tracer de telles courbes et notamment des cercles sur une image graphique de façon plus efficace que ne le permettent les procédés classiques développés jusqu'à présent a partir de l'algo- rithme de Bresuenham. Elle vise en particulier à créer un procédé de tracé dune courbe fermee du second degré complète avec un seul curseur parcourant de façon continue le périmètre de la courbe à obtenir, de façon continue. Elle a donc pour objet un procédé de tracé graphique point par point d au moins un arc de courbe fermée du second degré consistant à - diviser le plan destiné à contenir l arc de courbe en octants e prenant des axes perpendicu- laires X Y comme coordonrees fixes, - déterminer le nombre d octants que doit couvrir l'arc de courbe, - déterminer po r le premier octant en fonction de la pente de la angente à la courbe au point origine de l arc à tracer et du sens de déplacement sur la courbe un axe U g plus grand mouvement ou axe directeur et un axe V e plus petit mouvement ou axe secondaire, les axes U directeur et secondaire formant un repère de coardonnées relatives pour ledit octant, - tracer l'arc de courbe dans le premier octant par un procédé de tracé itératif, point par point en se servant du repère de coordonnées relativues, caracterisé en ce qu'il consiste en outre à - prendre comme origine du tracé dans le second octant le dernier point du tracé dans le premier octant, - déterminer pour le second octant en fonction de la pente d la tangente à la courbe à ce nouveau point origine et du sens de déplacement sur la courbe un nouveau repere U,V de coordonnées relatives pour le second octant, - calculer les valeurs initiales du tracé dans le second octant à partir des valeurs finales du premier octant, - tracer l'arc de courbe dans le second octant par un procédé itératif point par point en se servant du nouveau repère de coordonnées relatives, - recommencer les opérations de détermination du repère de coordonnées relatives et de tracé dans tous les octants que couvre l'arc de courbe. L'invention a également pour objet un dispositif de tracé destiné à la mise en oeuvre du procédé defini ci-dessus, caractérisé en ce qu'il com-porte une mémoire d'écran destinée à stocker les données relatives aux points d'un écran sur lequel la courbe doit etre tracée, un processeur de points destiné à modifier les données stockées dans la mémoire d écran aux emplacements de ladite mémoire d écran correspondant aux points du tracé à réaliser, un processeur d adresses destiné à commander l'accès à la mémoire d'écran et à réaliser les calculs nécessaires au déroulement de l'algorithme itératif et incrémental, le fonctionnement du processeur de points et les transferts de données entre le processeur de points et la mémoire d'écran afin d'assurer la modification cson contenu en fonction du tracé à réaliser, une mémoire CROM contenant des intructions relatives au changement de repère U,V de coordonnées relatives à chaque changement d octant ainsi que des instructions relatives aux tracés point par point des portions de courbes contenues dans chacun des octants couverts par l arc de courbe à tracer. Selon une caractéristique particulière de l'invention, le dispositif de tracé comporte en outre un multiplexeur d'adresses associé à la mémoire CROM, un registre d instruction destiné à recevoir et à transférer à la mémoire CROM des instrutions relatives à un tracé à réaliser et un compteur de direction de tracé dans les divers octants couverts par le tracé à réaliser,ledit compteur de direction étant commandé par les instructions de changement d octant contenues dans ladite mémoire CROM. Selon une autre caractéristique de 1' inven- tion, le dispositif comporte en outre des moyens de détermination du signe de la pente de la tangente à la courbe au point origine de 1 arc de courbe à tracer dans chaque octant, et des moyens de commande de changement d' octant, lesdits moyens de détermination de signe et de commande de changement d'octant étant associés à une unité arithmétique et logique de traitement du contenu des regitres dudit processeur d'adresses en fonction des instructions de la mémoire CROM. Selon une autre caractéristique de l'inven- tion, le dispositif comporte en outre des moyens de détermination du signe SGN d'un critère de décision. dans l'algorithme de tracé, et d'adaptation du critère de décision en fonction de l'octant de tracé pour obtenir des courbes parfaitement symétriques. Selon une autre caractéristique de l'in- vention, le dispositif comporte en outre des moyens de commande d'accès de données au processeur de points selon deux directions commandés par ladite mémoire CROM pour introduire dans les cellules de mémorisation dudit processeur de points des données relatives à la modification des données de la mémoire d'écran en fonction du tracé à réaliser et une unité arithmétique et logique également commandée par la mémoire CROM pour effectuer sur les données introduites dans le réseau de cellules de mémorisation du processeur de points, les opérations néce ss a i're s à la modification des données de la mémoire d'écran en vue du transfert aux emplacements correspondants de cette dernière des données modifiées en fonction du tracé à réaliser. Selon une autre caractéristique de l'invention, le dispositif comporte en outre un registre de couleur destiné à associer à chaque point du tracé à réaliser introduit dans la mémoire d'écran, après traitement par le processeur de points, des données de modifications de couleur en vue de permettre les opérations d'affichage du tracé à partir du contenu de ladite mémoire d'écran, modifié conformément au tracé à réaliser. L'invention sera mieux comprise à l'aide de la description qui va suivre, donnée uniquement à titre d'exemple et faite en se référant aux dessins annexés, sur lesquels - la Fig.1 montre une image graphique simple sur laquelle les points sont repérés en coordonnées X, Y; - la Fig.2 est un schéma d'une région d'affichage divisée en huit octants autour d'un point origine, sur laquelle sont portées huit directions C trace; - la Fig.3 montre un organigramme de la sequence de tracé d'un arc de courbe; - la Fig.4 montre un organigramme complet de tracé d'un arc de courbe du second degré; - la Fig.5 représente l'image d'un cercle tracé selon un procédé classique;; - la Fig.6 représente l'image d'un cercle tracé selon le procédé de l'invention; - la Fig.7 montre un algorithme d'un détail du calcul de T(U,V) pour une séquence de tracé DRAWCI; - la Fig.8 montre un algorithme de tracé d'un cercle de façon continue suivant le procédé de l'invention; - la Fig.9 représente un schéma synoptique du dispositif de tracé de cercle mettant en oeuvre le procédé de l'invention; - la Fig.10 représente l'algorithme de tracé d un cercle à l'aide du dispositif de la Fig.9; et - la Fig.11 représente le contenu de la mémoire de microcode du dispositif de la Fig.8. Avant de procéder à la description de 1' in- vention proprement dite ,on va donner ci-après une description d'un tracé de courbe reposant sur les méthodes itératives et incrémentales précitées. Une image graphique sur un dispositif d'affichage en XY est formée de lignes équidistantes de points colorés. Si l'axe de coordonnée X définit la position du point dans la ligne (axe horizontal) et l'axe de coordonnée Y définit la position de cette ligne à l'intérieur d'une trame (axe vertical) alors le centre d'un point coloré est défini par deux entiers x et y. Les axes X, Y représentent les deux dimensions de l'écran d'affichage et forment le repère de coordonnées absolues du système. La Fig.1 montre une image graphique simple et présente l'axe X, horizontal orienté de la gauche vers la droite; et l'axe Y vertical orienté du haut vers le bas de l'écran. Du fait de la nature essentiellement discre- te d'une image graphique, la représentation d'une courbe ne peut etre qu'une approximation de la courbe réelle. Avec les méthodes de type Bressenham, un arc de courbe est tracé en modifiant la couleur des points, situés au plus près de la courbe théorique. Cette modification est effectuée de façon itérative, point après point en se déplaçant le'long de l'arc, d'une extrémité vers l'autre extrémité de la courbe théorique. Le tracé d'un arc de courbe fait appel aux notions suivantes - direction de tracé, axe directeur, axe secondaire. La direction du tracé est définie par la pente de la tangente à la courbe et par le sens du déplacement sur la courbe. En fonction de ces deux paramètres sont associés à la direction : l'axe de plus grand mouvement (appelé axe U ou axe directeur). 1 axe de plus petit mouvement (appelé axe V ou axe secondaire). Ces axes peuvent être X orienté positivement, X orienté négativement, X Y orienté,positivement, Y+ Y orienté négativement, Y L'ensemble des axes U et V forme un repère de coordonnées relatives. La Fig.2 .présente huit directions de tracé, les axes X,Y et les axes U,V pour chacune des directions. Le tableau ci-dessous indique les relatior entre directions pente de la tangente et axes U.V. TABLEAU DIRECTION 0 1 2 3 4 5 6 7 RELATION AXE U U=X U=X U=-Y U=-Y U=-X U=-X U=Y U=Y RELATION AXE V V=Y V=-Y V=X V=-X V=-Y V=Y V=-X V=X PENTE SEGMENT 0 45 90 135 180 225 270 315 ANGLE DE à à à à a à à à (en degrés) 45 90 135 180 225 270 315 0 Sur la Fig.2. on a reporté le point O supposé etre le point tracé à l'étape en cours de la séquence itérative de tracé. A partir du point O pris comme origine, le plan est divisé en huit octants dé finis par les axes de 'oordonnées orthogonaux fixes X,Y et par les deux @issectrices des angles qu'ils forment. Ce point O a huit voisins immédiats, les points A,B,C,D,E,F,G.H situés sur les limites des huit octants précités. Le poi t modifié à l'étape suivante est fonction de la pente e la tangente à la courbe au point 0.Si par exempt la pente est comprise entre O et 45 (direction O le prochain point tracé sera soit A, soit B. Le ch x entre A et B doit ètre fait en fonction de la posit on de 1 arc de courbe théorique Cth par rapport à ce deux points : si la distance dv entre le point B et le point auquel la courbe théorique coupe le segment AB est inférieure à 0,5AB, le point B doit être choisi. Si cette distance est supérieure à 0,5AB,le point A doit être choisi. Dans le cas où dv est égal à 0.5AB on doit choisir soit A soit B de façon arb;traire. Ainsi, l'algorithme de tracé itératif doit maintenir un critére de décision traduisant la comparaison de la distance dv par rapport à la valeur 0,5AB qui est en fait égale à 0,5 car les points A et B se trouvent sur des ligne dont l'intervalle est égal à l'unité, et permettant de choisir la meilleure approximation de la courbe théorique.Dans le cas d'une courbe théorique du second degré, l'équation polynomiale de la courbe ramenée dans le repère relatif d'axes U,V s'écrit pour un point de coordonnées (u.v) placé sur la courbe G (u,v) = a u2 + b v2 + c u v + d u + e v + k O (1) Si le point (u,v) n'est pas situé exactement sur la courbe, il existe une distance dv telle que G (u, v+dv) = O (2) Des équations (1) et (2), on peut déduire que le signe de l'expression T (u,v) si dessous est le reflet de la comparaison de dv par rapport à 0,5. T (u.v) = 2a u2 + 2b v2 + 2 c u v + (2d+c)U + 2(b+e)v + 2k + e (3) Dans le cas où G (u,v) est négatif, "T(u,v) positif", indique que dv est supérieur à 0,5. Un algorithme de la séquence de tracé d'un. arc de courbe est représenté à la Fig.3. L'algorithme représenté à la Fig.4 est le meme que celui de la Fig.3 mais montre le détail ( calcul de T(u+1 v). Cette sequence appelée DRAWC utilise les variables suivantes T : équation de décision SGN: signe, critère de décision P : incrément d'ordre 2 selon la coordonnée U S : incrément d'ordre 2 selon la cordonnée v I1: incrément d'ordre 1 I2: incrément d'ordre 1 I3: incrément d'ordre 1 PM1: compteur de boucle PM2: nombre de points à tracer Comme on peut le voir à la Fig.3, au cours de l'étape d'initialisation 1,on détermine la position (u,v) des coordonnées du curseur, la direction de tracé DIR, le nombre de points NBP, la position de compteur de boucle PM1 = 0. Au cours de l'étape 2, on incrémente le compteur de boucle PM1 + 1 -- > PM1. Au cours de l'étape 3, on calcule T (a+1, v) et on établit le signe SGN de T (u+1 , v). Au cours de l'étape 4, on détermine si le contenu du compteur de boucle est égal au nombre NBP de points à tracer. Dans l'affirmative, le tracé est terminé. Dans le cas contraire, on déplace le curseur U+1 -- > U au cours de l'étape 5. Au cours de l'étape 6, on verifie Si le signe SGN = 1. Dans l'affirmative v+1 -- > v Dans le cas contraire v -- > v Au cours de l'étape 7, on trace le point choisi par le curseur et on revient a l retape 2 en vue de recommencer les calculs pour déterminer la suite du trace. Dans l'algorithme de la Fig.4. 1 étape 3 de calcul de T (u+1,v) comprend une étape 3A de test du signe de T qui a lieu immédiatement a prés l étape 2 d'incrémentation du compteur de boucle. Si le signe SGN = O, on procède au cours de l'étape 3B à l'établissement des valeurs. T + P -- > T par incrémentation selon la coordonnée U si T > O 0-- > SGN Si T SGN si T=O 0-- > SGN P + I1 S + I -- > S si le signe SGN = 1, on procède au cours de l'étape 3C à l'établissement des valeurs T + S -- > T par incrémentation selon la coordonnée V si T > O O -- > SGN Si T SGN Si T=O O -- > SGN P + I2 -- > P S + I3 -- > S A l'issue des étapes 3A ou 3B, on reprend l'étape d'interrogation 4 décrite en reférence à la Fig.3. Un procéde classique de tracé d'un cercle va maintenant être décrit en référence à la Fig.5. Selon ce procédé classique, un cercle est tracé en utilisant une séquence DRAWC de tracé d'arc de courbe décrite en référence aux Fig.3 et 4, en positionnant le curseur huit fois pour tracer les arcs de chacun des huit octants : M1-N1, M2-N1, M2-N2, M3-N2, M3-N3, M4-N4 et M1-N4 . Sur la Fig.5. les flèches placées dans chacun des octants indiquent les directions correspondantes des tracés à réaliser pour engendrer les divers arcs de cercle. Le tracé précité peut également etre réalisé en utilisant plusieurs curseurs et en créant les arcs par symétries. Selon le procédé de l'invention, le tracé d'un cercle est réalisé comme représenté à la Fig.6, de façon continue, octant après octant, en partant de M1 et en passant successivement toujours dans le même sens par N1, M2, N2 et ainsi de suite jusqu'au retour à M1. Un tel procédé dont les arcs contenus dans les octants successifs sont touJours parcourus dans le meme sens peut être réalisé au moyen des algorithmes représentés aux Fig.7 et 8. L'algorithme présenté à la Fig.B résoud le problème du passage des valeurs finales, obtenues après le tracé d'un arc de cercle, aux valeurs initiales necessaires pour le tracé de l'arc de cercle suivant. Il résoud aussi le problème de la symétrie du tracé qui doit ètre parfaite par rapport aux axes horizontal et vertical mais aussi par rapport aux axes diagonaux à 45 et à 135 Pour obtenir un cercle symétrique, les arcs de cercle sont traces alternativement soit avec la sé queoce DRAwC, soit avec la séquence DRAWCI.La séquence DRAWCI diffère de la séquence DRAWC uniquement par la génération du critère de decision SGN qui comme on peut le voir à la Fig.7 est inverse de celui de la séquence DRAWC représenté à la Fig.4 . Une autre façon de procéder est d utiliser touJours la même séquence de tracé d'arc, mais de rendre la génération de SGN dépendante d une variable externe DRC variant alternativement à chaque arc tracé. C'est cette méthode décrite dans l'algorithme de la Fig.lO qui sera utilisée dans la suite. L'algorithme de la Fig.8 comporte une étape 10 de mise en place du curseur en.M1 qui est l'origine du tracé. Cette étape est suivie d'une étape 11 d'ini- tialisation au cours de laquelle, on établit les valeurs NBP, I1 = - 2, 12 = - 2, 13 = - 4. Au cours de l'étape 12 suivante, an calcule les valeurs T (0,0) -- > T S (0,0) -- > S P (0,0) -- > P O -- > PM1 DIR + 1 -- > DIR NBP -- > PM2 Puis au cours de l'étape 13, on procéde à la séquence DRAWC de tracé d'un arc de cercle. Au cours de l'étape 14, on établit les valeurs (S + 3)/2 -- > DA T - DA -- > T - P + S + 1 -- > P PM2 + DA + 1 -- > PM2 O -- > PMî > 0IR + 1 -- > DIR en vue de l'exécution de l'étape 15 correspondant à une séquence DRAWCI de tracé de l'arc de cercle sui-' vant. On revient alors à l'étape 12 pour effectuer les calculs nécessaires à la réalisation d'L e séquence DRAWC suivante. Le dispositif de tracé de cercle conformément au procédé de l'invention est représenté a la Fig.9. Il comprend un processeur d'adresses désigné par la référence générale 20, un processeur de points designé par la référence générale 21 et une mémoire CROM 22 destinée à contrôler le fonctionnement de ces deux processeurs. La CROM 22 contient en particulier les données relatives aux différentes directions U,V à adopter pour le tracé des portions de courbe dans chacun des octants couverts par celle-ci. Le processeur d'adresses 20 comprend deux piles N et P de registres 24, 25 utilisés comme pointeurs d'accès à une mémoire d'écran ou comme variable d'incrément ou de calcul. Les registres 24 et 25 sont reliés d'une part à un registre de transfert 26 lui-meme connecté à un bus d'adresses et à un bus de donnees et d autre pa à une unité arithmétique et logique 27 au moyen de bus N et P 28 et 29. L'unité arithmétique et logique 27 est en outre reliée à un registre à décalage å gauche 30 qui est éventuellement utilisé pour faire une di ision par deux. L'unité aritht tique et logique 27 et le registre à décalage 3C ont commandés par la CROM 22 qui est également reliée u registre de transfert 26. L'unité aritheétique et logique 27 comporte une sortie de signe co bectée à l'entrée d'une porte OU EXCLUSIF 31 dont la sortie est connectée a l'entrée D d'une bascule SGN 32 de mémorisation du signe de T. connectée à la CROM 22. Une autre bascule 33 destinée au choix du calcul a effectuer pour un changement d'octant est connectée d'une part à l'autre entrée de la porte 31 et d'autre part à la CROM 22. Un registre BI 34 destiné à étre charge avec un code correspondant au tracé d'une courbe et connecté à une unité centrale de traitement non représentée ou à toute autre source de données de tracé d'une courbe. Il est relié à la CROM 22 par un multiplexeur 37 d'adresses. Dans le présent exemple, le circuit logique 35, connecté d'une part au registre 34 et d'autre part à la CROM 22, est destiné à déterminer les intervalles de temps au cours desquels les calculs de tracé de courbe qui sont des opérations de priorité moindre que d'autres opérations peuvent être effectuées par le dispositif. Un compteur de direction 36 commandé par le signal C-CL de changement d'octant est en outre connecté au registre 34. Un multiplexeur 37 d'adresses connecté au registre BI 34 est associé à la CROM 22. Le processeur de points 21 est constitué par une matrice d'éléments de mémoire accessibles selon deux axes X,Y. Un compteur ADY 40 est associé à la matrice 21 en vue d'assurer l'accès à celle-ci par la vbie Y. Il est contrôlé par des signaux d'horloge et il est associé à un multiplexeur 41 connecté d'une part a la sortie d'une mémoire NP-1 42 et d'autre part à un compteur ADX 43 d'accès à la matrice 21 par la voie X. Le comparateur 46, connecté d'une part à la mémoire 42 par l'intermédiaire d'un multiplexeur 45 et d autre part au compteur ADY 40, génère le signal EQPP, relié à une entrée du multiplexeur 37 d adresses CROM. Une unité et logique LU 47 est associée à la matrice 21 qui est par ailleurs reliée au bus de données par l'intermédiaire de registres 48 et 49 d'écran ture en X et Y. L'unité logique 47 est reliée à la voie X et effectue des fonctions logiques entre le bus de données auquel l'unité 47 est connectee et le contenu de la matrice lu par la voie X. Les processeurs d'adresses 20 et de points 21 sont contrôlés par des bits de microcodes issus de la CROM 22. Les adresses de la CROM 22 sont génerées par le multiplexeur 37 qui combine les bits d'adresse issus de la sortie de la CROM avec des signaux issus des différents blocs logiques du circuit. Le circuit de la Fig.9 comporte en outre un dispositif 51 de commande d'acces dynamique connecté à la CROM 22 et commandé par le circuit logique de cycle de second plan 35. Ce dispositif 51 a été décrit en détail aux brevets français n 77 31 140 et 83 03 143 appartenant à la Demanderesse et sera appelé ci-après DMA. Les bus d'adresses et de données sont enfin reliés par l'intermédiaire d'un circuit interface 52 à une mémoire d'écran 53 destinée à contenir les données relatives à tous les points d'un écran sur lequel une image doit être affichée. Dans le cas du tracé d'une courbe suivant l'invention, les données contenues dans les cellules de la mémoire qui doivent participer au tracé de la courbe subissent dans le processeur de points 21 des modifications conformément à des instructions contenues dans la CROM 22 et traitées par le processeur d'adresses 20 pour être ensuite stockées à nouveau dans la mémoire d'écran et constituer dans celle-ci une image virtuelle de la courbe à tracer. DES.CRIPTION DES BITS DE MICROCODE DISPONIBLES SUR LES SORTIES CORRESPONDANTES DE LA CROM 22. Les microcodes de la liste qui suit sont désignés par une abréviation suivie de chiffres désignant le nombre de bits. Ainsi C-JADD5-O désigne le code JADD comportant six bits J5 à JO. Sélection d'adresses C-JADD5-O J5 J4 J3 J2 J1 JO C-JMUX2-0 M2 M1 MO L'adresse JADD est générée par la CROM 22. Suivant la valeur de JMUX certain bits peuvent être remplacés afin de choisir un microcode en fonction d'un signal qui est appliqué au multiplexeur que commandent les trois bits de JMUX. Les conditions de sélection sont les suivantes C-JMUX = 000 Mnemonique JUNC Les six bits JO à J5 générés par la CROM 22 durant le microcode en cours sélectionnent l'adresse du prochain microcode à exécuter. C-JMUX = 001 Mnemonique JSGN L'adresse du prochain microcode est générée à partir des bits J5 à J1, le bit JO étant remplacé par le signal SGN. Si SGN=O l'adresse est J5 J4 J3 J2 J1 0 Su SGN=1 l adresse est J5 J4 J3 J2 J1 1 C-JMUX= 010 Mnemonique JC1 L'adresse du prochain microcode est générée à partir des bits J5 à J3. -J2 est remplacé par le signal EQ1.2 issus. de la comparaison entre les registres PM1 et PM2 de la pile 24. -J1 est remplacé par le OU EXCLUSIF entre D et D1 issus du compteur de direction DIR 36. -JO est remplacé par D1 issus du compteur DIR 36. La prochaine adresse est J5, J4 J3 EQ1.2. (02 XOR D1), D1. C-JMUX=O11 Mnemonique 1C2: L'adresse du prochain microcode est générée à partir des bits J5 à J3. -J2 est remplacé par le signal SGN. -J1 est remplacé par le OU EXCLUSIF entre D2 et 00 issus du compteur de direction DIR 36 -JO est remplacé par le complément de D1 issu du compteur DIR 36. La prochaine adresse est J5, J4, J3, SGN, (D2 XOR DO). comp 01. C-JMUX= 100 Mnemonique JDRC: L'adresse du prochain microcode est générée à partir des bits J5 à J1, le bit JO étant remplacé par le signal DRC. Si DRC=O l'adresse est J5 J4 J3 J2 J1 0 Si DRC=1 l'adresse est J5 J4 J3 J2 J1 1 C-JMUX= 101 Mnemonique JEQPP: L'adresse du prochain microcode est générée partir des bits J5 à J1. le bit JO étant remplacé par le signal EOPP. S1 EûPP=O l'adresse est J5 J4 J3 J2 J1 0 Si EQPP=1 l'adresse est J5 J4 J3 J2 J1 1 C-JMUX= 110 Mnemonique JZERO: L'adresse du prochain microcode est générée à partir des bits J5 à J1, le bit JO étant remplacé par 1e signal ZERO issu de l'ALU 27. Si ZERO=O l'adresse est J5 J4 J3 J2 J1 0 Si ZERO=1 l'adresse est J5 J4 J3 J2 J1 1 C-JMUX= 111 Mnemonique JBI: L'adresse du prochain microcode est générée à partir des bits J5 a J4, les bits J3 à JO étant remplacés par les bits BI3 a BI0 du registre 81 34. La prochaine adresse est J5 J4 BI3 812 811 BI0 Signaux de transfert entre BUS du processeur d adresses: C-DN Si C-DN=1. le bus de donnees est transféré sur le bus N 28 du processeur d adresses 20. C-DP Si C-DP-1, le bus de données est transféré sur le bus P 29 du processeur d adresses 20. C-ND Si C-ND=1, le bus N 28 du processeur d'adresses est transféré sur le bus de données. C-PD Si C-PD=1, le bus P 29 du processeur d'adresses est transféré sur le bus de données. C-NA Si C-NA=1, le bus N 28 du processeur d'adresses est transféré sur le bus d'adresses. C-PA Si C-PA=1, le bus P 29 du processeur d'adresses est transféré sur le bus d'adresses. C-NADD3-0 Les bits NADD3 à NADDO selectionnent l'un des 16 registres de la pile N 24 du processeur d'adresses. C-PADD3-O Adresses de registre pile P Les bits PADD3 à PADDO sélectionnent l'un des 16 registres de la pile P 25 du processeur d'adresses. C-ALU3 -O Les bits ALU3 à ALUO sélectionnent le coae d'opération de I ALU 27 du proceseur d adresses 20. Dans les valeurs qui suivent Bus F désigne les données présentes sur le bus F 27a de liaison de 1 ALU 27 avec le registre à décalage 30. Si ALU3-0 = 0000 Bus F= bus P 0001 Bus F= bus N 0010 Bus F= inverse bus P 0011 Bus F= inverse bus N 0100 Bus F= bus P + bus N 0@01 0110 Bus F= inverse bus P + bus N 0111 Bus F= inverse bus N + bus P 1000 Bus F= bus P + 1 1001 Bus F= bus N + 1 1010 Bus F= bus P - 1 1011 Bus F= bus N - 1 1100 Bus F= bus P + bus N + 1 1101 1110 Bus F= nverse bus P + bus N + 1 1111 Bus F= inverse bus N + bus P + 1 C-SH Si C-SH=1, le bus F 27a est décalé d'une position vers la gauche le bit vacant étant remplacé par un zéro. Le résultat s t placé sur les bus P et N 29 et 28. Si C-SH=O, le @us F est directement connecté aux bus P et N 29 et 28 C-WN Si C-WN:1 le contenu du bus N 28 est trans-féré dans le registre de la pile 24 sélectionné par l'adresse NADD3-0. Si C-WN=O. le contenu du registre de la pile 24 sélectionné par l'adresse NADD3-O est transféré sur le bus N 28. C-WP Si C-WP=1 le contenu du bus P 29 est transféré dans le registre de la pile 25 sélectionné par l'adresse PADD3-0. Si C-WP=O le contenu du registre 25 sélectionné par l'adresse PADD3-0 est transféré sur le bus P 29. C-CL Si C-CL=1 , la bascule 32générant SGN est remise à zéro. Le bit de CROM C-DRC est transféré dans la bascule 33 générant DRC et le compteur de direction DIR 36 est incrémenté. C-SGN Si C-SGN=1 , le OU EXCLUSIF (constitué par le signal de sortie de la porte 31) entre le signe généré par la dernière opération de l'ALU 27 du processeur d adresses 20 et le signal DRC de la bascule 33 est chargé dans la bascule 32 générant SGN. C-DRC La valeur de C-DRC est chargée dans la bascule 33 générant DRC lorsque C-CL=1. C-ENFC Si C-ENFC=1, la logique 35 de cycle de "second plan" génère le signal de fin de cycle. C-PALU3-0 Les bits PALU3 a' PALUO sélectionnent le code d opération de l'ALU 47 du processeur de points 21. Dans ce qui suit, Bus XS et Bus XE désignent respectivement les données présentes sur les Bus XS et XE 21A et 218 de liaison de la matrice de points 21 avec l'ALU 47. Si PALU3-0= 0000 Bus XS= bus données 0001 Bus XS= bus O 0010 Bus XS= bus 1 0011 Bus XS= inverse bus XE 0100 Bus XS= OU entre bus données et bus XE 0101 Bus XS= ET entre bus données et bus XE 0110 1 111 C-XD Si C-XD=1, le bus X du processeur de points 21 est transféré sur le bus de donnees. C-DX Si C-DX=1, le bus de données est transféré sur le bus X du processeur de points 21. C-YD Si C-YD=1, le bus Y de processeur de points 21 est transféré sur le bus de données. C-DY Si c-DY=1 , le bus de données est transféré sur le bus Y du processeur de points 21. C-SY Si C-SY:1 , le compteur 40 d'adresses ADY évolue dans le sens croissant à chaque signal d'horloge C-HY. Si C-SY=0, le compteur 40 d'adresses ADY évolue dans le sens décroissant à chaque signal d'horloge C-HY. C-HY Si C-HY=1 le compteur 40 d'adresses ADY évolue dans le sens déterminé par C-SY. C-MY2 - O Les bits C-MY2-0 contrôlent les bornes d'évolution du compteur ADY 40. Si C-MY2=0. le signal EûPP=1 est généré si l'état du compteur ADY 40 est égal à NP-1 (nombre de plans - 1). Si C-MY2=1, le signal EQPP=1 est généré si l'état du compteur ADY 40 est égal zero. Si C-MY1-0=00, le compteur ADY 40 est initialisé avec la valeur zéro. Si C-MY1-0=01, le compteur ADY 40 est initialisé avec la valeur NP-1. Si C-MY1-0=10, le compteur ADY 40 est initialisé avec le contenu du compteur ADX 43. C-SX Si C-SX=1, le compteur 43 d'adresses ADX évolue dans le sens croissant a chaque signal d'horloge C-HX. Si C-SX=0. le compteur 43 d'adresses ADX évolue dans le sens décroissant à chaque signal d'horloge C- HX. C-HX Si C-HX=1 , le compteur 43d'adresses ADX évolue dans le sens déterminé par C-SX. C-SRAM Si C-SRAM=1, la mémoire d images 53 est reliée au bus de données et sélectionnée à l'adresse générée sur le bus d'adresses par l'intermédiaire du bloc 52. C-WRAM Si C-WRAM=1, le cycle d'écriture mémoire d'image est sélectionné. Le contenu du bus de données est transféré à l'adresse sélectionnée. Si C-WRAM=O, le cycle de lecture mémoire est sélectionné. Le contenu de la mémoire sélectionné à l'adresse corespondante est transféré sur le bus de données. C-WMAT Si C-WMAT=1, le cycle d'écriture dans la m trice du processeur de points 21 est sélectionné. L contenu du bus de données est transféré à l'adresse sélectionnée par l'un des compteurs 'd adresse ADX ou ADY 43 ou 40. Si C-WRAM=O, le cycle de lecture matrice est sélectionné selon le processus inverse. C-XYMAT C-XYMAT=1 sélectionne l'accès à la matrice du processeur de points 21 par la voie X. C-XYMAT=D sélectionne l'accès à la matrice par la voie Y. C-RCR Si C-RCR=1,le contenu du registre de couleur 50 est transféré sur le bus données. Le tracé d'un cercle est réalisé à l'aide du circuit de la Fig.9 en exécutant L'algorithme repré senté à la Fig.10 d'après le contenu de la CROM 22 représenté à la Fig.11. Chaque ligne de la CROM contient un microcode à exécuter tandis que chaque colonne désigne un bit de microcode disponible sur une sortie correspondant à la CROM 22. On commence par assurer l'initialisation du système en mettant a zéro les registres 24 et 25 du processeur d'adresses et les bascules 32, 33. Cette opération est réalisée au cours de l'étape 60 de l'organigramme de la Fig.10. On procède ensuite au tracé d'un arc de cercle contenu dans un octant de la Fig.6. A cet effet, on effectue le calcul du critère de décision au cours de l'ensemble d'étapes 61. Ensuite au cours des étapes 62, on procède au déplacement du curseur sur l'axe directeur U à partir de l'origine du trace. Au cours de l'ensemble 63 d'étapes suivantes, on assure le déplacement conditionnel du curseur sur l'axe secondaire V de l'octant considère. Au cours de l'ensemble d étapes 64, on procède au tracé du point obtenu dans la mémoire d ' cran 53. Au cours des étapes désignées par la référence générale 65, on effectue les calculs de fin d octant. Au cours des étapes 66, on calcule les valeurs initiales pour le tracé de l'arc de cercle contenu dans l'octant suivant. Enfin, on procède au test de fin de l algo- rithme. L'initialisation des registres 24 et 25 du processeur d'adresses 20 est réalisée à l'aide de 1 algorithme de la Fig.10 qui est décrit dans le cas du tracé d'un cercle complet et qui utilise une seule instruction dite de "second plan". Les paramètres du cercle à tracer sont pro grammés avant l'exécution du tracé en mode dit "de premier plan". Les modes de fonctionnement dits "de premier plan" et "de second plan" sont définis dans la description du brevet français n 84 10 377 appartenant à la Demanderesse et ayant pour titre " Procédé et sys thème pour l'affichage d'informations visuelles sur un écran par balayage par ligne et point par point de trames vidéo". Pour le tracé du cercle les paramètres suivants sont chargés dans les registres 24 et 25. Registre '25 également appelé pile P de re- gistres. 0 1 PM1 = O 2 PM2 = Nombre de points à tracer du rant un octant 3 4 T = Rayon du cercle en nombre de points 5 S = (R x 2) - 3 6 I1 = -2 7 I2 = -2 8 I3 = -4 9 = 2 A PMT = Adresse du premier point du cercle 8 LP = Nombre de cadrans à tracer (4 cadrans pour un cercle com plet) C D E F Registre 25 ég. ement appelé pile N. 0 1 = 0 2 NBP = N nbre de points à tracer du @ nt un octant 3 4 P 5 SO 6 DA 7 8 = -7 9 = 2 A NP = Nombre de plans (Incrément pour un déplacement horizon tal) B LL = Lcngueur de la ligne (Incré ment pour un déplacement ver tical) C O E F On procède ensuite au début du chargement du registre BI 34. Le registre 34 est chargé avec le code correspondant au tracé du cercle. Le circuit logique 35 d'éxécution du cycle "de second plan" génère une demande de cycle transmis à un dispositif DMA d'accès dynamique à la mémoire non représente, associé aux registres 24 et 25. Le compteur de direction 36 est chargé avec le numéro de l octant à tracer en premier lieu. La valeur chargée dans le registre BI 34 est la suivante DIR - 1 ! ! 1 1 1 1 On determine ensuite le point d'entrée dans la mémoire CROM 22. Avant le chargement du registre B1 34 l'a- dresse de la CROM 22 est égale à zéro. Etant donné que le contenu du registre 34 est également égal à zéro, le mode de saut JBI maintient l'adresse du prochain microcode à exécuter à 00 (Fig. 10 et 11). Lorsque le registre 34 est chargé les bi' B13 à B10 sont à 1 et le prochain microcode à exécuter est a l'adresse OF. Au cours de l'exécution du microcode OF au cours de laquelle il y a transfert du registre S de la pile P au registre SD de la pile N (Fig.9). Le contenu du registre S sélectionné par l'adresse PADD =@5 est transféré dans le registre SD à l'adresse NADO = 5. La valeur S est placée sur le bus P 29 puisque WP = O sélectionne le mode de lecture de la pile P du registre 20. L'opération exécutée par le circuit ALU 27 est C-ALU3-0 = O. Le contenu du bus P 29 est transféré au bus F 27a et ensuite au bus N 28. Le signal WN de validation du registre N 24 étant égal à 1, le contenu du bus N 28 est transféré dans le registre SD de la pile de registre 20. JMUX = 0 sélectionne le mode de saut JUNC, et le prochain microcode à exécuter est à l'adresse M11. L'éxécution du microcode M11 comporte - l'incrément du pointeur PM1 = PM + 1 - le test de SGN En début d'éxécution du microcode, le contenu du registre PM1 de la pile 25 sélectionné par PADD = 1 est placé sur le bus P 29. L'incrément de PM1 est exécuté par l'unité arithmétique et logique ALU 27 lors d'une opération C-ALU=8 qui correspond à l opéra- tion F = P + 1 et le résultat est transféré sur le bus P 29, puis écrit à la même adresse puisque WP = 1 sélectionne l'écriture dans la pile P de registres 25. Le mode de saut JSGN à l'adresse de base 12permet l éxécution du prochain microcode à l'adresse 12 Si SGN = O ou a l'adresse M13 si SGN = 1. L'éxécution des microcodes M12, M14 et M15 va maintenant être decrite. Durant 1' éxécution du microcode M11 Si SGN=0. les microcodes M12, M14 et M15 sont exécutés dans l'ordre selon le processus décrit précédemment. Microcode M12 - T+P - > T - Positionnement de SGN en fonction du signe de T et de DRC - JUNC au microcode M14 Microcode 14 - P+I1 - > P - JUNC au microcode M15 Microcode 15 - SD-I2 - > SD - JC1 à l adresses de base 1'8 Durant l'éxécution du microcode M12, les registres P et T sont sélectionnés dans les piles N 24 et P 25 par les adresses NADD = 4 et PADD = 4. F=P+N est sélectionné par 1 opération ALU=4. WP étant à 1, le résultat est placé dans la pile P à l'adresse PADD = 4.Le signe de l'opération T = T+P qui est généré par l'ALU 27 est combiné par la porte OU EXCLUSIF 32 avec DRC = O issus de la bascule 33, et le résultat est chargé dans la bascule 32 par le signal C-SGN = 1 issu de la CROM 22. Ce nouveau signe sera utilisé durant la prochaine itération. Durant le microcode M14, selon le même processus, le registre P de la pile N 24 est incrémenté de la valeur I1 et le résultat est placé dans le registre P. Durant le microcode M15 SD est incrémenté de la valeur I3. L'exécution des microcodes M13, M16 etM 17 est réalisée comme suit. Durant l'exécution du microcode 11 si SGN=1 les microcodes M13, M16 et M17 sont exécutés dans 1 ordre selon le meme processus que celui déci t précédemment. M13 - T+SD - > T ~ Positionnement de SGN en fonction du signe de T. et de DRC - JUNC au microcode M16 M16 - P+12 - > P - JUNC au microcode M17 M17 - SD+I3 - > SD - JC1 a l'adresse de base 18 L'exécution d'un microcode M18 à M1F est réalisée comme suit. Les suites de micrcodes M12, M14 et M15 ou M13, M16 et M17 ont permis de calculer le critère de décision qui est utilisé pour déplacer le curseur. Il s'agit maintenant de déplacer le curseur sur l'axe directeur U si l'octant complet n'a pas été tracé c'est à dire si PM1 n'est pas égal à PM2. En cas d'égalité entre PM1 et PM2, il y a changement d'oc tant, il faudra alors calculer les valeurs initiales permettant de tracer l octant suivant, à partir des valeurs finales de l'octant en cours. Durant l'exécution des microcodes M15 et M17, la condition de saut JC1 permet de choisir suivant la valeur du signal EQ1.2 (13) le prochain microcode à exécuter parmi deux séries M18, M19, MIA et M18 Si EQ1.2=0 ou M1C, M1D, M1E et M1F s'il y a égalité entre PM1 et PM2. Dans ce dernier cas l'un des quatre microcodes est exécuté en fonction de la sélection par les signaux 02, XOR, D1 et D1. Ces quatre microcodes exécutent la même fonction - Transfert du contenu du registre SD de la pile N 24 dans le registre S de la pile P 25. - JUNC a l'adresse 28 S'll n'y a pas égalité, le tracé de l'octant n'est pas terminé, il faut déplacer le curseur selon l'axe directeur. Il y a quatre cas possibles selon les huit valeurs du compteur de direction de tracé DIR 36. DIR D2 D1 D0 D2 XOR D1 D1 INCREMENT Ad microcode 0 0 0 0 0 Dx+ 18 0 0 1 0 0 Dx+ 18 0 1 0 1 1 Dy- 1B 0 1 1 1 1 Dy- 1B 1 0 0 1 0 Dx- 1A 1 0 1 1 O Dx- 1A 1 1 0 0 1 Dy+ 19 1 1 1 0 1 Dy+ 19 L'éxécution du microcode M18 est assurée comme suit. Le pointeur est incrémenté sur l'axe X. Le compteur ADX 43 est incrémenté par le signal C-HX=1 dans le sens positif sélectionné par C-SX=1. Le compteur ADX 43 génère un signal EQPI = 1 s'il y a débordement de mot c'est à dire si ADX change de la valeur F à zéro. Le pointeur PMT est incrémenté dans le processeur d'adresses par l'opération PMT + NP seulement si EQPI = 1 qui valide le signal d'écriture WP = 1 dans la pile P25. ce qui correspond à un déplacement vers la droite de l'écran. L'éxécution du microcode M1A est assurée comme suit. L'opération est identique mais le pointeur est décrémenté sur l'axe X. Le compteur ADX 43 e - décrémenté (C-SX=O > et PMT = PMT-NP Si EQPI=1, ce qi correspond à un déplacement vers la gauche de l'écran. L'éxécution du microcode M19 est assurée comme suit. Le pointeur est incrémenté sur l'axe Y. PMT est incrémenté dans le processeur d'adresses 20 par l'opération PMT=PMT+LL qui correspond à un déplacement vertical vers le bas de l'écran. L'éxécution du microcode M1B est assurée comme suit. Le 'pointeur est décrémenté sur l'axe Y. PMT est décrémenté dans le processeur d adresses 20 par l'opération PMT=PMT-LL qui correspond à un déplacement vertical vers le haut de l'écran. L'éxécution d'un des microcodes 20 à 28 va maintenant être décrite. Après le déplacement systématique du curseur selon l'un des axes X ou Y, il faut éxécuter le déplacement conditionnel selon l'axe opposé dans l'une des quatre directions. La co ition de saut JC2 des microcodes M18, M19, M1A et M1B permet d'effectuer ce déplacement seulement Si SGN=1 en exécutant l'un des microcodes M24, M25, M26 ou M27 qui est sélectionné par les signaux 02, D et DO issus du compteur de direction DIR 36. Dans e cas où SGN=0. il n'y a pas de déplacement de curse et l'un des quatre microcodes M20, M21, M22 ou M j est éxécuté selon la valeur de D2 et D1. Ces quatre microcodes contiennent seulement un saut inconditio@nel au microcode M34. Si SGN=1, l'un des quatre microcodes M24, M25, M26 ou M27 est exécuté en fonction de la sélec-tion par les signaux D2 XOR DO et D1 complémenté. 11 y a quatre cas possibles selon les huit valeurs du compteur de direction de tracé DIR. DIR D2 D1 D0 D2 XOR D1 D1 INCREMENT Ad microcode 0 O 0 0 7 Dy+ 25 O 0 1 1 1 Dy- 27 0 1 0 0 O Dx+ 24 0 1 7 1 3 Dx- 26 1 0 0 1 1 Dy- 27 1 0 1 0 1 Dyg 25 1 1 0 1 0 Dx- 28 1 1 1 0 0 Dx+ 24 L'éxécution du microcode M24 est identique à celle du microcode M18. L'éxécution du microcode M25 est identique à celle du microcode M19. L'éxécution du microcode M26 est identique à celle du microcode M1A. L'éxécution du microcode M27 est identique à celle du microcode M1B. Le prochain microcode est sélectionné par un saut inconditionnel à l'adresse 34. On va maintenant décrire l'éxécution des microcodes de la branche M34. Après déplacement des curseurs et du compteur d'adresse ADX 42 du processeur de points, il faut tracer le point dans la mémoire d'écran 53. il faut lire les N mots correspondant au nombre de plans NF, modifier la couleur du point sélectionné dans la matrice par l'adresse ADX et retransférer le résultat dans la mémoire d'écran 53 aux memes adresses. Les microcodes M34 et M35 transfèrent les mots situés aux adresses PMT à PMT+NP-1 dans 3 ma-trice M21 respectivement aux adresses ADY=O à ADY= NP-1 Le microcode M36 modifie la couleur du point situé à l'adresse ADX, la nouvelle couleur étant mémorisée dans le registre de couleur 50 qui est validé sur le bus, donnée par C-CRC=1, transféré sur le bus XS par la fonction PALU=O, puis écrit dans la matrice par la voie X (C-WMAT=1 et XYMAT=1). Les microcodes M38 et M39 exécutent l opéra- tion inverse de transfert de la matrice dans la mémoire. L'adresse ADY évolue à chaque transfert de NP-1 à zéro tandis que l'adresse d'écriture dans la mémoire évolue de PMT+NP-1 à PMT. En fin d'éxécutien, le nouveau point est tracé de la même façon en éxécutant de nouveau l'algorithme à partir du microcode M11. On va maintenant décrire l éxécution des microcodes de la branche M28. Dans le cas de la branche M28, le dernier point de l'octant à été tracé. Il s'agit maintenant de calculer les valeurs initiales contenues dans les différents registres du processeur d'adresses 20 afin de tracer l'octant suivant sans intervention de l'unité centrale pour reprogrammer ces registres, Deux cas sont possibles suivant la valeur de DRC, 26, 2A, 29, 2C, 20 et 2E si DRC=O ou 28, 2B, 2F, 30, 31, 32 Si DRC=1. Cas DRC=0. Les valeurs initiales de P, T, S,PM2 et PM1 sont obtenues à partir des valeurs courantes par les équations suivantes - PM1=0 - S = S+2 - DA = S+1/2 - P = compl P+S - T = T - OA - PM2 = PM2 + DA + 1 - SGN = O - DIR = DIR+I - DRC = 1 L'éxécution du microcode M28 est assurée comme suit. Le microcode M28 est commun aux deux branches M2A et M2B. il remet à zéro le registré PM1 de la pile P 25 qui évolue de O à PM2 durant le tracé d'un octant. NADD=1, PADD=1, ALU=1 (F=N). . La valeur O contenue dans le registre 1 de la pile N est transférée en sortie de l'ALU 27, le signal WP étant à 1. Le résultat de l'ALU est transféré dans la pile P à l'adresse 1. La condition de saut JDRC permet de se bran cher au microcode M2A si DRC=O ou M2B si, DRC1=1. L'éxécution du microcode M2A permet d'effectuer la fonction S = S + 2. PADD=5, NADD=9, ALU=6 (F=P+N), WP=1. Le résultat de l'opération effectuée dans le registre P et dans le registre N est transféré dans le registre P. En fin d'éxécution, il y a branchement inconditionnel au microcode M29. L'éxécution du microcode 29 permet d'effectuer la fonction DA = S + 1/2. NAOD=6, PADD=5, ALU=8 (F=P+1), WN, C-SH=1. Le résultat de l'opération dans le registre S + 1 est décalé d'un bit à gauche, ce qui effectue la division par 2. Le résultat est placé dans le registre DA de la pile N 24. En fin d'éxécution, il y a branchement in-conditionnel au microcode M2C. L'éxécution du microcode M20 est assurée comme suit. L'opération P= complément de P + S est équivalente à P = S - P - 1. Les valeurs de microcode sont les suivantes : NADD=4, PADD=5 ALU=7 (F=inverse N+P) WN. En fin d'éxécution, il y a branchement inconditionnel au microcode M2D. L'exécution du microcode M2D est assurée comme suit. L'opération T = T - DA est équivalente à T + compl DA + 1. MADD=6. PADD=4, ALU=F (F=inverse N + P + 1), WP. Le résultat de l'opération est placé dans le registre T de la pile P 25. En fin d'éxécution, il y a branchement inconditionnel au microcode M2D. L'éxécution du microcode M2E permet d'éxécuter l'opération suivante PM2 = PM2 + DA + 1, NADD=6, PASS=1, ALU=C (F = P+N+1). WP. La bascule 32 est remise à zéro par le bit C-CL=1 qui incrémente aussi le compteur 36 de direction DIR= DIR+1 et positionne la bascule 33 à DRC=1. Au prochain passage au microcode 28, JDRC choisira la branche M28 qui exécute une série différente d'opérations correspondant au début d'un octant pair. Cas DRC:l Les valeurs initiales de P, T, S, PM2 et PM1 sont obtenues à partir des valeurs courantes par les équations suivantes - PM1 = 0 - S = compl S-7 - P = P + 2 - T = compl T - PM2 = N8P - SGN = 0 - DIR = DIR+1 - DRC = O L'éxécution des microcodes de la branche M2B est similaire au cas précédent. Elle permet d initias liser les registres dans le cas du début d'un octant pair. Le dernier microcode de la branche (M32) teste si les huit octants du cercle ont été tracés. Après décrément du registre LP de la pile P 25, la condition JZERO OE permet d'éxécuter le microcode de fin de cycle OE qui remet à zéro la logique 35 de cycle de second plan ou de continuer l'éxécution de l'algorithme à l'adresse OF. REVENDICATIONS 1. Procédé de tracé graphique point par point d au moins un arc de courbe fermé du second dégré consistant -à - diviser le plan destiné à contenir l'arc de courbe en octants en prenant des axes perpendiculaires X, Y comme coordonnées fixes, - déterminer le nombre d octants que doit couvrir 1 arc de courbe, - déterminer pour le premier octant en fonction de la pente de la tangente à la courbe au point origine de l'arc à tracer et du sens de déplacement' sur la courbe un axe U de plus grand mouvement ou axe directeur et un axe V de plus petit mouvement ou axe secondaire, les axes U,V directeur et secondaire fo?- mant un repère de coordonnées relatives pour leditoctant, - tracer l'arc de courbe dans le premier octant par un procédé de tracé itératif point par point en se servant du repère de coordonnées relatives, caractérisé en ce qu'il consiste en outre à - prendre comme origine du tracé dans le second octant le dernier point du tracé dans le premier octant, - déterminer pour le second octant en fonction de la pente de la tangente à la courbe à ce nouveau point origine et du sens de déplacement sur la courbe un nouveau repère U,V de coordonnées relatives pour le second octant, - calculer, à partir des valeurs du dernier point tracé dans le premier octant contenues dans des registres, les valeurs initiales associées à ce nouveau repère U,V utilisé pour le tracé dans le second octant, - tracer l'arc de courbe dans le second octant par un procédé itératif point par point en se servant du nouveau repère de coordonnées relatives, - recommencer les opérations de détermination du repère de coo onnées relatives et de tracé dans tous les octants qu couvre l'arc de courbe. 2. Procédé uivant la revendication 1 caractérisé en ce qu' 1 consiste à déterminer pour chaque octant le signe ( 'iN, d'un critère de décision servant au tracé de l'arc de courbe dans l'octant correspondant. 3. Dispositif de tracé destiné à la mise en oeuvre du procédé suivant la revendication 1, carac térisé en ce qu'il comporte une mémoire d'écran (53) destinée a stocker les données relatives aux points d'un écran sur lequel la courbe doit etre tracée, un processeur de points (21) destiné à modifier les données stockées dans la mémoire d'écran (53 > aux emplacements de ladite mémoire d'écran correspondant aux points du tracé à réaliser, un processeur d'adresses (20) destiné à c mmander l'accès à la mémoire d'écran (53) et à réaliser les calculs nécessaires au déroulement du tracé itératif, le fonctionnement du processeur de points (21) et les transferts de données entre le processeur de points (21) et la mémoire d écran (53) afin d'assurer la modification de son contenu en fonction du tracé à réaliser, une mémoire CROM (22) contenant des intructions relatives au changement de repère U,V de coordonnées relatives à chaque changement d octant ainsi que des instructions relatives aux tracés point par point des portions de courbes contenues dans chacun des octants couverts par l'arc de courbe à tracer. 4. Dispositif de tracé suivant la revendication 3, caractérisé en ce qu'il comporte en outre un multiplexeur d'adresses (37) associé à la mémoire CROM (22), un registre d'instruction (34) destiné à recevoir et à transférer à la mémoire CROM (22) des instrutions relatives à un tracé à réaliser et un compteur (36) de direction de tracé dans les divers octants couverts par le tracé à réaliser ,ledit compteur de direction étant commandé par les instructions de changement d'octant contenues dans ladite mémoire CROM (22). 5. Dispositif de tracé suivant la revendica-tion 4, caractérisé en ce qu'il comporte en outre des moyens (32) de détermination du signal de la pente de la tangente à la courbe au point origine de l'arc - courbe à tracer dans chaque octant, et des moyens (33) de commande de changement d'octant, lesdits moyens (32,33) de determination de signe et de commande de changement d'octant étant associés à une unité arith métique et logique (27) de traitement du contenu des regitres (24,25) dudit processeur d'adresses (20) en fonction des instructions de la mémoire CROM (22). 6. Dispositif de tracé suivant l'une des revendications 3 à 5, caractérisé en ce qu'il comporte en outre des moyens (40,41,42,43,44,45,46) de commande d'accès de données au processeur de points (21) selon deux directions (X,Y) commandés par ladite mémoire CROM (22) pour introduire dans les cellules de mémorisation dudit processeur de points des données relatives à la modification des données de la mémoire d'écran (53) en fonction du tracé à réaliser et une unité arithmétique et logique (47) également commandée par la mémoire CROM (22) pour effectuer sur les données introduites dans le réseau de cellules de mèm- risation du processeur de points (21), les opérations nécessaires à la modification des données de la mémoire d'écran (53) en vue du transfert aux emplacements correspondants de cette dernière des données modifiées en fonction du tracé à réaliser, 7. Dispositif de tracé suivant la revendication 6, caractérisé en ce qu'il comporte en outre un registre de couleur (50) destiné à associer à chaque point du tracé à réaliser introduit dans la mémoire d écran (53). après traitement par le processeur de points (21) des données de modifications de couleur en vue de permettre les operations d'affichage du tracé à partir du contenu de ladite mémoire d'écran, modifié conformement au tracé à réaliser. 8. Dispositif de tracé suivant l'une des revendications 3 à 7, caractérisé en ce qu'il comporte en outre des moyens (31,33) de détermination du signe (SGN) d'un critère de décision dans l'algorithme de tracé et d'adaptation du critère de décision en fonction de l'octant de tracé pour obtenir des courbes parfaitement symetriques.