WO1997017677A1 - Procede de generation dynamique d'images synthetiques a niveau de detail automatique, et dispositif de mise en oeuvre - Google Patents

Procede de generation dynamique d'images synthetiques a niveau de detail automatique, et dispositif de mise en oeuvre Download PDF

Info

Publication number
WO1997017677A1
WO1997017677A1 PCT/FR1996/001716 FR9601716W WO9717677A1 WO 1997017677 A1 WO1997017677 A1 WO 1997017677A1 FR 9601716 W FR9601716 W FR 9601716W WO 9717677 A1 WO9717677 A1 WO 9717677A1
Authority
WO
WIPO (PCT)
Prior art keywords
detail
observer
terrain
points
level
Prior art date
Application number
PCT/FR1996/001716
Other languages
English (en)
Inventor
Serge Couvet
Christophe Delepine
Original Assignee
Thomson-Csf
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 Thomson-Csf filed Critical Thomson-Csf
Priority to DE69632717T priority Critical patent/DE69632717T2/de
Priority to CA002209275A priority patent/CA2209275C/fr
Priority to EP96937376A priority patent/EP0801775B1/fr
Priority to US08/849,733 priority patent/US5986666A/en
Publication of WO1997017677A1 publication Critical patent/WO1997017677A1/fr

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation

