FR2568388A1 - Geometric transformation processor. - Google Patents

Geometric transformation processor. Download PDF

Info

Publication number
FR2568388A1
FR2568388A1 FR8411688A FR8411688A FR2568388A1 FR 2568388 A1 FR2568388 A1 FR 2568388A1 FR 8411688 A FR8411688 A FR 8411688A FR 8411688 A FR8411688 A FR 8411688A FR 2568388 A1 FR2568388 A1 FR 2568388A1
Authority
FR
France
Prior art keywords
radius
value
polar
point
vector
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR8411688A
Other languages
French (fr)
Other versions
FR2568388B1 (en
Inventor
Bernard Ivry
Rene Josse
Charles Preaux
Jean-Claude Beauvir
Bernard L Hostis
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.)
Direction General pour lArmement DGA
Original Assignee
Direction General pour lArmement DGA
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 Direction General pour lArmement DGA filed Critical Direction General pour lArmement DGA
Priority to FR8411688A priority Critical patent/FR2568388B1/en
Publication of FR2568388A1 publication Critical patent/FR2568388A1/en
Application granted granted Critical
Publication of FR2568388B1 publication Critical patent/FR2568388B1/en
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/60Rotation of a whole image or part thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining

Abstract

The processor comprises input registers 111, 112, a fast parameter memory 110, a bit-slice microprocessor 170 associated with microprogrammed memories 180, a first multiplier-adder 121, first and second intermediate registers 131, 132, non-volatile memories 142, 143, 144, second and third multipliers 122, 123 and output registers 161, 162. The polar-coordinates geometrical transformation processor makes it possible to determine, in real time, for a graphics primitive, such as a vector, a circular arc, a circle, the coordinates of at least one geometrical transformation of the graphics primitive following a rotational movement or a vectorial homothetic transformation. Application especially to animated imagery systems in real time.

Description

PROCESSEUR DE TRANSFORMATION GEOMETRIQUE. PROCESSOR OF GEOMETRIC TRANSFORMATION.

La présente invention a pour objet un processeur de transformation géométrique ainsi qu'un système d'imagerie animée en temps réel pour la visualisation, sur un écran, d'un ensemble de réticules ou d'images pouvant évoluer en temps réel par rotation ou translation. The present invention relates to a geometric transformation processor and a real-time animated imaging system for viewing, on a screen, a set of reticles or images that can evolve in real time by rotation or translation .

Dans les simulateurs, il est nécessaire de visualiser, sur écran cathodique, un ensemble souvent complexe de différents symboles constitués par des réticules prédéfinis, devant être régénérés avec une périodicité qui est au maximum de l'ordre de quelques dizaines de millisecondes et souvent inférieure à 20 ou 30 millisecondes. In simulators, it is necessary to display, on a CRT screen, an often complex set of different symbols constituted by predefined reticles, to be regenerated with a periodicity which is at most of the order of a few tens of milliseconds and often less than 20 or 30 milliseconds.

Il est ainsi souhaitable de pouvoir commander l'affichage de figures géométriques, et notamment de vecteurs, de cercles ou d'arcs de cercles, ainsi que de points de positionnement relatif ou absolu, même lorsque les éléments de figure géométrique sont soumis à des rotations ou homothéties vectorielles avec un temps de réponse très bref. It is thus desirable to be able to control the display of geometric figures, and in particular of vectors, circles or arcs of circles, as well as relative or absolute positioning points, even when the elements of geometrical figure are subjected to rotations. or vectorial digests with a very short response time.

La présente invention a précisément pour objet de réaliser un processeur de transformation géométrique qui permet d'engendrer en temps réel le transformé d'une figure soumise à un mouvement et par là-même permet, lorsqu'il est incorporé dans un système d'imagerie animée en temps réel, de visualiser les évolutions d'un système complexe d'éléments graphiques. The object of the present invention is precisely to provide a geometrical transformation processor which makes it possible to generate, in real time, the transform of a figure subjected to a movement and thereby allows, when it is incorporated in an imaging system. animated in real time, to visualize the evolutions of a complex system of graphic elements.

Ce but est atteint grâce à un processeur de transformation géométrique qui, selon l'invention, comprend des registres d'entrée auxquels sont appliqués un code instruction d'une primitive graphique, telle qu'un vecteur, un arc de cercle, un cercle, un code configurant la définition originelle de la primitive graphique en coordonnées polaires, et un code indicateur de l'existence d'une animation en rotation ou en homothétie vectorielle; une mémoire rapide de paramètres recevant les valeurs numériques des paramètres d'animation; des moyens de calcul d'au moins un transformé géométrique de la primitive graphique, lesquels moyens de calcul comprennent au moins un microprocesseur en tranches associé à des mémoires microprogrammées, un premier multiplieur-additionneur dont les entrées sont reliées respectivement aux registres d'entrée et à la mémoire rapide de paramètres et la sortie est reliée à un premier registre intermédiaire et à un second registre intermédiaire destinés à recevoir respectivement des codes représentant le rayon vecteur
R2 et l'angle polaire 82 d'un transformé de la primitive graphique en coordonnées polaires, des mémoires non volatiles destinées à recevoir des tables de sinus, cosinus et tangente respectivement, et associées au second registre intermédiaire, un second multiplieur dont les entrées sont reliées respectivement au premier registre intermédiaire et à la mémoire de cosinus, un troisième multiplieur dont les entrées sont reliées respectivement au premier registre intermédiaire et à la mémoire de sinus; et des registres de sortie pour fournir de façon codée en coordonnées cartésiennes la définition du transformé géométrique de la primitive graphique.
This object is achieved by means of a geometric transformation processor which, according to the invention, comprises input registers to which an instruction code of a graphic primitive, such as a vector, an arc of a circle, a circle, is applied. a code configuring the original definition of the graphic primitive in polar coordinates, and a code indicating the existence of an animation in rotation or in vectorial scaling; a fast memory of parameters receiving the numerical values of the animation parameters; means for calculating at least one geometric transform of the graphic primitive, which computing means comprise at least one sliced microprocessor associated with microprogrammed memories, a first multiplier-adder whose inputs are respectively connected to the input registers and to the fast memory of parameters and the output is connected to a first intermediate register and a second intermediate register intended to receive respectively codes representing the vector ray
R2 and the polar angle 82 of a transform of the graphical primitive in polar coordinates, nonvolatile memories intended to receive sine, cosine and tangent tables respectively, and associated with the second intermediate register, a second multiplier whose inputs are respectively connected to the first intermediate register and the cosine memory, a third multiplier whose inputs are respectively connected to the first intermediate register and the sine memory; and output registers for encoded in Cartesian coordinates the definition of the geometric transform of the graphic primitive.

Le processeur comprend en outre une mémoire non volatile supplémentaire destinée à recevoir une table de modules, interposable entre le premier registre intermédiaire et les second et troisième multiplieurs. The processor further comprises an additional nonvolatile memory for receiving a table of modules, interposable between the first intermediate register and the second and third multipliers.

Le premier multiplieur-additionneur et les second et troisième multiplieurs sont des multiplieurs-accumulateurs rapides
Des moyens de formatage peuvent être interposés entre les second et troisième multiplieurs et les registres de sortie.
The first multiplier-adder and the second and third multipliers are fast multipliers-accumulators
Formatting means may be interposed between the second and third multipliers and the output registers.

Selon l'invention, un système d'imagerie animée en temps réel pour la visualisation sur un écran d'un ensemble de réticules ou d'images pouvant évoluer en temps réel par rotation ou translation comprend un calculateur central avec une unité centrale, un coupleur commandé par un calculateur mattre extérieur, des mémoires vives et un moniteur; un processeur de transformation géométrique en coordonnées polaires; des unités de rafratchissement; une machine à tracer reliée à la mémoire d'image à double accès constituée par les unités de rafratchissement et une console avec un écran d'affichage graphique à balayage cavalier ou vidéo. According to the invention, a real-time animated imaging system for the display on a screen of a set of reticles or images that can evolve in real time by rotation or translation comprises a central computer with a central unit, a coupler controlled by an external math computer, live memories and a monitor; a geometric transformation processor in polar coordinates; refreshing units; a scribing machine connected to the dual-access image memory constituted by the refreshing units and a console with a raster or video scanning graphic display screen.

L'invention a encore pour objet un processeur de transformation géométrique permettant de déterminer en temps réel pour une primitive graphique, telle qu'un vecteur, un arc de cercle, un cercle, les coordonnées d'au moins un transformé géométrique de la primitive graphique à la suite d'un mouvement de rotation ou d'une homothétie vectorielle, caractérisé en ce qu'il comprend des registres d'entrée pour la réception en coordonnées polaires des valeurs originelles du rayon vecteur R1 et de l'angle polaire el d'au moins un premier point significatif
M1 ou N1 ou P1 de la primitive graphique;; une mémoire rapide de paramètres pour la réception, en fonction du mouvement appliqué à ladite primitive graphique, des valeurs numériques du facteur évolutif de l'angle polaire 1 et du facteur multiplicatif K du rayon vecteur R1, des moyens multiplicateurs reliés aux registres d'entrée et à la mémoire pour la multiplication de la valeur du rayon vecteur R1 par la valeur du facteur multiplicatif K; des moyens additionneurs reliés aux registres d'entrée et à la mémoire pour l'addition de la valeur du facteur évolutif à celle de l'angle polaire 8;; des registres intermédiaires reliés aux moyens multiplicateurs et additionneurs pour la réception de nouvelles valeurs de rayon vecteur R2 etd'angle polaire W2 correspondant à un second point
M2 Ou N2 ou P2 transformé dudit premier point si~nificatíf
M1 ou N1 ou P1 de la primitive graphique, et des moyens de transformation en coordonnées cartésiennes X2,Y2 des coordonnées polaires R2,#2 dudit second point
M2 ou N2 ou P2.
The subject of the invention is also a geometric transformation processor making it possible to determine, in real time for a graphic primitive, such as a vector, an arc of a circle, a circle, the coordinates of at least one geometric transform of the graphic primitive. as a result of a rotational movement or a vectorial homothety, characterized in that it comprises input registers for the reception in polar coordinates of the original values of the vector radius R1 and the polar angle el d at least a first significant point
M1 or N1 or P1 of the graphic primitive ;; a fast memory of parameters for the reception, according to the movement applied to said graphic primitive, of the numerical values of the progressive factor of the polar angle 1 and the multiplicative factor K of the vector radius R1, multiplier means connected to the input registers and the memory for multiplying the value of the vector radius R1 by the value of the multiplicative factor K; adding means connected to the input registers and the memory for adding the value of the scaling factor to that of the polar angle θ; intermediate registers connected to the multiplier and adder means for receiving new values of vector radius R2 and polar angle W2 corresponding to a second point
M2 or N2 or P2 converted from said first point if ~ nificatíf
M1 or N1 or P1 of the graphical primitive, and means for transforming Cartesian coordinates X2, Y2 of the polar coordinates R2, # 2 of said second point.
M2 or N2 or P2.

Selon un mode particulier de réalisation les moyens de transformation en coordonnées cartésiennes X2,Y2 des coordonnées polaires R2,82 du second point M2 ou N2 ou
P2 comprennent des moyens de calcul du cosinus de la valeur de l'angle polaire t2 contenue dans l'un des registres intermédiaires; des moyens de multiplication de la valeur du rayon vecteur R2 contenue dans l'autre registre intermédiaire par la valeur calculée du cosinus de l'angle polaire 52; des moyens de calcul du sinus de la valeur de l'angle polaire t2 contenue dans l'un des registres intermédiaires et des moyens de multiplication de la valeur R2 du rayon vecteur contenue dans l'autre registre intermédiaire par la valeur calculée du sinus de l'angle polaire C2
Selon un autre mode particulier de réalisation, les moyens de transformation en coordonnées cartésiennes X2,Y2 des coordonnées polaires R2,#2 du second point M 2 ou N2 ou
P2 comprennent des moyens de détermination d'une première coordonnée cartésienne X2 resp.Y2 par multiplication de la valeur du rayon vecteur R2 par le cosinus respectivement le sinus de l'angle polaire t2 et des moyens de détermination de la tangente de l'angle polaire 82.
According to a particular embodiment, the Cartesian coordinate transformation means X2, Y2 of the polar coordinates R2, 82 of the second point M2 or N2 or
P2 comprise means for calculating the cosine of the value of the polar angle t2 contained in one of the intermediate registers; means for multiplying the value of the vector ray R2 contained in the other intermediate register by the calculated value of the cosine of the polar angle 52; means for calculating the sine of the value of the polar angle t2 contained in one of the intermediate registers and means for multiplying the value R2 of the vector radius contained in the other intermediate register by the calculated value of the sine of the polar angle C2
According to another particular embodiment, the Cartesian coordinate transformation means X2, Y2 of the polar coordinates R2, # 2 of the second point M 2 or N 2 or
P2 include means for determining a first Cartesian coordinate X2 resp.Y2 by multiplying the value of the vector radius R2 by the cosine respectively the sine of the polar angle t2 and means for determining the tangent of the polar angle 82.