Definitions

  • the present invention relates to a method for dynamic generation of synthetic images with automatic level of detail, as well as to a device for implementing this method.
  • the real-time image synthesis machines used in flight simulators are capable of generating images of a quality close to reality thanks in particular to the massive use of photographic textures. But the maximum number of polygons that can be displayed in each image cycle remains their main limitation.
  • the terrain model (algorithms and data structures) which manages this altimetric data must take into account the following three requirements which are essential, in particular for aircraft flight simulators: - Fidelity:
  • the characteristic aspects of the relief are very important visual landmarks for pilots and influence the quality of their training and their decisions during a mission.
  • the respect crest lines is therefore an essential condition for any cartographic model.
  • the number of polygons representing a given terrain directly influences the response times of the real-time simulator (rendering, collision, rolling, intervisibility ).
  • the roughness of a ground not being regular, the mesh must adapt to the relief, loose in the areas of constant slope, fine in the uneven parts.
  • a first approach consists in precalculating different levels of detail for each region and switching in real time from one level to another. Unfortunately this method has many drawbacks:
  • the memory footprint limits the number of levels of detail per region and penalizes the dynamic loading of the database. In addition, this number varies according to the relief of each region.
  • the subject of the present invention is a process for dynamic generation of synthetic images making it possible to generate synthetic images in real time with the maximum possible fidelity and the best possible rendering, without requiring significant calculation means, taking into account the relevance. points of the various levels of detail as a function of the position of the observer, this process also allowing modifications to the configuration of the terrain in real time.
  • the present invention also relates to a dynamic generator of synthetic images comprising means which are the cheapest possible, preferably means such as calculators and means for storing databases which are simple and commonly available.
  • the method in accordance with the invention consists in constituting a database starting from a file containing the topographic data relating to the land to be viewed, eliminating the least significant data, then calculating in real time the points to be displayed as a function the level of detail required, which itself depends on the position of the observer, the maximum altitude of the terrain to be viewed, the visibility distance and the level of detail required, by selecting a subset of the points in the database defining a portion of terrain whose level of detail has changed, by making an irregular mesh of the selected portion of terrain, preferably a Delaunay type mesh, and applying a texture to the polygons resulting from the mesh.
  • the accuracy of the representation of the terrain is locally adjusted by adding or removing points in the mesh, the selection of these points being made according to the relief, the position of the observer and the type of vehicle on which the observer is located.
  • - Figure 2 is a diagram showing the evolution of the triangulation error of a surface as a function of the number of points chosen to represent it
  • - Figure 3 is an explanatory diagram showing the effect of the insertion of a significant point on the triangulation error
  • FIG. 4 is a simplified diagram of the software architecture of a graphics processor implementing the method of the invention
  • FIG. 5 is a simplified explanatory perspective view defining the angular error criterion used by the present invention.
  • FIG. 6 is a simplified example explaining the switch from a level of detail N to a level of detail N + 1, in accordance with the invention.
  • the present invention to produce a terrain model, implements a mesh technique based on the Delaunay triangulation, and more precisely the constrained Delaunay triangulation, schematically illustrated in FIG. 1.
  • the points P defining the nodes of the mesh can be arbitrarily distributed in the plan of region 1 treated.
  • This region 1 is one of the areas of the terrain. In the example in Figure 1, this area is simply a rectangle.
  • This mesh technique has many advantages. First, the simplicity of the objects processed (triangles) allows them to be processed in real time. This is due in particular to the fact that the majority of algorithms for visualization and geometric manipulation are simplified and accelerated thanks to the exclusive use of triangles.
  • Delaunay triangulation is unique, which allows these points to be treated in any order.
  • the remarkable property of Delaunay triangulation is that it generates triangles that are as equilateral as possible. This property is very advantageous in image synthesis for which it reduces the problems of aliasing and digital precision.
  • Delaunay triangulation makes it possible to add or remove a point from an already triangulated set without having to recalculate all the points, due to the only local influence of such a point.
  • Such interactive manipulation also promotes the modification in real time of a visualized terrain.
  • the constrained Delaunay triangulation guarantees the existence of certain edges in the mesh, which makes it possible to respect the geometry of the objects integrated into the terrain (roads, railway lines, constructions, ).
  • the present invention implements the filtering of the displayed terrain surfaces. This filtering eliminates the least significant points of this surface, which simplifies the processing of the geographic area to be displayed. The triangulation then carried out on the remaining points of this surface corresponds to the finest level of detail of the database which provides these points.
  • Filtering consists in refining the triangulation of the terrain by an iterative process. For each point P, one calculates the distance between this point and the point Q which is the projection of P on the current triangulation. This distance corresponds locally to the error existing between the surface of the approximate terrain (resulting from the current triangulation) and the surface of the actual terrain. After having calculated the errors relating to the different points, we select the point of maximum error, and insert it into the current triangulation. This step is repeated until the maximum point error of the area considered is less than a threshold which is is fixed according to the desired realism of the display and taking into account the computing power necessary to cross this threshold for various types of terrain.
  • the curve of Figure 2 shows the evolution of the error (corresponding to the distance PQ as defined above) as a function of the number of points defining a given area.
  • the terrain is not, in general, a convex surface, the insertion of a point in the current triangulation can have the effect of increasing the error instead of decreasing it.
  • this insertion step is repeated until the maximum error becomes less than a threshold that is set.
  • a threshold that is set.
  • the temporary peaks due to the insertion of points (such as P4) corresponding to reliefs having a curvature opposite to the current curvature have been eliminated.
  • there is an almost exponential decrease in the maximum error as soon as the number of points defining a given area (with dimensions of the order of 100 km 2 ) exceeds one thousand. It is therefore easy, for a given type of relief (slightly uneven, moderately mountainous, very mountainous ...) to carry out tests to obtain a curve such as that of FIG.
  • the invention consists in modifying the database in real time so as not to send to the graphics engine. than the characteristic polygons from the point of view of the observer.
  • the precision of the terrain is adjusted locally by adding and removing points in the current mesh.
  • the selection of points to insert and delete takes into account the relief (in particular to respect the ridge lines, which are an important element of the landscape for a helicopter or airplane pilot), the position of the observer and the type of mobile (tank, plane, helicopter ).
  • the diagram of FIG. 4 represents in a simplified way the two main software layers 2, 3 of the graphics engine implementing the method of the invention.
  • Layer 2 is the one responsible for Delaunay triangulation, performed in asynchronous mode. It performs, among other things, the processor load regulation (optimization of the processing of data packets passing in asynchronous mode), the calculation of the level of detail and the regeneration of the database (after local modification of the description of the terrain) in host processor format.
  • Layer 3 is the graphic task proper, which refreshes the screen at a rate of, for example, 30 Hz. This task essentially performs the pre-setting of the regions (so as to have to display only the regions visible to the user) , display, and transition between two levels of detail.
  • the cooperation between the two software layers 2 and 3 takes place in the following manner. It is assumed that the graphic system displays scenes that an observer in a mobile vehicle simulator must see at a given time. Graphic task 3 sends at regular time intervals (for example at the rate of 30 Hz, as specified above), the Delaunay mesh polygons to be displayed (depending on the movement of said vehicle). These polygons correspond to the current level of detail that is displayed. Asynchronously, the Delaunay 2 task recalculates the appropriate level of detail, in order to take into account the change in position of the observer relative to the displayed region.
  • the graphics processor recalculates the relevance of the points from the database.
  • all the terrain regions in the local database are processed. Otherwise (civil aircraft pilot, etc.), only the regions relating to the heading of the vehicle are recalculated. It is thus possible to reduce the number of regions to be treated.
  • the selection of points to insert or delete in a mesh is done by respecting the following three criteria:
  • the calculation of the relevance of a point Pn of a mesh (that is to say the determination of the need to keep this point or to delete it during a change in level of detail) is done in the following way.
  • the distance Dn between Pn and Qn is not calculated by projecting Pn on the current triangulation not containing Pn. In fact, this distance becomes constant and is precalculated as explained above with reference to FIGS. 3A to 3C. During the visual simulation, this elevation error is transformed into an angular error with respect to the observer. If the angular error thus calculated is greater than a threshold value Eseuil, the point Pn is inserted, otherwise it is deleted.
  • Graphic task 3 controls the switching of the level of detail, that is to say the switching between a scene prior to an operation of inserting / deleting points due to a change in position of the observer, and a correct scene after this operation.
  • FIG. 6 which is a top view, the process of switching from a level of detail N to a level N + 1.
  • the intermediate morphing triangulation is displayed during the entire duration of the morphing operation (to avoid having a sudden jump between the starting and finishing levels of detail).
  • This intermediate triangulation is calculated by preserving the points of the triangulations of the two levels of detail, by adding to it the possible points of intersection.
  • FIG. 6 there are shown on the left three adjacent non-coplanar triangles forming part of the level of detail N, together forming a left surface with a pentagonal outline a, b, c, d, e, whose common edges each with two triangles are be and bd.
  • the level of detail N + 1 we have represented the level of detail N + 1 (we can all as well to speak of level N-1), whose left surface has the same pentagonal contour a, b, c, d, e as in level of detail N, but comprising a vertex f which, when viewed from above is located substantially in the center of the pentagonal outline. This vertex f is connected by five edges to the respective five vertices of the pentagon.
  • the intermediate triangulation There is shown in the middle of Figure 6 the intermediate triangulation.
  • the elevation speed of a point depends on several factors, in particular at least one of the following factors: - its visibility by the observer. Thus, a point which is not in the instantaneous field of vision of the observer is raised immediately.
  • the other advantages of the process of the invention are: - a reduction in the volume of the database without loss of image quality.
  • the visualization system is capable of calculating a rendering image equal to that obtained by the methods of the prior art with much less polygons: on average, we can eliminate 2/3 of the facets without degrading the image.

Abstract

Le procédé de génération dynamique d'images synthétiques de l'invention fait appel au maillage de Delaunay, et seules sont traitées, en temps réel, les portions de terrain pour lesquelles une variation significative du niveau de détail a lieu, cette variation significative étant déterminée par l'erreur angulaire, du point de vue de l'observateur, et relative aux différents points du terrain, que l'on commettrait si l'on omettait de traiter ces points, seule l'erreur angulaire supérieure à un certain seuil étant prise en compte.

Description

PROCEDE DE GENERATION DYNAMIQUE D'IMAGES
SYNTHETIQUES A NIVEAU DE DETAIL AUTOMATIQUE,
ET DISPOSITIF DE MISE EN OEUVRE.
La présente invention se rapporte à un procédé de génération dynamique d'images synthétiques à niveau de détail automatique, ainsi qu'à un dispositif de mise en oeuvre de ce procédé.
Les machines de synthèse d'images temps réel utilisées dans les simulateurs de vol sont capables de générer des images d'une qualité proche de la réalité grâce en particulier à l'utilisation massive de textures photographiques. Mais le nombre maximal de polygones pouvant être affichés à chaque cycle image demeure leur principale limitation.
Malheureusement, on s'aperçoit que ce nombre est très mal exploité dans certaines situations. En effet, quelle que soit la distance de visibilité de l'observateur, la même attention est portée aux facettes lointaines qu'aux facettes proches. Pourtant, lors du calcul, la pertinence dans l'image des facettes éloignées est très faible par rapport à celles se trouvant à proximité de l'observateur. Certaines tentatives ont été menées dans le passé pour simplifier le paysage à longue distance. Mais celles-ci se sont révélées peu efficaces et trop contraignantes au niveau de la génération des bases de données.
La visualisation de terrains réels en images de synthèse est possible grâce à l'existence de relevés altimétriques issus d'observations radars ou satellites. Ces données altimétriques se présentent en général sous la forme d'une grille bidimensionnelle donnant l'altitude en chaque point.
Le modèle de terrain (algorithmes et structures de données) qui gère ces données altimétriques doit prendre en considération les trois exigences suivantes qui sont essentielles, en particulier pour des simulateurs de pilotage d'avions : - Fidélité :
Les aspects caractéristiques du relief (pics, vallées) sont des repères visuels très importants pour les pilotes et influent sur la qualité de leur entraînement et de leurs décisions au cours d'une mission. Le respect des lignes de crête est donc une condition essentielle pour tout modèle cartographique.
- Economie d'informations :
A précision égale, le nombre de polygones représentant un terrain donné influe directement sur les temps de réponse du simulateur temps réel (rendu, collision, roulement, intervisibilité...). La rugosité d'un terrain n'étant pas régulière, le maillage doit s'adapter au relief, lâche dans les zones de pente constante, fin dans les parties accidentées.
- Rapidité de génération : Les bases de données de simulation pouvant couvrir des milliers de Km2, leur coût de génération est directement lié à l'utilisation d'algorithmes performants permettant d'intégrer les différentes sources de données (planimétrie, altimétrie, photométrie) en un temps minimum.
Les bases de données de simulateurs d'avions étant en général très vastes, le nombre de facettes représentant le terrain est considérable. Or le visuel ne sait afficher en temps réel que quelques milliers de facettes. Afin d'éliminer très rapidement celles qui ne sont pas dans le champ de vision, on effectue une pré-troncature région. Lors de la modélisation de la base de données, le terrain est partitionné en zones rectangulaires appelées régions. De simples calculs d'intersection pyramide-boîte permettent de sélectionner les régions visibles et d'éliminer ainsi un très grand nombre de facettes.
Cette découpe est également très utile si la base de données ne peut être chargée d'un bloc en mémoire. II suffit alors de ne charger que les régions comprises dans la sphère centrée sur l'observateur et de rayon égal à la distance de visibilité. Cette base de données locale est mise à jour au fur et à mesure que l'observateur se déplace : les régions qui sortent de la sphère sont déchargées et remplacées par celles qui y rentrent. Ainsi, seul l'espace mémoire limite la taille des bases de données. Pour de faibles distances de visibilité (< 10 km) et un terrain moyennement accidenté, une pré troncature région s'avère suffisante pour garantir la fréquence de calcul des images. Au-delà, la gestion de charge du visuel demeure problématique. Une surcharge du visuel en polygones se traduit par des sauts d'images suite à des dépassements de cycle. Cette situation est difficilement acceptable pour un simulateur de vol temps réel. Le seul recours dont on dispose aujourd'hui est de simplifier les zones de la base de données où l'affichage "coince". Cette solution est coûteuse et peu pratique. De plus, pour des distances de visibilité importantes, le relief est beaucoup trop simplifié. Seuls des algorithmes sophistiqués de niveau de détail peuvent diminuer drastiquement le nombre de facettes affichées sans dégrader la qualité de l'image. Ces algorithmes sont nés du constat suivant : la pertinence d'un polygone du terrain, c'est à dire le nombre de pixels qu'il occupe à l'écran, est d'autant plus faible que ce polygone est loin. Si on ne fait rien, une partie de la puissance graphique de la machine est gaspillée à clipper, projeter, texturer... des polygones qui, en fin de compte, n'occupent qu'un ou deux pixels à l'écran. Toute la difficulté consiste donc à simplifier un terrain vu par un observateur mobile sans nuire à la pertinence de l'image. Devant la complexité mathématique et algorithmique, aucun constructeur de simulateurs n'a intégré un tel dispositif de manière vraiment efficace.
Une première approche consiste à précalculer différents niveaux de détail pour chaque région et à commuter en temps réel d'un niveau à l'autre. Malheureusement cette méthode comporte beaucoup d'inconvénients :
- Dépendance vis à vis des régions :
Les régions jouant ici le rôle de frontières entre niveaux de détail, la qualité de la commutation dépend de leurs tailles. - Encombrement mémoire :
L'encombrement mémoire limite le nombre de niveaux de détail par région et pénalise le chargement dynamique de la base de données. De plus, ce nombre varie en fonction du relief de chaque région.
- Commutation trop brutale : Plus le nombre de niveaux de détail d'une région est faible, plus la commutation est brutale. Ces artefacts d'image sont très gênants pour le pilote.
Pour remédier à ces problèmes, des modèles de terrain hiérarchiques ont été envisagés. Une hiérarchie de niveaux de détail au sein d'une même structure de données (quad-tree, Delaunay-pyramid) ne mémorise que les changements pour passer d'un niveau de détail à l'autre, d'où une économie de mémoire importante. L'arborescence est parcourue afin de sélectionner les triangles à afficher en fonction de la précision requise. Trois inconvénients majeurs subsistent :
- Niveau de détail global :
La construction des niveaux de détail successifs est uniquement basée sur un critère de précision indépendamment de la position d'un observateur. L'ordre d'apparition des points est figé alors que la pertinence des points varie justement en fonction de la position de l'observateur.
- Modifications du terrain impossibles :
Ces structures de données hiérarchiques sont rigides et n'autorisent aucune modification du terrain en temps réel. II serait nécessaire de reconstruire toute l'arborescence, ce qui est trop coûteux. - Coût additionnel de génération de la base de données.
La génération de la base de données reste quelque chose de très coûteux. Les contraintes liées au temps réel compliquent la modélisation de la scène.
La présente invention a pour objet un procédé de génération dynamique d'images synthétiques permettant de générer en temps réel des images synthétiques avec le maximum possible de fidélité et le meilleur rendu possible, sans nécessiter de moyens de calcul importants, en tenant compte de la pertinence des points des différents niveaux de détail en fonction de la position de l'observateur, ce procédé permettant également des modifications de la configuration du terrain en temps réel.
La présente invention a également pour objet un générateur dynamique d'images synthétiques comportant des moyens qui soient le meilleur marché possible, de préférence des moyens tels que des calculateurs et des moyens de mémorisation de bases de données qui soient simples et couramment disponibles.
Le procédé conforme à l'invention consiste à constituer une base de données en partant d'un fichier contenant les données topographiques relatives aux terrains à visualiser, à éliminer les données les moins significatives, puis à calculer en temps réel les points à afficher en fonction du niveau de détail requis, qui est lui-même fonction de la position de l'observateur, de l'altitude maximale du terrain à visualiser, de la distance de visibilité et du niveau de détail requis, en sélectionnant un sous-ensemble des points de la base de données définissant une portion de terrain dont le niveau de détail a changé, en effectuant un maillage irrégulier de la portion de terrain sélectionnée, de préférence un maillage de type Delaunay, et à appliquer une texture sur les polygones résultant du maillage.
Selon un aspect du procédé de l'invention, on ajuste localement la précision de la représentation du terrain par ajout ou suppression de points dans le maillage, la sélection de ces points étant faite en fonction du relief, de la position de l'observateur et du type de véhicule sur lequel se trouve l'observateur.
La présente invention sera mieux comprise à la lecture de la description détaillée d'un exemple de mise en oeuvre, illustré par le dessin annexé, sur lequel : - la figure 1 est un exemple de triangulation contrainte de
Delaunay, pouvant être mise en oeuvre par la présente invention,
- la figure 2 est un diagramme montrant l'évolution de l'erreur de triangulation d'une surface en fonction du nombre de points choisis pour la représenter, - la figure 3 est un schéma explicatif montrant l'effet de l'insertion d'un point significatif sur l'erreur de triangulation,
- la figure 4 est un schéma simplifié de l'architecture logicielle d'un processeur graphique mettant en oeuvre le procédé de l'invention,
- la figure 5 est une vue explicative simplifiée en perspective définissant le critère d'erreur angulaire utilisé par la présente invention, et
- la figure 6 est un exemple simplifié expliquant le basculement d'un niveau de détail N à un niveau de détail N+1 , conformément à l'invention.
La présente invention, pour réaliser un modèle de terrain, met en oeuvre une technique de maillage basée sur la triangulation de Delaunay, et plus précisément ia triangulation contrainte de Delaunay, schématiquement illustrée en figure 1. Les points P définissant les noeuds du maillage peuvent être arbitrairement distribués dans le plan de la région 1 traitée. Cette région 1 est une des zones du terrain. Dans l'exemple de la figure 1 , cette zone est simplement un rectangle. Cette technique de maillage présente de nombreux avantages. En premier lieu, la simplicité des objets traités (triangles) permet de les traiter en temps réel. Ceci est dû en particulier au fait que la majorité des algorithmes de visualisation et de manipulation géométrique sont simplifiés et accélérés grâce à l'utilisation exclusive de triangles. De plus, pour un ensemble de points donné (points d'un relevé altimétrique), la triangulation de Delaunay correspondante est unique, ce qui permet de traiter ces points dans n'importe quel ordre. La propriété remarquable de la triangulation de Delaunay est de générer des triangles qui sont le plus équilatéraux possible. Cette propriété est très avantageuse en synthèse d'images pour laquelle elle diminue les problèmes d'aliassage et de précision numérique.
La triangulation de Delaunay permet de rajouter ou de supprimer un point d'un ensemble déjà triangulé sans avoir à recalculer tous les points, du fait de l'influence uniquement locale d'un tel point. Une telle manipulation interactive favorise également la modification en temps réel d'un terrain visualisé.
La triangulation de Delaunay contrainte garantit l'existence de certaines arêtes dans le maillage, ce qui permet de respecter la géométrie des objets intégrés dans le terrain (routes, lignes de chemin de fer, constructions, ...).
Outre la triangulation, la présente invention met en oeuvre le filtrage des surfaces de terrain visualisées. Ce filtrage permet d'éliminer les points les moins significatifs de cette surface, ce qui permet de simplifier le traitement de la zone géographique à visualiser. La triangulation effectuée ensuite sur les points restants de cette surface correspond au niveau de détail le plus fin de la base de données qui fournit ces points.
Le filtrage consiste à affiner par un processus itératif la triangulation du terrain. Pour chaque point P, on calcule la distance entre ce point et le point Q qui est le projeté de P sur la triangulation courante. Cette distance correspond, localement, à l'erreur existant entre la surface du terrain approximé (résultant de la triangulation courante) et la surface du terrain réel. Après avoir calculé ainsi les erreurs relatives aux différents points, on sélectionne le point d'erreur maximale, et on l'insère dans la triangulation courante. On répète cette étape jusqu'à ce que l'erreur maximale des points de la zone considérée soit inférieure à un seuil que l'on se fixe en fonction du réalisme désiré de l'affichage et compte tenu de la puissance de calcul nécessaire pour franchir ce seuil pour divers types de terrains.
La courbe de la figure 2 montre l'évolution de l'erreur (correspondant à la distance PQ telle que définie ci-dessus) en fonction du nombre de points définissant une zone donnée. La terrain n'étant pas, en général, une surface convexe, l'insertion d'un point dans la triangulation courante peut avoir pour effet d'augmenter l'erreur au lieu de la diminuer.
Ainsi, par exemple comme représenté en figure 3A, on suppose que le long d'une section de terrain accidenté on dispose au départ de quatre points P1 , P2, P3 et P4. L'approximation initiale est le segment P1 - P2. Le point qui est ensuite inséré est celui dont la distance au segment P1- P2 est la plus grande. Supposons qu'il s'agisse de P3. On constate alors que ia nouvelle erreur de P4 (distance de P4 au segment P3-P2) peut être supérieure à la distance D' entre P3 et son projeté Q3 sur le segment P1-P2. En général, on constate qu'après plusieurs insertions consécutives, l'erreur finit par descendre au-dessous de la valeur (D' dans l'exemple de la figure 3A) qu'elle avait lors de l'insertion du premier point (P3 pour l'exemple considéré). Dans la pratique, on répète cette étape d'insertion jusqu'à ce que l'erreur maximale devienne inférieure à un seuil que l'on se fixe. Dans le diagramme de la figure 2, on a supprimé les pics temporaires dus à l'insertion de points (tels que P4) correspondant à des reliefs présentant une courbure inverse de la courbure courante. Ainsi, on constate d'après cette figure 2 une diminution quasi exponentielle de l'erreur maximale dès que le nombre de points définissant une zone donnée (de dimensions de l'ordre de 100 km2) dépasse le millier. II est donc facile, pour un type de relief donné (peu accidenté, moyennement montagneux, très montagneux...) d'effectuer des essais pour obtenir une courbe telle que celle de la figure 2, et d'optimiser le rapport entre l'exactitude de la représentation du terrain et le nombre de points nécessaires à une représentation fidèle du terrain, sans surcharger inutilement le processeur de calcul graphique ou "moteur graphique" (au-delà d'un certain nombre de points, le gain en précision devient dérisoire au vu de l'augmentation du nombre de calculs).
A partir des principes ci-dessus, l'invention consiste à modifier en temps réel la base de données de manière à n'envoyer au moteur graphique que les polygones caractéristiques du point de vue de l'observateur. La précision du terrain est ajustée localement par ajout et suppression de points dans le maillage courant. La sélection des points à insérer et à supprimer tient compte du relief (en particulier pour bien respecter les lignes de crête, qui sont un élément important du paysage pour un pilote d'hélicoptère ou d'avion), de la position de l'observateur et du type de mobile (char, avion, hélicoptère...).
Le schéma de la figure 4 représente de façon simplifiée les deux couches logicielles principales 2, 3 du moteur graphique mettant en oeuvre le procédé de l'invention. La couche 2 est celle qui est chargée de la triangulation de Delaunay, effectuée en mode asynchrone. Elle effectue, entre autres, la régulation de charge du processeur (optimisation du traitement des paquets de données transitant en mode asynchrone), le calcul du niveau de détail et la régénération de la base de données (après modification locale de la description du terrain) au format du processeur hôte.
La couche 3 est la tâche graphique proprement dite, qui rafraîchit l'écran à une cadence de, par exemple, 30 Hz. Cette tâche effectue essentiellement la prétroncature des régions (pour n'avoir à afficher que les régions visibles par l'utilisateur), l'affichage, et la transition entre deux niveaux de détail.
La coopération entre les deux couches logicielles 2 et 3 se passe de la façon suivante. On suppose que le système graphique affiche des scènes que doit voir un observateur se trouvant dans un simulateur de véhicule mobile à un instant donné. La tâche graphique 3 envoie à intervalles de temps réguliers (par exemple à la cadence de 30 Hz, comme précisé ci-dessus), les polygones maillés en Delaunay à afficher (en fonction du déplacement dudit véhicule). Ces polygones correspondent au niveau de détail courant qui est affiché. De manière asynchrone, la tâche Delaunay 2 recalcule le niveau de détail approprié, afin de tenir compte du changement de position de l'observateur par rapport à la région affichée. Les points alors devenus pertinents (visibles par l'observateur et nécessaires à la définition réaliste du paysage, c'est-à-dire pas trop éloignés de l'observateur) sont insérés dans le maillage Delaunay. Les points devenus inutiles sont supprimés. Le procédé de sélection de ces points est expliqué plus en détail ci-dessous. Dès que le nouveau maillage est calculé, il se substitue à l'ancien par basculement (marqué "flip-flop" en figure 4).
A chaque requête de changement de niveau de détail transmise par la couche 3, le processeur graphique recalcule la pertinence des points issus de la base de données. Dans le cas d'un observateur pouvant se retourner très rapidement (pilote d'hélicoptère ou de char), toutes les régions de terrain de la base de données locale sont traitées. Dans le cas contraire (pilote d'avion civil, ...), seules les régions relatives au cap du véhicule sont recalculées. On peut ainsi diminuer le nombre de régions à traiter. La sélection des points à insérer ou à supprimer dans un maillage se fait en respectant les trois critères suivants :
1°) critère de déterminisme. La triangulation obtenue pour une position d'observateur donnée doit toujours être la même, quel qu'ait été le chemin suivi par cet observateur pour arriver à cette position. En d'autres termes, le calcul de la pertinence d'un point doit être indépendant des calculs précédents.
2°) critère de continuité d'aspect des régions. Si un point est inséré ou supprimé sur un bord de région, il doit aussi être inséré ou supprimé pour la région voisine. De cette façon, on garantit le raccordement géométrique entre régions voisines.
3°) critère de respect du relief. Les points caractéristiques du terrain doivent être conservés.
Selon l'invention, le calcul de la pertinence d'un point Pn d'un maillage (c'est-à-dire la détermination de la nécessité de garder ce point ou de le supprimer lors d'un changement de niveau de détail) se fait de la faon suivante.
Soient O le point de l'espace où est situé l'observateur, et Qn la projection verticale (selon la verticale locale) de Pn sur la triangulation Pm ne contenant pas le point Pn. La variable déterminant la pertinence du point Pn est l'angle Ea formé par les demi-droites OPn et OQn (voir figure 5). Cet angle Ea peut être appelé erreur angulaire (correspondant à la suppression de Pn).
Pour satisfaire le premier critère cité ci-dessus, il est important que l'évaluation de l'angle Ea fournisse toujours la même valeur pour une position courante donnée du point , car autrement, la triangulation serait non déterministe. Un phénomène d'instabilité serait même produit si le calcul de Ea dépendait des points voisins, car alors l'insertion d'un point affecterait les erreurs angulaires des points voisins, ce qui pourrait entraîner une boucle infinie d'insertions et de suppressions de points. De plus, les points frontières entre deux régions adjacentes ne seraient pas insérés ou supprimés en même temps parce que leurs erreurs angulaires seraient différentes, et il y aurait non respect du critère 2 ci-dessus.
Pour toutes ces raisons, lors du calcul de Ea, la distance Dn entre Pn et Qn n'est pas calculée en projetant Pn sur la triangulation courante ne contenant pas Pn. En fait, cette distance devient constante et est précalculée de la façon exposée ci-dessus en référence aux figures 3A à 3C. Lors de la simulation visuelle, cette erreur d'élévation est transformée en une erreur angulaire par rapport à l'observateur. Si l'erreur angulaire ainsi calculée est supérieure à une valeur de seuil Eseuil, le point Pn est inséré, sinon il est supprimé.
La tâche graphique 3 commande la commutation du niveau de détail, c'est-à-dire la commutation entre une scène antérieure à une opération d'insertion/suppression de points due à un changement de position de l'observateur, et une scène juste postérieure à cette opération. On a représenté, de façon simplifiée, sur la figure 6, qui est une vue de dessus, le processus de basculement d'un niveau de détail N à un niveau N+1. Pour éviter que la transition entre les triangulations correspondant à ces niveaux de détail ne produise un artefact visuel dénommé "popping", mais soit pratiquement invisible, ou en tout cas pour qu'elle ne soit pas gênante, on procède à un "morphing", technique d'interpolation bien connue en soi. La triangulation intermédiaire de morphing est affichée pendant tout le temps que dure l'opération de morphing (pour éviter d'avoir un saut brutal entre les niveaux de détail de départ et d'arrivée). Cette triangulation intermédiaire est calculée en conservant les points des triangulations des deux niveaux de détail, en y ajoutant les éventuels points d'intersection.
Dans l'exemple simplifié de la figure 6, on a représenté à gauche trois triangles non coplanaires adjacents faisant partie du niveau de détail N, formant ensemble une surface gauche à contour pentagonal a, b, c, d, e, dont les arêtes communes chacune à deux triangles sont be et bd. Sur la droite de la figure, on a représenté le niveau de détail N + 1 (on peut tout aussi bien parler du niveau N-1 ), dont la surface gauche a le même contour pentagonal a, b, c, d, e que dans le niveau de détail N, mais comportant un sommet f qui, en vue de dessus est situé sensiblement au centre du contour pentagonal. Ce sommet f est relié par cinq arêtes aux cinq sommets respectifs du pentagone. On a représenté au milieu de la figure 6 la triangulation intermédiaire.
Pour assurer une transition pratiquement invisible entre les niveaux de détail N et N+1 , on impose dans la triangulation de départ trois nouveaux points (voir représentation au milieu de la figure 6) : - i-| sur l'arête be (sur la verticale passant par be et af)
- Î2 sur l'arête bd (sur la verticale passant par bd et cf)
- f sur la face bde (sur la verticale passant par la position finale de f).
Ensuite, ces trois points sont progressivement déplacés (opération de "morphing") jusqu'à ce que :
- ^ soit sur l'arête af
- \2 soit sur l'arête fc
- f atteigne sa position de référence.
Lorsque les positions finales de ces trois points sont atteintes, l'opération de morphing est terminée et la nouvelle triangulation du niveau de détail N + 1 est affichée (c'est-à-dire la surface triangulaire de droite de la figure 6).
La vitesse d'élévation d'un point dépend de plusieurs facteurs, en particulier d'au moins l'un des facteurs suivants : - de sa visibilité par l'observateur. Ainsi, un point qui ne se trouve pas dans le champ visuel instantané de l'observateur est élevé immédiatement.
- de la vitesse de déplacement de l'observateur. Ainsi, lorsqu'il est immobile, l'élévation des points est gelée.
- de la distance du point à l'observateur. A altitude égale, plus le point est éloigné de l'observateur, plus il monte vite.
Grâce à ces caractéristiques du procédé de l'invention, on obtient une commutation rapide des niveaux de détail consécutifs avec la meilleure fluidité possible de transition entre images.
Les autres avantages du procédé de l'invention sont : - une réduction du volume de la base de données sans perte de qualité d'image. Le système de visualisation est capable de calculer une image de rendu égal à celui obtenu par les procédés de l'art antérieur avec beaucoup moins de polygones : en moyenne, on peut éliminer 2/3 des facettes sans dégrader l'image.
- automatisation de la gestion de charge du processeur graphique. II adapte la base de données aux performances du matériel par simple réglage d'un paramètre (Erreur angulaire de seuil). II permet donc d'obtenir le meilleur réalisme possible pour l'affichage des scènes compte tenu des possibilités du système graphique et de visualisation.
- II simplifie la génération de la base de données : le pré-calcul des niveaux de détail devient inutile (le niveau de détail approprié est généré directement par la couche 2 de triangulation), ce qui diminue corrélativement le prix de revient des moyens de production de la base de données.
- II permet la modification en temps réel de la représentation du terrain, en particulier afin de pouvoir l'adapter à des scénarios de simulation exigeants, ou à des besoins nouveaux, telle la simulation distribuée interactive.