L'invention concerne également un processeur, adapté à la transformation géométrique d'un cercle primitif de rayon R1 en un cercle transformé de rayon R2, qui comprend des moyens de détermination des coordonnées polaires R21#2 d'un second point P2 transformé d'un premier point P1 d'un cercle primitif, à partir du facteur multiplicatif K du rayon initial
R1 et du facteur évolutif de l'angle polaire initial du premier point P1; des moyens de détermination, à partir de la valeur du rayon R2 du second point P2 enregistrée dans un registre intermédiaire relié auxdits moyens de détermination des coordonnées polaires R2,#, d'un nombre N de vecteurs unitaires Vi (1#i#N)destinés à reconstituer, sous la forme d'un polygone à N facettes, le cercle final de rayon R2; des moyens de détermination, à partir de valeurs pré-établies, du module? des vecteurs unitaires Vi en fonction de la valeur du rayon R2 du second point P2 enregistrée dans ledit registre intermédiaire; et des moyens de calcul des coordonnées cartésiennes Xvi,Yvi de chacun des vecteurs unitaires Vi du cercle transformé de rayon R2 à partir du module Ç des vecteurs unitaires Vi et de leur angle polaire 1#r/2+iWtN+#2 où 1 N, selon les formules

Figure img00050001
The invention also relates to a processor, adapted to the geometric transformation of a pitch circle of radius R1 into a transformed circle of radius R2, which comprises means for determining the polar coordinates R21 # 2 of a second transformed point P2 of a first point P1 of a primitive circle, starting from the multiplicative factor K of the initial radius
R1 and the evolutionary factor of the initial polar angle of the first point P1; determining means, from the value of the radius R2 of the second point P2 recorded in an intermediate register connected to said means for determining the polar coordinates R2, #, of a number N of unit vectors Vi (1 # i # N) intended to reconstruct, in the form of an N-faceted polygon, the final circle of radius R2; means for determining, from pre-established values, the module? unit vectors Vi as a function of the value of the radius R2 of the second point P2 recorded in said intermediate register; and means for calculating the Cartesian coordinates Xvi, Yvi of each of the unit vectors Vi of the transformed circle of radius R2 from the module des of the unit vectors Vi and their polar angle 1 # r / 2 + iWtN + # 2 where 1 N, according to the formulas
Figure img00050001

Un processeur selon l'invention, adapté à la transformation géométrique en un arc de cercle transformé de rayon
R2, d'un arc de cercle primitif présentant un angle d'ouverture fo dont la valeur est inscrite dans la mémoire rapide de paramètres et un rayon R1 dont la valeur est inscrite dans l'un des registres d'entrée, comprend des moyens de détermination des coordonnées polaires R2,52 d'un second point P2 transformé d'un premier point P1 d'un arc de cercle primitif, à partir du facteur multiplicatif K du rayon initial R1 et du facteur évolutif Z de l'angle polaire initial ff1 du premier point P1; des moyens de détermination, à partir de la valeur du rayon R2 du second point P2 enregistrée dans un registre intermédiaire relié auxdits moyens de détermination des coordonnées polaires R2, #2 et de la valeur de l'angle d'ouverture fo de l'arc de cercle inscrite dans la mémoire 7 un nombre n de vecteurs unitaires Vi (afin) destinés à reconstituer, sous la forme d'une fraction de polygone à n facettes, l'arc de cercle final de rayon R2; des moyens de détermination, à partir de valeurs pré-établies, du module ffdes vecteurs unitaires Vi en fonction de la valeur du rayon R2 du second point P2 enregistrée dans ledit registre intermédiaire, et des moyens de calcul des coordonnées cartésiennes Xvi,Yvi de chacun des vecteurs unitaires Vi de l'arc de cercle transformé de rayon R2 et d'angle d'ouverture fo à partir du module p des vecteurs unitaires Vi et de leur angle polaire Qt/2+it/n+02 où 1afin, selon les formules

Figure img00060001
A processor according to the invention adapted to the geometrical transformation into a transformed radius arc.
R2, a primitive arc having an opening angle fo whose value is entered in the parameter fast memory and a radius R1 whose value is written in one of the input registers, comprises means for determination of the polar coordinates R2, 52 of a second transformed point P2 of a first point P1 of a primitive arc of circle, starting from the multiplicative factor K of the initial radius R1 and the evolutionary factor Z of the initial polar angle ff1 the first point P1; determining means, from the value of the radius R2 of the second point P2 recorded in an intermediate register connected to said means for determining the polar coordinates R2, # 2 and the value of the opening angle fo of the arc a circle n written in the memory 7 a number n of unit vectors Vi (in) intended to reconstitute, in the form of a fraction of polygon with n facets, the final circular arc of radius R2; means for determining, from preset values, the module ff of the unit vectors Vi as a function of the value of the radius R2 of the second point P2 recorded in said intermediate register, and means for calculating the Cartesian coordinates Xvi, Yvi of each unit vectors Vi of the transformed circular arc of radius R2 and of opening angle f 0 from module p of unit vectors Vi and their polar angle Qt / 2 + it / n + 02 where 1afin, according to the formulas
Figure img00060001

D'autres caractéristiques et avantages de l'invention ressortiront de la description qui fait suite de modes particuliers de réalisation, en référence au dessin annexé, sur lequel::
- la figure 1 est le schéma synoptique d'un système d'imagerie mettant en oeuvre l'invention,
- la figure 2 représente le schéma-bloc d'un processeur de transformation géométrique selon l'invention,
- la figure 3 montre le schéma graphique de la transformation d'un vecteur ou du positionnement d'un point,
- la figure 4 montre la formation du transformé d'un cercle conformément à l'invention, et
- la figure 5 montre la formation du transformé d'un arc de cercle.
Other characteristics and advantages of the invention will emerge from the description which follows particular embodiments, with reference to the appended drawing, in which:
FIG. 1 is the block diagram of an imaging system embodying the invention,
FIG. 2 represents the block diagram of a geometric transformation processor according to the invention,
FIG. 3 shows the graphical diagram of the transformation of a vector or the positioning of a point,
FIG. 4 shows the formation of the transform of a circle according to the invention, and
- Figure 5 shows the formation of the transformation of a circular arc.

On voit sur la figure 1 le schéma synoptique d'ensemble d'un automate ou système d'imagerie animée en temps réel qui est constitué autour d'un calculateur 200 avec son unité centrale 210, sa mémoire vive 230, son moniteur 240 et son coupleur 220 commandé par un ordinateur martre 10. Une console 800 peut être associée au calculateur 200. L'unité centrale 210 peut être-réalisée à partir d'un microprocesseur tel que par exemple le microprocesseur
MC68000 commercialisé par la Société Motorola.Un bus 600 est associé à cette unité centrale 210 et aux autres sous-ensembles de l'automate qui comprennent un processeur 100 de transformation géométrique en coordonnées polaires, dont la configuration sera décrite de façon plus détaillée ci-dessous et un ensemble mémoire 300 constitué d'unités de rafratchissement 301,302 et placé entre le bus principal 600 et un bus interne 700 d'une machine à tracer 400 associée à une console graphique 500 d'affichage cavalier ou vidéo. Les unités de rafratohissement 301, 302 constituent une mémoire d'images à double accès de la machine à tracer.
FIG. 1 shows the block diagram of an automaton or real-time animated imaging system which is constituted around a computer 200 with its central unit 210, its random access memory 230, its monitor 240 and its coupler 220 controlled by a marten computer 10. A console 800 can be associated with the computer 200. The central unit 210 can be made from a microprocessor such as for example the microprocessor
MC68000 marketed by the company Motorola. A bus 600 is associated with this central unit 210 and the other subsets of the automaton which comprise a processor 100 of geometric transformation in polar coordinates, the configuration of which will be described in more detail below. below and a memory assembly 300 consisting of 301,302 rafting units and placed between the main bus 600 and an internal bus 700 of a plotter 400 associated with a graphics console 500 jumper or video display. The refreshing units 301, 302 constitute a dual access image memory of the plotter.

Sur la figure 1, on n'a représenté de façon schématique que les registres d'entrée 111,112, la mémoire de paramètres 110 et les registres de sortie 161, 162 du processeur de transformation géométrique. Les autres éléments constitutifs de ce processeur 100 sont représentés symboliquement sur la figure 2. In FIG. 1, only the input registers 111, 112, the parameter memory 110 and the output registers 161, 162 of the geometric transformation processor are represented diagrammatically. The other constituent elements of this processor 100 are represented symbolically in FIG. 2.

Dans le système d'imagerie de la figure# 1, les traitements des chatnes de caractères, de la texture de l'image et des positionnements absolus, qui ne sont pas affectés par des transformations géométriques, sont effectués d'une manière logicielle à l'aide du calculateur 200. En revanche, les positionnements relatifs, les vecteurs, les cercles et les arcs de cercle sont susceptibles de subir des transformations géométriques et sont traités par le processeur de transformation géométrique 100. In the imaging system of Figure # 1, character chat processing, image texture, and absolute positioning, which are not affected by geometric transformations, are performed in a software-based manner. On the other hand, the relative positions, the vectors, the circles and the circular arcs are liable to undergo geometrical transformations and are processed by the geometrical transformation processor 100.

Le processeur 100 accepte en entrée, dans des registres d'entrée 111, 112 comprenant par exemple daux mots de 16 bits9 un code spécial contenant le code instruction de la primitive graphique (qui peut être constituée par un simple positionnement relatif, un vecteur, un cercle ou un arc de cercle), un code configurant la définition originelle de la primitive graphique en coordonnées polaires et comprenant une valeur du rayon vecteur
R1 et une valeur de l'angle polaire 1 et un code déterminant, les paramètres d'animation de la transformation géométrique par l'indication d'une adresse de facteur multiplicatif K appliqué au rayon vecteur R1, d'une adresse de facteur évolutif de l'angle polaire t1 et d'une adresse d'angle d'ouverture d'arc fo.Les valeurs numériques du facteur multiplicatif K, du facteur évolutif CC et le cas échéant de l'angle d'ouverture fo, qui constituent les paramètres d'animation de la transformation géométrique, sont téléchargées, en temps réel, du calculateur mattre 10 dans l'automate 100, 200, 300, 400 et sont inscrites dans une mémoire rapide de paramètres 110.
The processor 100 accepts, in input registers 111, 112 comprising, for example, 16-bit words, a special code containing the instruction code of the graphic primitive (which can be constituted by a simple relative positioning, a vector, a circle or an arc), a code configuring the original definition of the graphic primitive in polar coordinates and including a value of the vector ray
R1 and a value of the polar angle 1 and a decoding code, the animation parameters of the geometric transformation by the indication of a multiplicative factor address K applied to the vector radius R1, a scaling factor address of the polar angle t1 and an arc opening angle address fo.The numerical values of the multiplicative factor K, the evolutive factor CC and, if appropriate, the opening angle fo, which constitute the parameters animation of the geometric transformation, are downloaded, in real time, computer mattre 10 in the controller 100, 200, 300, 400 and are written in a fast memory parameter 110.

A partir des informations d'entrée, le processeur 100 détermine le ou les transformés géométriques et génère en sortie, dans deux registres de sortie 161, 162 qui peuvent comprendre deux mots de 16 bits, un code qui peut etre compatible directement avec celui de la machine à tracer 300, 400. Dans le cas de positionnements relatifs et des vecteurs, un seul transformé est calculé tandis que dans le cas des cercles et arcs de cercles, plusieurs transformés sont calculés grâce à une logique interne microprogrammée et sont fournis successivement aux registres de sortie 161, 162. From the input information, the processor 100 determines the geometric transform (s) and generates, in two output registers 161, 162 which can include two 16-bit words, a code which can be directly compatible with that of the 300, 400. In the case of relative positions and vectors, only one transform is computed while in the case of circles and arcs of circles, several transforms are computed by means of a microprogrammed internal logic and are successively supplied to the registers. output 161, 162.

Si l'on se réfère à la figure 2, on voit que le processeur de transformation geométrique 100 relié au bus 600 comprend, outre les registres d'entrée 111, 112 et la mémoire rapide de paramètres 110 reliés au bus 600, un multiplieur-additionneur 121 qui reçoit en entrée les informations de rayon vecteur R1 et d'angle polaire 61 des registres d'entrée 111,112 et les informations des paramètres d'animation ,K,fo présentes dans la mémoire rapide 110.Les informations de sortie du circuit multiplieur additionneur 121 sont appliquées à deux registres intermédiaires 131, 132 recevant les nouvelles valeurs respectivement de rayon vecteur R2 et d'angle polaire t2 La sortie du registre intermédiaire 131 est reliée, éventuellement par-l'intermédiaire d'une table 141 de module p, à des circuits multiplieurs- accumulateurs rapides 122 et 123. Le registre intermédiaire 132 est relié en sortie à des tables de cosinus 142, de sinus 143 et de tangente 144 stockées dans des mémoires non volatiles. Le multiplieur 122 reçoit des informations de la table de cosinus 142 tandis que le multiplieur 123 reçoit des informations de la table de sinus 143. Les sorties des multiplieurs 122, 123 sont reliées, par l'intermédiaire de moyens de formatage 151, 152 réalisant une adaptation au code de la machine à tracer 300, 400, à des registres de sortie 161, 162 qui peuvent également recevoir directement des informations de la table de tangentes 144. Les registres de sortie 161, 162 sont reliés au bus 600. L'ensemble du processeur 100 est centré autour d'un microprocesseur en tranches 170 associé à des mémoires microprogrammées 180 et permettant l'élaboration sur le bus 190 de tous les signaux des modules du processeur 100. With reference to FIG. 2, it can be seen that the geometric transformation processor 100 connected to the bus 600 comprises, besides the input registers 111, 112 and the fast memory of parameters 110 connected to the bus 600, a multiplier- adder 121 which receives as input the vector radius R1 and polar angle information 61 of the input registers 111,112 and the information of the animation parameters K, fo present in the fast memory 110.The output information of the multiplier circuit adder 121 are applied to two intermediate registers 131, 132 receiving the new values of vector radius R2 and polar angle t2 respectively. The output of intermediate register 131 is connected, possibly via a table 141 of module p, to multiplier-fast accumulator circuits 122 and 123. Intermediate register 132 is outputted to cosine tables 142, sine 143 and tangent 144 stored in memory. non-volatile The multiplier 122 receives information from the cosine table 142 while the multiplier 123 receives information from the sine table 143. The outputs of the multipliers 122, 123 are connected, by means of formatting means 151, 152 realizing a adaptation to the code of the plotter 300, 400, to output registers 161, 162 which can also directly receive information from the table of tangents 144. The output registers 161, 162 are connected to the bus 600. The set of the processor 100 is centered around a sliced microprocessor 170 associated with microprogrammed memories 180 and allowing the development on the bus 190 of all the signals of the modules of the processor 100.

On décrira maintenant en référence aux figures 3 à 5 des exemples de détermination de transformés géométriques de primitives graphiques à l'aide du processeur selon l'invention tel que schématisé sur la figure 2. Reference will now be made with reference to FIGS. 3 to 5 of examples of determination of geometric transforms of graphic primitives using the processor according to the invention as shown diagrammatically in FIG. 2.

La figure 3 permet de comprendre le traitement du cas d'un positionnement relatif et de la transformation d'un vecteur 1 (OM1)en un vecteur 2(OM2). FIG. 3 makes it possible to understand the treatment of the case of a relative positioning and of the transformation of a vector 1 (OM1) into a vector 2 (OM2).

Dans le cas d'un positionnement relatif d'un vecteur
OM1 de définition polaire R1sC1 transformé par homothétie vectorielle en un vecteur OM2 de définition polaire R2,82 les étapes suivantes sont réalisées
a) - chargement dans les deux registres d'entrée 111, 1t2 des coordonnées polaires Rut,@1 qui constituent la définition originelle du vecteur polaire OM,
b) - chargement dans la mémoire de paramètres 110 du facteur évolutif de l'angle # défjnj par le vecteur polaire OM et le vecteur polaire transformé OM2.
In the case of a relative positioning of a vector
OM1 of polar definition R1sC1 converted by vectorial homothety into a vector OM2 of polar definition R2,82 the following steps are carried out
a) - loading in the two input registers 111, 1t2 of the polar coordinates Rut, @ 1 which constitute the original definition of the polar vector OM,
b) - loading into the parameter memory 110 of the evolutionary factor of the angle # defjnj by the polar vector OM and the transformed polar vector OM2.