Claims

R E V E N D I C A T I O N S
1. - Procédé de génération dynamique d'images synthétiques à niveau de détail automatique, selon lequel on constitue une base de données en partant d'un fichier contenant les données topographiques relatives aux terrains à visualiser, et on élimine les données les moins significatives, caractérisé en ce qu'on calcule en temps réel les points à afficher en fonction du niveau de détail requis, qui est lui-même fonction de la position de l'observateur, des lignes de crête du terrain à visualiser, de la distance de visibilité et du niveau de détail requis, que l'on sélectionne un sous-ensemble des points de la base de données définissant une portion de terrain dont le niveau de détail a changé, que l'on effectue un maillage irrégulier de la portion de terrain sélectionnée, et que l'on applique une texture sur les polygones résultant du maillage. 2. - Procédé selon la revendication 1 , caractérisé en ce que le maillage est du type Delaunay.
3. - Procédé selon l'une des revendications 1 ou 2, caractérisé en ce que le niveau de détail requis est déterminé en fonction de l'erreur angulaire maximale admise (Ea) telle que vue par l'observateur. A - Procédé selon l'une des revendications précédentes, caractérisé en ce que la transition entre niveaux de détail successifs s'effectue au rythme du rafraîchissement de l'écran d'affichage des images synthétiques.
5. - Procédé selon la revendication 4, caractérisé en ce que la vitesse d'élévation ou d'abaissement d'un point inséré ou supprimé est variable.
6. - Procédé selon la revendication 5, caractérisé en ce que ladite vitesse est fonction de sa visibilité par l'observateur et/ou de la vitesse de déplacement de l'observateur et/ou de la distance du point à l'observateur. 7. - Procédé selon l'une des revendications 4 à 6, caractérisé en ce que la transition entre niveaux de détail successifs se fait par transition douce ("morphing").
PCT/FR1996/001716 1995-11-03 1996-10-31 Procede de generation dynamique d'images synthetiques a niveau de detail automatique, et dispositif de mise en oeuvre WO1997017677A1 (fr)