c) - chargement dans la mémoire de paramètres 110 du facteur multiplicatif K du module R1 du vecteur polaire OM1.  c) - loading into the parameter memory 110 of the multiplicative factor K of the module R1 of the polar vector OM1.

d) - calcul par le multiplieur- additionneur 121 des opérations
#2=#1+α α E(O,2#)
R2=KR1 K entier
e) - inscription des valeurs R2, 62 dans les registres intermédiaires 131, 132,
f) - calcul à l'aide de la table de cosinus 142 et du multiplieur 122 de l'abcisse X2 du vecteur OM2 en coordonnées cartésiennes:
X2 R2 cos C2
g) - calcul à l'aide de la table de sinus 143 et du multiplieur 123 de l'ordonnée t2 du vecteur OM2 en coordonnées cartésiennes::
Y2 R2 sin 2
h) - formatage du transformé OM2 de coordonnées cartésiennes X2, Y2 en code du positionnement relatif de la machine à tracer 300, 400, les moyens de formatage 151, 152 pouvant comprendre des réseaux logiques programmables par fusibles.
d) - calculation by the multiplier-adder 121 of the operations
# 2 = # 1 + αα E (O, # 2)
R2 = KR1 K integer
e) - registering the values R2, 62 in the intermediate registers 131, 132,
f) - computation using the cosine table 142 and the multiplier 122 of the abscissa X2 of the vector OM2 in Cartesian coordinates:
X2 R2 cos C2
g) - calculation using the sine table 143 and the multiplier 123 of the ordinate t2 of the vector OM2 in Cartesian coordinates ::
Y2 R2 sin 2
h) - Formatting the OM2 transform of Cartesian coordinates X2, Y2 in the relative positioning code of the tracer 300, 400, the formatting means 151, 152 may comprise fuse-programmable logic arrays.

i) - inscription des coordonnées X2,Y2, formatées, dans les registres de sortie 161, 162. i) - registration of the coordinates X2, Y2, formatted, in the output registers 161, 162.

Dans le cas de la transformation d'un vecteur OM1 de coordonnées polaires R1, 1 en un vecteur 0M2 de coordonnées polaires R2 > #2, les premières étapes réalisées correspondent aux étapes a) à e) ci-dessus. Il est ensuite réalisé l'une des étapes f) ou g) précitées, afin de déterminer la valeur absolue de la projection sur le plus grand axe, puis, dans une étape supplémentaire, on détermine la pente du transformé à partir de la valeur C2 inscrite dans le registre intermédiaire 132, grâce à la matrice 144 de tangente mémorisée dans une mémoire non volatile.Il est ensuite réalisé l'étape de formatage du vecteur
OM2 caractérisé par la valeur absolue de la projection sur le plus grand axe et la pente, c'est-à-dire le rapport entre la plus petite et la plus grande composante. Les informations formatées concernant la valeur absolue de la projection sur le plus grand axe et la pente sont alors inscrites dans les registres de sortie 161, 162.
In the case of transforming a vector OM1 of polar coordinates R1, 1 into a vector 0M2 of polar coordinates R2># 2, the first steps carried out correspond to steps a) to e) above. One of the steps f) or g) is then carried out in order to determine the absolute value of the projection on the largest axis, then, in an additional step, the slope of the transform is determined from the value C2. registered in the intermediate register 132, thanks to the matrix 144 of tangent stored in a non-volatile memory.It is then carried out the step of formatting the vector
OM2 characterized by the absolute value of the projection on the largest axis and the slope, that is to say the ratio between the smallest and the largest component. The formatted information about the absolute value of the projection along the largest axis and the slope is then written in the output registers 161, 162.

La figure 4 illustre le cas de la transformation géométrique d'un cercle de rayon R1 en un cercle 3 de rayon R2.  FIG. 4 illustrates the case of the geometrical transformation of a circle of radius R1 into a circle 3 of radius R2.

Comme le montre la figure 4, le cercle est approximé par un polygone présentant un certain nombre N de facettes ou vecteurs unitaires Vi. Il est possible par exemple de choisir un nombre
N égal à 64 ou 128 en fonction de la valeur du rayon R2 du cercle transformé. Ainsi, dans ce cas, si R2 > 128 quanta, le nombre N est égal à 128 et si R2 c 128 quanta, le nombre N est égal à 64. On notera que le quantum est défini par le rapport entre le nombre de points (par exemple 1024) de l'écran graphique 500 de la machine à tracer 400 associée au processeur 100, et la dimension d'un côté de l'écran.
As shown in FIG. 4, the circle is approximated by a polygon having a number N of facets or unit vectors Vi. It is possible for example to choose a number
N equal to 64 or 128 depending on the value of the radius R2 of the transformed circle. Thus, in this case, if R2> 128 quanta, the number N is equal to 128 and if R2 c 128 quanta, the number N is equal to 64. Note that the quantum is defined by the ratio between the number of points ( for example 1024) of the graphics display 500 of the plotter 400 associated with the processor 100, and the dimension of one side of the screen.

Pour la détermination du transformé d'un cercle, dans un premier temps du traitement, le circuit multiplieur 121 détermine le rayon R2 = KR1 du cercle transformé à partir des informations R1 du registre d'entrée 111 (rayon du cercle initial) et K de la mémoire de paramètres 110 (facteur multiplicatif du rayon). La valeur du rayon R2 est mémorisée dans le registre intermédiaire 131. La partie additionneur du multiplieur 121 détermine également le nouvel angle polaire C2=!1+ du cercle transformé à partir des informations du duregistre d'entrée 112 et de la mémoire de paramètres 110. Dans la plupart des cas, C1 et sont cependant nuls. For the determination of the transform of a circle, in a first stage of the processing, the multiplier circuit 121 determines the radius R2 = KR1 of the transformed circle from the information R1 of the input register 111 (radius of the initial circle) and K of the parameter memory 110 (multiplicative factor of the radius). The value of the radius R2 is stored in the intermediate register 131. The adder part of the multiplier 121 also determines the new polar angle C2 =! 1+ of the transformed circle from the information of the input latch 112 and the parameter memory 110. In most cases, C1 and however are zero.

Dans un second temps, le module p des petits vecteurs unitaires Vi est déterminé à partir de la table 141 donnant pour chaque rayon de cercle R2 le module p du vecteur unitaire
Vi du cercle. Le nombre N de vecteurs unitaires Vi du polygone (par exemple 64 ou 128) est déterminé à partir de la valeur du rayon R2 présente dans le registre intermédiaire 131 à l'aide d'une logique liée au microprocesseur en tranches 970.
In a second step, the modulus p of the small unit vectors Vi is determined from the table 141 giving for each radius of circle R2 the modulus p of the unit vector
Vi of the circle. The number N of unit vectors Vi of the polygon (for example 64 or 128) is determined from the value of the radius R2 present in the intermediate register 131 by means of logic related to the sliced microprocessor 970.

Dans un troisième temps, une succession de calculs sont réalisés de la façon suivante à l'aide des circuits 121,142,143,122 et 123 : on valide, sur une des entrées du premier multiplieur- additionneur 121 #i2+'Vz où t est une constante égale à 2 Mdivisés par le nombre N de vecteurs unitaires, puis on calcule à l'aide de l'additionneur 121 le nouvel angle (ri/2+ t/2)+2 qui constitue l'angle polaire du premier vecteur unitaire V1. In a third step, a succession of calculations are carried out in the following way using the circuits 121, 142, 143, 122 and 123: one validates, on one of the inputs of the first multiplier-adder 121 # i2 + 'Vz where t is a constant equal to 2 Distributed by the number N of unit vectors, then the adder 121 calculates the new angle (ri / 2 + t / 2) +2 which constitutes the polar angle of the first unit vector V1.

Les multiplieurs 122,123 associés aux tables de cosinus 142-et de sinus 143 permettent de déterminer ensuite l'une des deux coordonnées cartésiennes du vecteur V1 selon les formules suivantes:

Figure img00110001
The multipliers 122, 123 associated with the cosine tables 142 and the sine 143 then make it possible to determine one of the two Cartesian coordinates of the vector V1 according to the following formulas:
Figure img00110001