Priority Applications (4)

Application Number Priority Date Filing Date Title
DE69632717T DE69632717T2 (de) 1995-11-03 1996-10-31 Verfahren zur dynamischen synthetischen bilderzeugung mit automatischem detailniveau und vorrichtung zur durchführung dieses verfahrens
CA002209275A CA2209275C (fr) 1995-11-03 1996-10-31 Procede de generation dynamique d'images synthetiques a niveau de detail automatique, et dispositif de mise en oeuvre
EP96937376A EP0801775B1 (fr) 1995-11-03 1996-10-31 Procede de generation dynamique d'images synthetiques a niveau de detail automatique, et dispositif de mise en oeuvre
US08/849,733 US5986666A (en) 1995-11-03 1996-10-31 Method for dynamic generation of synthetic images with automatic detail level, and implementation device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR95/13001 1995-11-03
FR9513001A FR2740888B1 (fr) 1995-11-03 1995-11-03 Procede de generation dynamique d'images synthetiques a niveau de detail automatique, et dispositif de mise en oeuvre

Publications (1)

Publication Number Publication Date
WO1997017677A1 true WO1997017677A1 (fr) 1997-05-15

Family

ID=9484208

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR1996/001716 WO1997017677A1 (fr) 1995-11-03 1996-10-31 Procede de generation dynamique d'images synthetiques a niveau de detail automatique, et dispositif de mise en oeuvre