Comme pour le calcul du transformé d'un vecteur, une fois déterminée la valeur absolue de la projection sur le plus grand axe, à partir de l'angle (#I2+ #/2)+#2, on génère la pente du vecteur Y1 grâce à la matrice de tangente 144. As for calculating the transform of a vector, once the absolute value of the projection on the largest axis is determined, from the angle (# I2 + # / 2) + # 2, the slope of the vector Y1 is generated. thanks to the tangent matrix 144.

Pour les (N-t) vecteurs unitaires ti suivants (i-2àN), le processus reste le meme et à chaque fois on valide l'angle F sur le circuit multiplieur- additionneur 121 et on accumule cet angle Ny à l'angle précédemment stocké. En utilisant la messe valeur du module p il est alors possible de déterminer le positionnement de tous les vecteurs unitaires Vl. En fin de processus de calcul, on détermine le rayon de retour de module R2 et d'angle (tZ2lt/2)+g2.  For the (N-t) unit vectors ti following (i-2 to N), the process remains the same and each time the angle F is validated on the multiplier-adder circuit 121 and this angle Ny is accumulated at the angle previously stored. By using the value value of the module p it is then possible to determine the positioning of all the unit vectors Vl. At the end of the calculation process, the module return radius R2 and angle (tZ2lt / 2) + g2 are determined. .

Dans le cas de la transformation géométrique d'un arc de cercle, représentée sur la figure 5, le processus est similaire à celui de la transformation d'un cercle. Toutefois, la valeur de l'angle dsouverture fo de l'arc de cercle 4 est au préalable chargée dans la mémoire de paramètres 110. In the case of the geometric transformation of an arc, shown in Figure 5, the process is similar to that of the transformation of a circle. However, the value of the opening angle fo of the arc 4 is previously loaded in the parameter memory 110.

Le premier temps du traitement est semblable à celui d'un cercle. Toutefois, dans ce cas les angles C1 et ne sont en principe pas nuls. The first stage of treatment is similar to that of a circle. However, in this case the angles C1 and are in principle not zero.

Au cours du deuxième temps de traitement, afin de pouvoir tracer le vecteur angulaire transformé 5 d'ouverture fo, constitué d'une suite de petits vecteurs unitaires Yi, la logique liée au microprocesseur en tranches 170 détermine le nombre n de vecteurs correspondant au vecteur angulaire fo, et les formules indiquées ci-dessus ainsi que le troisième temps du traitement sont analogues au cas du cercle, avec ~ = -n
On notera que le processeur de transformation géométrique selon l'invention permet de travailler en temps réel puisque la détermination du transformé d'un positionnement ou d'un vecteur peut être réalisé en un temps compris entre environ 3 et 4 microsecondes tandis que le calcul du transformé d'un cercle peut lui-meme être effectué en un temps de l'ordre de 250 à 500 microsecondes.
During the second processing time, in order to be able to draw the transformed open angular vector fo, consisting of a series of small unit vectors Yi, the logic related to the sliced microprocessor 170 determines the number n of vectors corresponding to the vector. angular fo, and the formulas indicated above as well as the third time of the treatment are analogous to the case of the circle, with ~ = -n
It will be noted that the geometric transformation processor according to the invention makes it possible to work in real time since the determination of the transform of a positioning or of a vector can be carried out in a time of between approximately 3 and 4 microseconds while the calculation of the transformed a circle can itself be performed in a time of the order of 250 to 500 microseconds.

Claims (11)

REVENDICATIONS 1. Processeur de transformation géométrique, caractérisé en ce qu'il comprend des registres d'entrée (111,112) auxquels sont appliqués un code instruction d'une primitive graphique, telle qu'un vecteur, un arc de cercle, un cercle, un code configurant la définition originelle (R1, #1)de la primitive graphique en coordonnées polaires, et un code indicateur de l'existence d'une animation en rotation ou en homothétie vectorielle; une mémoire rapide de paramètres (110) recevant les valeurs numériques des paramètres d'animation; des moyens de calcul d'au moins un transformé géométrique de la primitive graphique, lesquels moyens de calcul comprennent au moins un microprocesseur en tranches (170) associé à des mémoires microprogrammées (180), un premier multiplieur-additionneur (121) dont les entrées sont reliées respectivement aux registres d'entrée (111,112) et à la mémoire rapide de paramètres (110) et la sortie est reliée à un premier registre intermédiaire (131) et à un second registre intermédiaire (132) destinés à recevoir respectivement des codes représentant le rayon vecteur R2 et l'angle polaire 82 d'un transformé de la primitive graphique en coordonnées polaires, des mémoires non volatiles < 142,143,144) destinés à recevoir des tables de sinus, cosinus et tangente respectivement, et associées au second registre intermédiaire (132), un second multiplieur (122) dont les entrées sont reliées respectivement au premier registre intermédiaire < 131) et à la mémoire de cosinus (142), un troisième multiplieur (123) dont les entrées sont reliées respectivement au premier registre intermédiaire (131) et à la mémoire de sinus (143); et des registres de sortie (161,162) pour fournir de façon codée en coordonnées cartésiennes la définition du transformé géométrique de la primitive graphique. 1. Geometric transformation processor, characterized in that it comprises input registers (111, 112) to which an instruction code of a graphic primitive is applied, such as a vector, an arc, a circle, a code configuring the original definition (R1, # 1) of the graphic primitive in polar coordinates, and a code indicating the existence of a rotating animation or vectorial scaling; a fast parameter memory (110) receiving the numerical values of the animation parameters; means for calculating at least one geometric transform of the graphic primitive, which calculation means comprise at least one sliced microprocessor (170) associated with microprogrammed memories (180), a first multiplier-adder (121) whose inputs are respectively connected to the input registers (111,112) and the parameter fast memory (110) and the output is connected to a first intermediate register (131) and a second intermediate register (132) for respectively receiving codes representing the vector radius R2 and the polar angle 82 of a transform of the graphic primitive in polar coordinates, nonvolatile memories <142,143,144) intended to receive sine, cosine and tangent tables respectively, and associated with the second intermediate register (132 ), a second multiplier (122) whose inputs are respectively connected to the first intermediate register <131) and to the cosine memory s (142), a third multiplier (123) whose inputs are respectively connected to the first intermediate register (131) and the sine memory (143); and output registers (161,162) for coded Cartesian coordinates defining the geometric transform of the graphic primitive. 2. Processeur selon la revendication 1, caråctérisé en ce qu'il comprend en outre une mémoire non volatile supplémentaire (141) destinée à recevoir une table de modules, interposable entre le premier registre intermédiaire (131) et les second et troisième multiplieurs (122,123). 2. The processor of claim 1, further characterized in that it further comprises an additional nonvolatile memory (141) for receiving a table of modules, interposable between the first intermediate register (131) and the second and third multipliers (122,123). ). 3. Processeur selon la revendication 1 ou la revendication 2, caractérisé en ce que le premier multiplieur-additionneur (121) et les second et troisième multiplieurs (122,123) sont des multiplieurs-accumulateurs rapides. 3. Processor according to claim 1 or claim 2, characterized in that the first multiplier-adder (121) and the second and third multipliers (122,123) are fast multipliers-accumulators. 4. Processeur selon l'une quelconque des revendications 1 à 3, caractérisé en ce que des moyens de formatage (151,152) sont interposés entre les second et troisième multiplieurs < 122,123) et les registres de sortie (161,162). 4. Processor according to any one of claims 1 to 3, characterized in that formatting means (151,152) are interposed between the second and third multipliers <122,123) and the output registers (161,162). 5. Processeur selon la revendication 1, caractérisé en ce que les moyens de formatage comprennent des réseaux logiques programmables par fusibles. 5. Processor according to claim 1, characterized in that the formatting means comprise logic networks programmable by fuses. 6. Système d'imagerie animée en temps réel, pour la visualisation, sur un écran, d'un ensemble de réticules ou d'images pouvant évoluer en temps réel par rotation ou translation, caractérisé en ce qu'il comprend un calculateur central (200) avec une unité centrale (210), un coupleur (220) commandé par un calculateur mattre extérieur (10), des mémoires vives (230) et un moniteur (240); un processeur (100) de transformation géométrique en coordonnées polaires selon l'une quelconque des revendications 1 à 5; des unités de rafratchissement (300); une machine à tracer (400) reliée à la mémoire d'image à double accès constituée par les unités de rafratchissement (300) et une console (500) avec un écran d'affichage graphique à balayage cavalier ou vidéo. 6. A real-time animated imaging system for viewing, on a screen, a set of reticles or images that can evolve in real time by rotation or translation, characterized in that it comprises a central computer ( 200) with a central unit (210), a coupler (220) controlled by an external master computer (10), RAMs (230) and a monitor (240); a polar coordinate geometric transformation processor (100) according to any one of claims 1 to 5; refreshing units (300); a scribing machine (400) connected to the dual-access image memory consisting of the refreshing units (300) and a console (500) with a raster or video scanning graphic display screen. 7. Processeur de transformation géométrique permettant de déterminer en temps réel pour une primitive graphique, telle qutun vecteur, un arc de cercle, un cercle, les coordonnées d'au moins un transformé géométrique de la primitive graphique à la suite d'un mouvement de rotation ou d'une homothétie vectorielle, caractérisé en ce qu'il comprend des registres d'entrée < 111,112) pour la réception en coordonnées polaires des valeurs originelles du rayon vecteur R1 et de l'angle polaire 1 d'au moins un premier point significatif (M1pu N1 ou P1).de la primitive graphique; une mémoire rapide de paramètres (110) pour la réception, en fonction du mouvement appliqué à ladite primitive graphique, des valeurs numériques du facteur évolutif OC de l'angle polaire C1 et du facteur multiplicatif K du rayon vecteur 7. Geometric transformation processor for determining in real time for a graphic primitive, such as a vector, an arc of a circle, a circle, the coordinates of at least one geometric transform of the graphic primitive following a motion of rotation or of a vectorial homothety, characterized in that it comprises input registers <111, 112) for the reception in polar coordinates of the original values of the vector radius R1 and the polar angle 1 of at least a first point significant (M1pu N1 or P1). of the graphic primitive; a fast parameter memory (110) for receiving, as a function of the motion applied to said graphic primitive, the numerical values of the scaling factor OC of the polar angle C1 and the multiplicative factor K of the vector radius R1, des moyens multiplicateurs (121) reliés aux registres d'entrée (111) et à la mémoire (110) pour la multiplication de la valeur du rayon vecteur R1 par la valeur du facteur multiplicatif K; des moyens additionneurs (121) reliés aux registres d'entrée (112) et à la mémoire (110) pour l'addition de la valeur du facteur évolutif# &alpha; à celle de l'angle polaire C1; des registres intermédiaires < 131,132) reliés aux moyens multiplicateurs et additionneurs (121) pour la réception de nouvelles valeurs de rayon vecteur R2 et d'angle polaire C2 correspondant à un second point (M2 ou N2 ou P2) transformé dudit premier point significatif (M1 ou N1 ou P1) de la primitive graphique, et des moyens (141 à 144,122,123) de transformation en coordonnées cartésiennes < X2,Y2) des coordonnées polaires (R2,B;) dudit second point < M2.ou N2 ou P2).R1, multiplier means (121) connected to the input registers (111) and the memory (110) for multiplying the value of the vector radius R1 by the value of the multiplicative factor K; adder means (121) connected to the input registers (112) and the memory (110) for adding the value of the scaling factor # &alpha; to that of the polar angle C1; intermediate registers <131, 132) connected to multiplier and add-on means (121) for receiving new values of vector radius R2 and polar angle C2 corresponding to a second point (M2 or N2 or P2) transformed from said first significant point (M1 or N1 or P1) of the graphic primitive, and means (141 to 144,122,123) of transformation in Cartesian coordinates <X2, Y2) of the polar coordinates (R2, B;) of said second point <M2.or N2 or P2). 8. Processeur selon la revendication 7, caractérisé en ce que les moyens de transformation en coordonnées cartésiennes < X2,Y2) des coordonnées polaires (R2tS2) du second point (M2 ou N2 ou P2) comprenant des moyens (1J2) de calcul du cosinus de la valeur de l'angle polaire t2 contenue dans l'un des registres intermédiaires (132); des moyens (122) de multiplication de la valeur du rayon vecteur R2 contenue dans l'autre registre intermédiaire (131) par la valeur calculée du cosinus de l'angle polaire C2i des moyens (143) de calcul du sinus de la valeur de l'angle polaire C2 contenue dans l'un des-registres intermédiaires (132) et des moyens (123) de multiplication de la valeur (R2) du rayon vecteur contenue dans l'autre registre intermédiaire (131) par la valeur calculée du sinus de l'angle polaire @2.  8. Processor according to claim 7, characterized in that the Cartesian coordinate transformation means <X2, Y2) of the polar coordinates (R2tS2) of the second point (M2 or N2 or P2) comprising means (1J2) for calculating the cosine the value of the polar angle t2 contained in one of the intermediate registers (132); means (122) for multiplying the value of the vector ray R2 contained in the other intermediate register (131) by the calculated value of the cosine of the polar angle C2i of the means (143) for calculating the sine of the value of the polar angle C2 contained in one of the intermediate registers (132) and means (123) for multiplying the value (R2) of the vector radius contained in the other intermediate register (131) by the calculated value of the sine of the polar angle @ 2. 9. Processeur selon la revendication 7, caractérisé en ce que les moyens de transformation en coordonnées cartésiennes < X2,Y2) des coordonnées polaires (R2, 2) du second point (M2ou N2 ou P2) comprennent des moyens (142,122, respectivement 143,123) de détermination d'une première coordonnée cartésienne (X2 resp.Y2) par multiplication de la valeur du rayon vecteur R2 par le cosinus respectivement le sinus de l'angle polaire R2 et des moyens (144) de détermination de la tangente de l'angle polaire o.  9. Processor according to claim 7, characterized in that the Cartesian coordinate transformation means <X2, Y2) of the polar coordinates (R2, 2) of the second point (M2 or N2 or P2) comprise means (142,122, respectively 143,123). determining a first Cartesian coordinate (X2 resp. Y2) by multiplying the value of the vector radius R2 by the cosine respectively the sine of the polar angle R2 and means (144) for determining the tangent of the angle polar o. 10. Processeur selon l'une quelconque des revendications 7 à 9, adapté à la transformation géométrique d'un cercle primitif de rayon R1 en un cercle transformé de rayon R2, caractérisé en ce qu'il comprend des moyens (110,111,112,121) de détermination des coordonnées polaires (R2, 2) d'un second point P2 transformé d'un premier point P1 d'un cercle primitif, à partir du facteur multiplicatif K du rayon initial 10. Processor according to any one of claims 7 to 9, adapted to the geometric transformation of a pitch circle of radius R1 into a transformed circle of radius R2, characterized in that it comprises means (110, 111, 112, 121) for determining polar coordinates (R2, 2) of a second transformed point P2 of a first point P1 of a pitch circle, from the multiplicative factor K of the initial radius R1 et du facteur évolutif# &alpha; de l'angle polaire initial t1 du premier point P1; des moyens (170,180,190) de détermination, à partir de la valeur du rayon R2 du second point P2 enregistrée dans un registre intermédiaire (131) relié auxdits moyens (110,111,112,121) de détermination des coordonnées polaires (R2, 2),din nombre N de vecteurs unitaires Vi < 1#i#N)destinés à reconstituer, sous la forme d'un polygone à N facettes, le cercle final de rayon R2; des moyens (141) de détermination, à partir de valeurs pré-établies, du module p des vecteurs unitaires Vi en fonction de la valeur du rayon R2 du second point P2 enregistrée dans ledit registre intermédiaire (131); et des moyens (142,143,122,123) de calcul des coordonnées cartésiennes (Xvi,Yvi) de chacun des vecteurs unitaires Vi du cercle transformé de rayon R2 à partir du module p des vecteurs unitaires Vi et de leur angle polaire lrl2+ir/N+qi où 1#i'N, selon les formulesR1 and the evolution factor # &alpha; the initial polar angle t1 of the first point P1; means (170, 180, 190) for determining, from the value of the radius R2 of the second point P2 recorded in an intermediate register (131) connected to said means (110, 111, 112, 121) for determining the polar coordinates (R2, 2), din number N of vectors units Vi <1 # i # N) for reconstructing, in the form of an N-faceted polygon, the final circle of radius R2; means (141) for determining, from pre-established values, the module p of the unit vectors Vi as a function of the value of the radius R2 of the second point P2 recorded in said intermediate register (131); and means (142,143,122,123) for calculating the Cartesian coordinates (Xvi, Yvi) of each of the unit vectors Vi of the transformed circle of radius R2 from the module p of the unit vectors Vi and their polar angle lrl2 + ir / N + qi where 1 # i'N, according to the formulas
Figure img00160001
Figure img00160001
Figure img00170001
Figure img00170001
Vi et de leur angle polaire ff/2+iRtn+eX où afin, selon les formulesVi and their polar angle ff / 2 + iRtn + eX where so, according to the formulas R2 du second point P2 enregistrée dans ledit registre intermédiaire (131); et des moyens (142,143,122,123) de calcul des coordonnées cartésiennes (Xvi,Yvi) de chacun des vecteurs unitaires Vi de l'arc de cercle transformé de rayon R2 et d'angle d'ouverture fo à partir du module p des vecteurs unitairesR2 of the second point P2 recorded in said intermediate register (131); and means (142,143,122,123) for calculating the Cartesian coordinates (Xvi, Yvi) of each of the unit vectors Vi of the transformed circular arc of radius R2 and of the opening angle fo from the unit vectors module p
11.Processeur selon lune quelconque des revendications 7 à 9, adapté à la transformation géométrique en un arc de cercle transformé de rayon R2, d'un arc de cercle primitif présentant un angle d'ouverture fo dont la valeur est inscrite dans ladite mémoire rapide de paramètres (110) et un rayon R1 dont la valeur est inscrite dans l'un des registres d'entrée (111,112), caractérisé en ce qu'il comprend des moyens (110,111,112,121) de détermination des coordonnées polaires (R2St2) d'un second point P2 transformé d'un premier point P1 d'un arc de cercle primitif, à partir du facteur multiplicatif K du rayon initial R1 et du facteur évolutifs de l'angle polaire initial du dupremier point P1; des moyens (170,180,190) de détermination, à partir de la valeur du rayon R2 du second point P2 enregistrée dans un registre intermédiaire (131) relié auxdits moyens (110,111,112,121) de détermination des coordonnées polaires (R2,a2) et de la valeur de l'angle d'ouverture fo de l'arc de cercle inscrite dans la mémoire (110), un nombre n de vecteurs unitaires Vi n) destinés à reconstituer, sous la forme d'une fraction de polygone à n facettes, l'arc de cercle final de rayon R2; des moyens (141) de détermination, à partir de valeurs pré-établies, du module des vecteur unitaires Vi en fonction de la valeur du rayon 11.Processor according to any one of claims 7 to 9, adapted to the geometric transformation in a transformed arc of radius R2, a primitive arc having an opening angle fo whose value is written in said fast memory of parameters (110) and a radius R1 whose value is inscribed in one of the input registers (111, 112), characterized in that it comprises means (110, 111, 112, 121) for determining the polar coordinates (R2St2) of a second transformed point P2 of a first point P1 of a primitive arc of circle, from the multiplicative factor K of the initial radius R1 and the evolution factor of the initial polar angle of the first point P1; means (170, 180, 190) for determining, from the value of the radius R2 of the second point P2 recorded in an intermediate register (131) connected to said means (110, 111, 112, 121) for determining the polar coordinates (R2, a2) and the value of the angle of opening fo of the arc of circle inscribed in the memory (110), a number n of unit vectors Vi n) intended to reconstitute, in the form of a fraction of polygon with n facets, the arc of final circle of radius R2; means (141) for determining, from pre-established values, the unit vector unit Vi as a function of the value of the radius
FR8411688A 1984-07-24 1984-07-24 GEOMETRIC TRANSFORMER Expired FR2568388B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR8411688A FR2568388B1 (en) 1984-07-24 1984-07-24 GEOMETRIC TRANSFORMER

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR8411688A FR2568388B1 (en) 1984-07-24 1984-07-24 GEOMETRIC TRANSFORMER