Country Status (5)

Country Link
US (1) US5986666A (fr)
EP (1) EP0801775B1 (fr)
DE (1) DE69632717T2 (fr)
FR (1) FR2740888B1 (fr)
WO (1) WO1997017677A1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1100048A1 (fr) * 1999-11-12 2001-05-16 Société N3DI S.A.R.L. Procédé de création automatique de maquette numérique à partir de couples d'images stéréoscopiques

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6693646B1 (en) * 1999-04-28 2004-02-17 Microsoft Corporation Method and system for iterative morphing
US6700573B2 (en) * 2001-11-07 2004-03-02 Novalogic, Inc. Method for rendering realistic terrain simulation
US20040158476A1 (en) * 2003-02-06 2004-08-12 I-Sim, Llc Systems and methods for motor vehicle learning management
US8214484B2 (en) * 2007-11-29 2012-07-03 International Business Machines Corporation Method to predict edges in a non-cumulative graph
US8463895B2 (en) * 2007-11-29 2013-06-11 International Business Machines Corporation System and computer program product to predict edges in a non-cumulative graph
US10964106B2 (en) 2018-03-30 2021-03-30 Cae Inc. Dynamically modifying visual rendering of a visual element comprising pre-defined characteristics
US11380054B2 (en) 2018-03-30 2022-07-05 Cae Inc. Dynamically affecting tailored visual rendering of a visual element

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4616217A (en) * 1981-05-22 1986-10-07 The Marconi Company Limited Visual simulators, computer generated imagery, and display systems
US5367615A (en) * 1989-07-10 1994-11-22 General Electric Company Spatial augmentation of vertices and continuous level of detail transition for smoothly varying terrain polygon density

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5793371A (en) * 1995-08-04 1998-08-11 Sun Microsystems, Inc. Method and apparatus for geometric compression of three-dimensional graphics data
US5850222A (en) * 1995-09-13 1998-12-15 Pixel Dust, Inc. Method and system for displaying a graphic image of a person modeling a garment
US5760783A (en) * 1995-11-06 1998-06-02 Silicon Graphics, Inc. Method and system for providing texture using a selected portion of a texture map
DE19541500A1 (de) * 1995-11-07 1997-05-15 Siemens Ag Verfahren zur Bilderzeugung bei einem medizintechnischen bildgebenden System
US5841441A (en) * 1996-01-19 1998-11-24 Virtus Corporation High-speed three-dimensional texture mapping systems and methods
US5831624A (en) * 1996-04-30 1998-11-03 3Dfx Interactive Inc Level of detail texture filtering with dithering and mipmaps
US5838973A (en) * 1996-05-03 1998-11-17 Andersen Consulting Llp System and method for interactively transforming a system or process into a visual representation
US5844567A (en) * 1996-08-12 1998-12-01 Silicon Graphics, Inc. Computer graphics system and method for texture mapping using triangular interpolation

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4616217A (en) * 1981-05-22 1986-10-07 The Marconi Company Limited Visual simulators, computer generated imagery, and display systems
US5367615A (en) * 1989-07-10 1994-11-22 General Electric Company Spatial augmentation of vertices and continuous level of detail transition for smoothly varying terrain polygon density

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
DE FLORIANI L ET AL: "Hierarchical triangulation for multiresolution surface description", ACM TRANSACTIONS ON GRAPHICS, OCT. 1995, ACM, USA, vol. 14, no. 4, ISSN 0730-0301, pages 363 - 411, XP000558613 *
FALBY J S ET AL: "NPSNET: hierarchical data structures for real-time three-dimensional visual simulation", COMPUTERS & GRAPHICS, JAN.-FEB. 1993, UK, vol. 17, no. 1, ISSN 0097-8493, pages 65 - 69, XP000546522 *
WILEY D J ET AL: "An adaptive level of detail technique for real time display in virtual reality", 24TH AIPR WORKSHOP: TOOLS AND TECHNIQUES FOR MODELING AND SIMULATION, WASHINGTON, DC, USA, 11-13 OCT. 1995, vol. 2645, ISSN 0277-786X, PROCEEDINGS OF THE SPIE - THE INTERNATIONAL SOCIETY FOR OPTICAL ENGINEERING, 1996, SPIE-INT. SOC. OPT. ENG, USA, pages 192 - 203, XP000573570 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1100048A1 (fr) * 1999-11-12 2001-05-16 Société N3DI S.A.R.L. Procédé de création automatique de maquette numérique à partir de couples d'images stéréoscopiques
FR2801123A1 (fr) * 1999-11-12 2001-05-18 Bertrand Aube Procede de creation automatique de maquette numerique a partir de couples d'images stereoscopiques