Publications (2)

Publication Number Publication Date
FR2568388A1 true FR2568388A1 (en) 1986-01-31
FR2568388B1 FR2568388B1 (en) 1989-04-28

Family

ID=9306409

Family Applications (1)

Application Number Title Priority Date Filing Date
FR8411688A Expired FR2568388B1 (en) 1984-07-24 1984-07-24 GEOMETRIC TRANSFORMER

Country Status (1)

Country Link
FR (1) FR2568388B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0389890A2 (en) * 1989-03-20 1990-10-03 Honeywell Inc. Method and apparatus for generating figures with three degrees of freedom
EP0437074A2 (en) * 1990-01-11 1991-07-17 The Grass Valley Group, Inc. Special effects using polar image coordinates

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4415928A (en) * 1981-01-26 1983-11-15 Rca Corporation Calculation of radial coordinates of polar-coordinate raster scan

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4415928A (en) * 1981-01-26 1983-11-15 Rca Corporation Calculation of radial coordinates of polar-coordinate raster scan

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
1981 IEEE COMPUTER SOCIETY WORKSHOP ON COMPUTER ARCHITECTURE FOR PATTERN ANALYSIS AND IMAGE DATABASE MANAGEMENT, 11-13 novembre 1981,pages 195-200, New York, US; G.H. GRANLUND et al.: "The GOP image processor" *
SOFTWARE AND MICROSYSTEMS, vol. 2, no. 5, octobre 1983, pages 121-129, Camberley, GB; H.F. LI et al.: "A low-cost real-time imaging and processing system", *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0389890A2 (en) * 1989-03-20 1990-10-03 Honeywell Inc. Method and apparatus for generating figures with three degrees of freedom
EP0389890A3 (en) * 1989-03-20 1992-12-02 Honeywell Inc. Method and apparatus for generating figures with three degrees of freedom
EP0437074A2 (en) * 1990-01-11 1991-07-17 The Grass Valley Group, Inc. Special effects using polar image coordinates
EP0437074A3 (en) * 1990-01-11 1993-02-24 The Grass Valley Group, Inc. Special effects using polar image coordinates