Also Published As

Publication number Publication date
EP0801775B1 (fr) 2004-06-16
US5986666A (en) 1999-11-16
FR2740888A1 (fr) 1997-05-09
DE69632717T2 (de) 2005-07-07
FR2740888B1 (fr) 1997-11-28
DE69632717D1 (de) 2004-07-22
EP0801775A1 (fr) 1997-10-22

Similar Documents

Publication Publication Date Title
EP1292921B1 (fr) Raffinement d&#39;un maillage triangulaire en trois dimensions
FR2999005A1 (fr) Procede de rendu d&#39;un terrain stocke dans une base de donnees massive
Belhadj Terrain modeling: a constrained fractal model
FR2852128A1 (fr) Procede pour la gestion de la representation d&#39;au moins une scene 3d modelisee.
JP2002501639A (ja) プログレッシブメッシュの適応細分方法および装置
US9324032B2 (en) Method of creating a computer model of the physical world
EP0801775B1 (fr) Procede de generation dynamique d&#39;images synthetiques a niveau de detail automatique, et dispositif de mise en oeuvre
Derzapf et al. River networks for instant procedural planets
WO2012140360A1 (fr) Procede et systeme de rendu d&#39;une scene virtuelle en trois dimensions
EP1842165A1 (fr) Procédé et dispositif de sélection du niveau de détail par calcul de visibilité pour des scènes 3d multi-niveaux de détail
CA2209275C (fr) Procede de generation dynamique d&#39;images synthetiques a niveau de detail automatique, et dispositif de mise en oeuvre
WO2012140361A1 (fr) Procédé et système de rendu d&#39;une scène virtuelle en trois dimensions
EP1101199B1 (fr) Simplification et codage d&#39;un maillage source
BE1022580B1 (fr) Méthode d&#39;obtention de vidéos immersives avec parallaxe interactive et méthode de visualisation de vidéos immersives avec parallaxe interactive
WO2014023887A1 (fr) Procédé de rendu d&#39;image en temps réel
EP4341909A1 (fr) Génération d&#39;un maillage surfacique à partir d&#39;une modélisation en voxels d&#39;un environnement tridimensionnel
US20230149812A1 (en) Methods and Systems for Developing Video Games Terrain Systems
EP1121665B1 (fr) Procede de codage d&#39;un maillage source, avec optimisation de la position d&#39;un sommet resultant d&#39;une fusion d&#39;arete, et applications correspondantes
Phothong et al. Generation and quality improvement of 3D models from silhouettes of 2D images
FR2953962A1 (fr) Procede de generation d&#39;une representation graphique en temps reel d&#39;un univers virtuel, dispositif et programme d&#39;ordinateur correspondants.
Dixon et al. Artificial planets with fractal feature specification
EP3671129A1 (fr) Procédé d&#39;amélioration d&#39;une représentation virtuelle d&#39;un aérodrome et système d&#39;affichage pour la mise en oeuvre de ce procédé
Jain et al. Learning Based Infinite Terrain Generation with Level of Detailing
Raheja Assessing the Performance of Procedurally Generated Terrains Using Houdini’s Clustering Method
McRoberts Real-time rendering of synthetic terrain

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): CA US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH DE DK ES FI FR GB GR IE IT LU MC NL PT SE

WWE Wipo information: entry into national phase

Ref document number: 1996937376

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2209275

Country of ref document: CA

Ref country code: CA

Ref document number: 2209275

Kind code of ref document: A

Format of ref document f/p: F

WWE Wipo information: entry into national phase

Ref document number: 08849733

Country of ref document: US

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWP Wipo information: published in national office

Ref document number: 1996937376

Country of ref document: EP

WWG Wipo information: grant in national office

Ref document number: 1996937376

Country of ref document: EP