Also Published As

Publication number Publication date
FR2568388B1 (en) 1989-04-28

Similar Documents

Publication Publication Date Title
Ren et al. Object space EWA surface splatting: A hardware accelerated approach to high quality point rendering
US8896602B2 (en) Apparatus and method for finding visible points in a point cloud
EP0282364B1 (en) Method for representing a terrain-perspective image and system for carrying it out
US20100033551A1 (en) Content-Aware Wide-Angle Images
FR2546017A1 (en) METHOD FOR REALIZING A GEOMETRIC TRANSFORMATION ON A VIDEO IMAGE, AND DEVICES USING THE SAME
WO2001099052A1 (en) Refinement of a triangular mesh representing a three-dimensional object
US20090076754A1 (en) Methods, systems and apparatuses for modeling optical images
US11605198B2 (en) Systems and methods for generating dynamic real-time high-quality lighting for digital animation
FR2747209A1 (en) POLICE OF HOLLOW LETTERS WITH GRADUAL RETURN AND ITS CREATION, TRANSMISSION AND RETURN PROCEDURES
FR2966623A1 (en) METHOD FOR ESTIMATING OCCULTATION IN A VIRTUAL ENVIRONMENT
GB2605155A (en) Image rendering method and apparatus
CN115272556A (en) Method, apparatus, medium, and device for determining reflected light and global light
EP1282078A1 (en) Video object graphic processing device
FR2920243A1 (en) METHODS AND DEVICES FOR REAL-TIME GENERATION OF MAPPING FUNDS
EP0125989B1 (en) Method of generating a video picture comprising a geometric figure, and form generator carrying out this method
EP1004094B1 (en) Shading three dimensional computer graphics images
FR2568388A1 (en) Geometric transformation processor.
EP2297705A1 (en) Method for the real-time composition of a video
Snydre et al. Fast soft self‐shadowing on dynamic height fields
CN109883414A (en) A kind of automobile navigation method, device, electronic equipment and storage medium
US10255674B2 (en) Surface reflectance reduction in images using non-specular portion replacement
Nowrouzezahrai et al. Fast global illumination on dynamic height fields
WO2014170482A1 (en) Method for generating an output video stream from a wide-field video stream
FR3069692B1 (en) METHOD AND DEVICE FOR MANAGING THE DISPLAY OF VIRTUAL REALITY IMAGES
WO2011058007A2 (en) Method for estimating light scattering

Legal Events

Date Code Title Description
ST Notification of lapse