Comprendre l’infographie [computer graphics]

couverture livre processus de conception d’un logo

Le processus de conception d’un logo compte huit chapitres, sur 114 pages. Il aborde les notions fondamentales du design pour créer des logos réussis.

Le livre fait surtout le point sur les connaissances en branding nécessaires à tout bon créateur de logo.

Infographie est un terme tellement bradé depuis des années qu’il a perdu son sens originel. En effet, quand on parle d’infographie en français, on peut faire référence soit à la discipline ou domaine d’étude (computer graphics), soit au résultat du graphisme d’information (infographics).

Ayant bien couvert la deuxième acception dans cet article, je vous propose aujourd’hui de parler en détail de l’infographie en tant que discipline.

Les origines du mot infographie

Le terme « infographie » est un mot-valise formé à partir d’« informatique » et de « graphie ». Originellement il s’agit d’une appellation déposée en France par la société Benson en 1974 et, à intervalles irréguliers, depuis la création expérimentale d’hologrammes par ordinateur.

Dès 1978, le laboratoire central de physique appliquée de l’université Johns-Hopkins diffuse un cours qui sera traduit dans l’ouvrage de David F. RogersMathematical Elements For Computer Graphics” (adapté en français dix ans plus tard par Jacques J. Lecœur sous le titre Algorithmes pour l’infographie).

D’ailleurs, au sujet de ce livre, les éditions Dunod disent :

Ce livre s’adresse aux étudiants en informatique. Il est aussi conçu pour être utile aux programmeurs professionnels, aux ingénieurs et aux scientifiques. De plus, les algorithmes détaillés et les exemples pratiques le rendent particulièrement adapté à la formation personnelle à tous les niveaux. Les connaissances préalables nécessaires se limitent aux mathématiques du niveau baccalauréat et à un langage de programmation évolué. Une certaine connaissance des structures de données est utile mais pas indispensable.

Ce qui confirme ma définition de l’infographiste :

L’infographiste est un “informaticien”, il se sert des mathématiques et de la programmation informatique pour créer des images numériques et de synthèse.

L’infographie selon l’université Gustave Eiffel

+ N’existe pas dans le Littré

+ Wikipedia :

L’infographie […] est la science de l’image numérique. Elle définit les graphismes créés et gérés par ordinateur, dont la gestion se base sur une station graphique composée d’éléments matériels comme le processeur et la carte graphique (leurs puissances déterminent la vitesse de réponse et de calcul des unités graphiques), les outils d’acquisition comme le numériseur ou la caméra banc-titre, les outils de manipulation comme la souris ou la tablette graphique. Elle se compose également d’outils de stockage comme le disque-dur ou la clé-USB et d’outils de restitution comme l’imprimante ou le moniteur d’ordinateur, d’une interface utilisateur qui permet l’interaction entre l’utilisateur et l’ordinateur et enfin du format de données qui assure l’intermédiaire entre l’image rendue et les éléments numériques de celle-ci.

NOTE : Ce n’est pas ce qui apparaît actuellement sur le site Wikipedia [28.06.2022]

Un domaine vaste :

+ Format de données
– Spécifications nombreuses+ Gestion de données (BDD images / 3D)
– Souvent massive

+ Aspect hardware non négligeable
– Outils / Drivers
– Réalité virtuelle / Réalité augmentée

+ Lien avec la physique
– Représentation photo-réaliste
– Restauration d’images
– HDR

+ Algorithmique poussée
– Programmation génétique
– Programmation dynamique
– Arbres & graphes omniprésents
– Parallélisme

+ Mathématiques
– Mathématiques de la 3D
– Géométrie discrète

+ L’infographie = science de l’image

+ Science d’un média

Infographie : science de l’image, computer graphics

Dans l’ouvrage “Fundamentals of Computer Graphics, Fourth Edition” on peut lire :

Le terme infographie décrit toute utilisation d’ordinateurs pour créer et manipuler des images.

Ce livre présente les outils algorithmiques et mathématiques qui peuvent être utilisés pour créer toutes sortes d’images : des effets visuels réalistes, des illustrations techniques informatives ou de belles animations informatiques. Les graphiques peuvent être en deux ou trois dimensions ; les images peuvent être complètement synthétiques ou peuvent être produites en manipulant des photographies.

En fait, faire de l’infographie nécessite inévitablement de connaître le matériel spécifique, les formats de fichiers et généralement une API (Application Programming Interface) graphique ou deux.

L’infographie est un domaine en évolution rapide, de sorte que les spécificités de ces connaissances sont une cible mouvante.

Une approche plus communicationnelle

Dans “Computer Graphics: Principles and Practice, Third Edition”, on peut lire :

L’infographie est la science et l’art de communiquer visuellement via l’écran d’un ordinateur et ses dispositifs d’interaction.

L’aspect visuel de la communication est généralement dans le sens ordinateur à humain, le sens humain à ordinateur étant médiatisé par des dispositifs tels que la souris, le clavier, le joystick, le contrôleur de jeu ou la superposition tactile. Cependant, même cela commence à changer :

Les données visuelles commencent à revenir à l’ordinateur, avec de nouvelles interfaces basées sur des algorithmes de vision par ordinateur appliqués à l’entrée vidéo ou caméra de profondeur.

Mais pour la direction de l’ordinateur à l’utilisateur, les consommateurs finaux des communications sont humains, et donc la façon dont les humains perçoivent l’imagerie est essentielle dans la conception des programmes graphiques – les fonctionnalités que les humains ignorent n’ont pas besoin d’être présentées (ni calculées !).

  • L’infographie est un domaine interdisciplinaire dans lequel la physique, les mathématiques, la perception humaine, l’interaction homme-machine, l’ingénierie, le design graphique et l’art jouent tous un rôle important.
  • Nous utilisons la physique pour modéliser la lumière et effectuer des simulations pour l’animation.
  • Nous utilisons les mathématiques pour décrire la forme.
  • Les capacités de perception humaines déterminent notre allocation de ressources que nous ne voulons pas passer du temps à rendre des choses qui ne seront pas remarquées.
  • Nous utilisons l’ingénierie pour optimiser l’allocation de la bande passante, de la mémoire et du temps processeur.
  • Le design graphique et l’art se combinent avec l’interaction homme-machine pour rendre la direction de la communication ordinateur-homme plus efficace.

Infographie : définition étroite

Une définition étroite de l’infographie indiquerait qu’elle se réfère à la prise d’un modèle des objets dans une scène (une description géométrique des choses dans la scène et une description de la façon dont elles réfléchissent la lumière) et un modèle de la lumière émise dans la scène (une description mathématique des sources d’énergie lumineuse, des directions de rayonnement, de la distribution des longueurs d’onde lumineuses, etc.), puis en produisant une représentation d’une vue particulière de la scène (la lumière arrivant sur un œil ou une caméra imaginaire dans le scène).

Dans cette vue, on pourrait dire que les graphiques ne sont qu’une multiplication glorifiée : on multiplie la lumière entrante par les réflectivités des objets de la scène pour calculer la lumière quittant les surfaces de ces objets et répète le processus (en traitant les surfaces comme de nouvelles sources de lumière et récursivement invoquant l’opération de transport de lumière), déterminant toute la lumière qui atteint finalement la caméra.

En revanche, la vision par ordinateur revient à factoriser – étant donné une vue d’une scène, le système de vision par ordinateur est chargé de déterminer l’éclairage et/ou le contenu de la scène (le système graphique pourrait alors « se multiplier » pour reproduire la même image).

En vérité, bien sûr, le système de vision ne peut pas résoudre le problème tel qu’énoncé et fonctionne généralement avec des hypothèses sur la scène, ou l’éclairage, ou les deux, et peut également avoir plusieurs vues de la scène à partir de différentes caméras, ou plusieurs vues à partir d’une seul caméra, mais à des moments différents.

Cette vidéo explicative [anglais] est assez éloquente sur la question :

YouTube video

Précisions sur le « modèle »

Dans le domaine de l’infographie, le mot « modèle » peut désigner un modèle géométrique ou un modèle mathématique.

  • Un modèle géométrique est un modèle de quelque chose que nous prévoyons de faire apparaître dans une image : nous réalisons un modèle de voiture, de maison ou de tatou. Le modèle géométrique est amélioré avec divers autres attributs qui décrivent la couleur ou la texture ou la réflectance des matériaux impliqués dans le modèle. Partir de rien et créer un tel modèle s’appelle la modélisation, et la description géométrique plus d’autres informations qui en résulte s’appelle un modèle.
  • Un modèle mathématique est un modèle d’un processus physique ou informatique. […] nous décrivons divers modèles de réflexion de la lumière sur des surfaces brillantes. De tels modèles peuvent être fidèles (c’est-à-dire qu’ils peuvent fournir un modèle mathématique prédictif et correct du phénomène) ou non ; ils peuvent être basés sur la physique, dérivés de principes premiers, ou peut-être empiriques ou phénoménologiques, dérivés d’observations ou même d’intuition.

Domaines graphiques de l’infographie

Imposer des catégories à n’importe quel domaine est dangereux, mais la plupart des graphistes s’accorderaient sur les grands domaines suivants de l’infographie :

Modélisation, rendu et animation

  • La modélisation traite de la spécification mathématique des propriétés de forme et d’apparence d’une manière qui peut être stockée sur l’ordinateur. Par exemple, une tasse à café peut être décrite comme un ensemble de points 3D ordonnés avec une règle d’interpolation pour connecter les points et un modèle de réflexion qui décrit comment la lumière interagit avec la tasse.
  • Le rendu est un terme hérité de l’art et traite de la création d’images ombrées à partir de modèles informatiques 3D.
  • L’animation est une technique pour créer une illusion de mouvement à travers des séquences d’images. L’animation utilise la modélisation et le rendu, mais ajoute le problème clé du mouvement dans le temps, qui n’est généralement pas traité dans la modélisation et le rendu de base.

Autres domaines

Il existe de nombreux autres domaines qui impliquent l’infographie, et s’il s’agit de domaines graphiques de base, c’est une question d’opinion. Ces domaines connexes comprennent les suivants :

  • L’interaction de l’utilisateur traite de l’interface entre les périphériques d’entrée tels que les souris et les tablettes, l’application, la rétroaction à l’utilisateur dans l’imagerie et d’autres rétroactions sensorielles. Historiquement, ce domaine est associé à l’infographie en grande partie parce que les chercheurs en graphisme ont eu l’un des premiers accès aux périphériques d’entrée/sortie qui sont désormais omniprésents.
  • La réalité virtuelle tente d’immerger l’utilisateur dans un monde virtuel 3D. Cela nécessite généralement au moins des graphiques stéréo et une réponse au mouvement de la tête. Pour une véritable réalité virtuelle, le son et le retour de force doivent également être fournis. Étant donné que ce domaine nécessite des graphiques 3D avancés et une technologie d’affichage avancée, il est souvent étroitement associé à l’infographie.
  • La visualisation tente de donner aux utilisateurs un aperçu d’informations complexes via un affichage visuel. Il y a souvent des problèmes graphiques à résoudre dans un problème de visualisation.
  • Le traitement d’images traite de la manipulation d’images 2D et est utilisé à la fois dans les domaines du graphisme et de la vision.
  • La numérisation 3D utilise la technologie de télémétrie pour créer des modèles 3D mesurés. De tels modèles sont utiles pour créer des images visuelles riches, et le traitement de ces modèles nécessite souvent des algorithmes graphiques.
  • La photographie computationnelle est l’utilisation de l’infographie, de la vision par ordinateur et des méthodes de traitement d’image pour permettre de nouvelles façons de capturer photographiquement des objets, des scènes et des environnements.

Principales applications de l’infographie

Presque n’importe quelle entreprise peut utiliser l’infographie, mais les principaux consommateurs de technologie d’infographie comprennent les industries suivantes :

  • Les jeux vidéo utilisent de plus en plus des modèles 3D sophistiqués et des algorithmes de rendu.
  • Les dessins animés sont souvent rendus directement à partir de modèles 3D. De nombreux dessins animés 2D traditionnels utilisent des arrière-plans rendus à partir de modèles 3D, ce qui permet un point de vue en mouvement continu sans beaucoup de temps pour l’artiste.
  • Les effets visuels utilisent presque tous les types de technologie d’infographie. Presque tous les films modernes utilisent la composition numérique pour superposer des arrière-plans avec des avant-plans filmés séparément. De nombreux films utilisent également la modélisation et l’animation 3D pour créer des environnements synthétiques, des objets et même des personnages dont la plupart des spectateurs ne soupçonneront jamais qu’ils ne sont pas réels.
  • Les films d’animation utilisent bon nombre des mêmes techniques que celles utilisées pour les effets visuels, mais sans nécessairement viser des images qui semblent réelles.

Applications professionnelles

  • CAD/CAM est synonyme de conception assistée par ordinateur et de fabrication assistée par ordinateur. Ces domaines utilisent la technologie informatique pour concevoir des pièces et des produits sur ordinateur, puis, à l’aide de ces conceptions virtuelles, pour guider le processus de fabrication. Par exemple, de nombreuses pièces mécaniques sont conçues dans un progiciel de modélisation informatique 3D, puis produites automatiquement sur un dispositif de fraisage contrôlé par ordinateur.
  • La simulation peut être considérée comme un jeu vidéo précis. Par exemple, un simulateur de vol utilise des graphiques 3D sophistiqués pour simuler l’expérience de pilotage d’un avion. De telles simulations peuvent être extrêmement utiles pour la formation initiale dans des domaines critiques pour la sécurité tels que la conduite, et pour la formation de scénarios pour les utilisateurs expérimentés tels que des situations spécifiques de lutte contre l’incendie qui sont trop coûteuses ou dangereuses à créer physiquement.
  • L’imagerie médicale crée des images significatives des données numérisées des patients. Par exemple, un ensemble de données de tomodensitométrie (CT) est composé d’un grand tableau rectangulaire 3D de valeurs de densité. L’infographie est utilisée pour créer des images ombrées qui aident les médecins à extraire les informations les plus importantes de ces données.
  • La visualisation de l’information crée des images de données qui n’ont pas nécessairement une représentation visuelle « naturelle ». Par exemple, la tendance temporelle du prix de dix actions différentes n’a pas de représentation visuelle évidente, mais des techniques graphiques intelligentes peuvent aider les humains à voir les modèles dans ces données.

API graphiques

Un élément clé de l’utilisation des bibliothèques graphiques consiste à utiliser une API graphique. Une interface de programmation d’application (API) est une collection standard de fonctions permettant d’effectuer un ensemble d’opérations connexes, et une API graphique est un ensemble de fonctions qui effectuent des opérations de base telles que le dessin d’images et de surfaces 3D dans des fenêtres à l’écran.

Chaque programme graphique doit pouvoir utiliser deux API associées : une API graphique pour la sortie visuelle et une API d’interface utilisateur pour obtenir les entrées de l’utilisateur. Il existe actuellement deux paradigmes dominants pour les API graphiques et d’interface utilisateur. La première est l’approche intégrée, illustrée par Java, où les kits d’outils graphiques et d’interface utilisateur sont des packages intégrés et portables entièrement standardisés et pris en charge dans le cadre du langage.

Le second est représenté par Direct3D et OpenGL, où les commandes de dessin font partie d’une bibliothèque logicielle liée à un langage tel que C++, et le logiciel d’interface utilisateur est une entité indépendante qui peut varier d’un système à l’autre. Dans cette dernière approche, il est problématique d’écrire du code portable, bien que pour des programmes simples, il soit possible d’utiliser une couche de bibliothèque portable pour encapsuler le code d’interface utilisateur spécifique au système.

Pipeline graphique

Aujourd’hui, chaque ordinateur de bureau dispose d’un puissant pipeline graphique 3D. Il s’agit d’un sous-système logiciel/matériel spécial qui dessine efficacement des primitives 3D en perspective.

Habituellement, ces systèmes sont optimisés pour le traitement de triangles 3D avec des sommets partagés. Les opérations de base dans le pipeline mappent les emplacements des sommets 3D aux positions de l’écran 2D et ombrent les triangles afin qu’ils aient l’air réalistes et apparaissent dans le bon ordre d’arrière en avant.

Bien que dessiner les triangles dans un ordre recto-verso valide ait été autrefois le problème de recherche le plus important en infographie, il est maintenant presque toujours résolu à l’aide du tampon z (z buffer), qui utilise un tampon de mémoire spécial pour résoudre le problème en force brute. manière.

Cette vidéo explicative [anglais] est assez éloquente à ce sujet :

YouTube video

Il s’avère que la manipulation géométrique utilisée dans le pipeline graphique peut être accomplie presque entièrement dans un espace de coordonnées 4D composé de trois coordonnées géométriques traditionnelles et d’une quatrième coordonnée homogène qui aide à la visualisation en perspective. Ces coordonnées 4D sont manipulées à l’aide de matrices 4 × 4 et de 4 vecteurs.

Le pipeline graphique contient donc beaucoup de machines pour traiter et composer efficacement de telles matrices et vecteurs. Ce système de coordonnées 4D est l’une des constructions les plus subtiles et les plus belles utilisées en informatique, et c’est certainement le plus grand obstacle intellectuel à franchir lors de l’apprentissage de l’infographie.

La vitesse à laquelle les images peuvent être générées dépend fortement du nombre de triangles dessinés. Parce que l’interactivité est plus importante dans de nombreuses applications que la qualité visuelle, il vaut la peine de minimiser le nombre de triangles utilisés pour représenter un modèle. De plus, si le modèle est vu de loin, moins de triangles sont nécessaires que lorsque le modèle est vu de plus près.

Cela suggère qu’il est utile de représenter un modèle avec un niveau de détail variable (LOD).

Une brève histoire de l’infographie

La recherche graphique a suivi une voie orientée vers un objectif, mais dans laquelle l’objectif a continué de changer ; les premiers chercheurs travaillaient dans un contexte de puissance de processeur limitée, et faisaient donc fréquemment des choix qui obtenaient des résultats le plus rapidement et le plus facilement possible.

Les premiers efforts ont été divisés entre essayer de faire des dessins (par exemple, des plans [blueprints]) et essayer de faire des images (par exemple, des images photoréalistes). Dans chaque cas, de nombreuses hypothèses ont été faites, généralement en concession à la puissance de processeur disponible et aux technologies d’affichage. Lorsqu’un seul affichage coûtait autant ou plus que le salaire d’un ingénieur, chaque image affichée devait avoir une certaine valeur.

Lorsque l’affichage de quelques centaines de polygones prenait quelques minutes, l’approximation de surfaces courbes avec relativement peu de polygones avait beaucoup de sens. Et quand les vitesses des processeurs étaient mesurées en MIPS (millions d’instructions par seconde) mais que les images contenaient 250 000 ou 500 000 pixels, on ne pouvait pas se permettre d’effectuer beaucoup de calculs par pixel. (Dans les années 1960 et au début des années 1970, de nombreuses institutions avaient tout au plus un seul affichage graphique !)

Hypothèses simplificatrices

Les hypothèses simplificatrices typiques étaient que tous les objets réfléchissaient la lumière plus ou moins comme le fait la peinture au latex plate (bien que certains modèles de réflectance plus sophistiqués aient été utilisés dans quelques systèmes), que la lumière éclairait directement une surface ou rebondissait si souvent dans la scène qu’elle finissait par fournir une lumière ambiante générale qui éclairait les choses même lorsqu’elles n’étaient pas directement éclairées, et que les couleurs aux points intérieurs de n’importe quel triangle pouvaient être déduites des couleurs calculées aux sommets du triangle.

Peu à peu, des modèles de forme, de lumière et de réflectance de plus en plus riches ont été ajoutés, mais aujourd’hui encore, le modèle dominant pour décrire la lumière dans une scène comprend le terme « ambiant », signifiant une certaine quantité de lumière qui est « partout » dans la scène, sans aucune origine claire, garantissant que tout objet visible dans la scène est au moins quelque peu éclairé. Ce terme ad hoc a été ajouté pour traiter des aspects du transport de la lumière, tels que les réflexions inter-objets, qui ne pouvaient pas être directement calculées avec les ordinateurs des années 1960 ; mais il reste en usage aujourd’hui.

Développement historique du transport léger

Alors que de nombreux livres suivent le développement historique du transport léger, nous choisirons une approche différente et discuterons de l’idéal (la simulation physique du transport léger), comment les algorithmes actuels se rapprochent de cet idéal, comment certaines approches antérieures l’ont également fait et comment les vestiges de ces approximations restent dans la pratique courante.

L’exception à cela est que nous introduirons un modèle de réflectance qui représente la diffusion de la lumière à partir d’une surface comme la somme de trois termes :

  • « diffuse », correspondant à la lumière réfléchie de manière égale dans toutes les directions ;
  • « spéculaire », utilisé pour modéliser une réflexion plus directionnelle, allant de choses comme le plastique rugueux jusqu’à la réflexion presque parfaite des miroirs ;
  • et « ambiant ».

Les écrans graphiques se sont considérablement améliorés au fil des ans, avec le passage des appareils vectoriels aux appareils matriciels – ceux qui affichent un tableau de petits points, par exemple, comme les écrans CRT ou LCD – dans les années 1970 à 1980, et avec une résolution en augmentation constante mais lente. (la petitesse des points individuels), la taille (les dimensions physiques des écrans) et la plage dynamique (le rapport entre les valeurs de pixel les plus lumineuses et les plus sombres possibles) au cours des 25 dernières années.

Améliorations de performances

Les performances des processeurs graphiques ont également progressé conformément à la loi de Moore (le taux d’amélioration exponentielle a été plus important pour les processeurs graphiques que pour les CPU). L’architecture du processeur graphique est également de plus en plus parallèle ; jusqu’où cela peut aller est une question de spéculation.

Dans les processeurs et les écrans, il y a également eu des sauts importants ainsi que des progrès constants : le passage des périphériques vectoriels aux écrans raster, et leur infiltration rapide du marché des mini-ordinateurs et des stations de travail, en était un.

Un autre changement a été l’introduction de cartes graphiques de base (et de leurs logiciels associés), qui ont permis d’écrire des programmes qui s’exécutaient sur une grande variété de machines. À peu près au même moment où les écrans matriciels sont devenus largement adoptés, un autre changement majeur a eu lieu : l’adoption des interfaces graphiques WIMP de Xerox PARC.

C’est à ce moment-là que les graphiques sont passés d’un instrument de recherche en laboratoire à un élément tacite de l’interaction quotidienne avec l’ordinateur.

Un dernier saut est à noter : l’introduction de la carte graphique programmable. Au lieu d’envoyer des polygones ou des images à une carte graphique, une application pouvait désormais envoyer certains petits programmes décrivant comment les polygones et images suivants devaient être traités avant d’être affichés. Ces soi-disant “shaders” ont ouvert de tout nouveaux domaines d’effets qui pouvaient être générés sans aucun cycle CPU supplémentaire (bien que le GPU – l’unité de traitement graphique – travaillait très dur !). Nous pouvons anticiper d’autres sauts importants dans la puissance graphique au cours des prochaines décennies.

Design et codage de programmes graphiques

Certaines stratégies courantes sont souvent utiles en programmation graphique (travail principal en infographie). Voici quelques conseils qui pourraient vous être utiles lors de la mise en œuvre des méthodes que vous découvrirez dans ce livre.

Design de classe

Un élément clé de tout programme graphique est d’avoir de bonnes classes ou routines pour la géométrie des entités telles que des vecteurs et des matrices, ainsi que des entités graphiques telles que les couleurs et les images RVB. Ces routines doivent être rendues aussi propres et efficaces que possible.

Une question de design universel est de savoir si les emplacements et les déplacements doivent être des classes distinctes parce qu’ils ont des opérations différentes, par exemple, un emplacement multiplié par la moitié n’a aucun sens géométrique alors que la moitié d’un déplacement en a (Goldman, 1985; DeRose, 1989). Il y a peu d’accord sur cette question, ce qui peut susciter des heures de débats houleux entre les programmeurs graphiques.

Cela implique que certaines classes de base à écrire incluent :

  • vector2. Une classe de vecteurs 2D qui stocke un composant x et y. Elle doit stocker ces composants dans un tableau de longueur 2 afin qu’un opérateur d’indexation puisse être bien pris en charge. Vous devez également inclure des opérations d’addition vectorielle, de soustraction vectorielle, de produit scalaire, de produit croisé, de multiplication scalaire et de division scalaire.
  • vector3. Une classe de vecteurs 3D analogue à vector2.
  • hvector. Un vecteur homogène à quatre composantes.
  • RVB. Une couleur RVB qui stocke trois composants. Vous devez également inclure les opérations d’addition RVB, de soustraction RVB, de multiplication RVB, de multiplication scalaire et de division scalaire.
  • transform. Une matrice 4 × 4 pour les transformations. Vous devez inclure une multiplication matricielle et des fonctions membres à appliquer aux emplacements, aux directions et aux vecteurs normaux de surface. Elles sont toutes différentes.
  • image. Un tableau 2D de pixels RVB avec une opération de sortie.

En outre, vous pouvez ou non souhaiter ajouter des classes pour les intervalles, les bases orthonormées et les cadres de coordonnées.

Flottant vs Double

L’architecture moderne suggère que la réduction de l’utilisation de la mémoire et le maintien d’un accès cohérent à la mémoire sont les clés de l’efficacité. Cela suggère d’utiliser des données à simple précision. Cependant, éviter les problèmes numériques suggère d’utiliser l’arithmétique en double précision. Les compromis dépendent du programme, mais il est agréable d’avoir une valeur par défaut dans vos définitions de classe.

L’exemple d’Adobe Illustrator

Adobe Illustrator , logiciel d’application infographique produit parAdobe Inc. qui permet aux utilisateurs de créer des dessins, des conceptions et des mises en page raffinés. Illustrator, sorti en 1987, est l’une des nombreuses innovations d’Adobe qui ont révolutionné la conception graphique.

Histoire d’Adobe Illustrator 1/3

YouTube video

Adobe Systems a été fondé en 1982 par des mathématiciens américainsJohn Warnock et Chuck Geschke et fait irruption sur la scène de la Silicon Valley avecPostScript , un programme vectoriel – utilisant des lignes définies par des formules mathématiques, par opposition à des descriptions individuelles basées sur des bits ou des pixels – qui a considérablement amélioré la qualité de la publication et a joué un rôle déterminant dans la soi-disant révolution de la publication assistée par ordinateur . Le succès de PostScript a permis à Adobe d’explorer davantage de voies d’ innovation et, en 1986, Adobe s’est tourné vers la conception graphique. L’ingénieur Mike Schuster a été chargé de créer un programme de dessin facile à utiliser avec le langage PostScript qui permettrait aux utilisateurs de créer des mises en page complexes.

Histoire d’Adobe Illustrator 2/3

YouTube video

Illustrator, la première application logicielle d’Adobe, est sortie en 1987 pour Apple Macintosh. Parmi ses caractéristiques les plus importantes figurait son outil stylo, qui permettait à l’utilisateur de dessiner des courbes lisses et de créer des formes et des images haute résolution. En 1989, Adobe a publié Illustrator pour les ordinateurs personnels Microsoft Windows . Au fil des ans, Illustrator a continué à se développer, ajoutant la prise en charge de TrueType (un format de police créé par Apple et Microsoft pour concurrencer les polices PostScript d’Adobe), des outils de dessin plus complexes, un nombre toujours croissant de « calques » de dessin (qui peuvent être rapidement défait) et prise en charge des figures en trois dimensions. De plus, la société a amélioré la convivialité grâce à une plus grande convergence de ses interfaces utilisateur pour ses divers programmes.

Histoire d’Adobe Illustrator 3/3

YouTube video

Le monde de l’infographie

Le côté académique de l’infographie est dominé par SIGGRAPH, le groupe d’intérêt spécial sur l’infographie et les techniques interactives de l’Association for Computing Machinery; la conférence annuelle SIGGRAPH est le lieu privilégié pour la présentation de nouveaux résultats en infographie, ainsi qu’un grand salon commercial et plusieurs conférences co-localisées dans des domaines connexes. Les actes SIGGRAPH, publiés par l’ACM, sont les ouvrages de référence les plus importants dont puisse disposer un praticien dans le domaine. Ces dernières années, ceux-ci ont été publiés dans un numéro de l’ACM Transactions on Graphics.

L’infographie est aussi une industrie, bien sûr, et elle a eu un impact énorme dans les domaines du cinéma, de la télévision, de la publicité et des jeux. Cela a également changé la façon dont nous considérons les informations en médecine, en architecture, en contrôle des processus industriels, en opérations de réseau et dans notre vie quotidienne lorsque nous voyons des cartes météorologiques et d’autres visualisations d’informations. Peut-être plus important encore, les interfaces utilisateur graphiques (GUI) de nos téléphones, ordinateurs, tableaux de bord automobiles et de nombreux appareils électroniques domestiques sont toutes activées par l’infographie.

Domaines d’application actuels et futurs de l’infographie

L’infographie est rapidement passée d’une nouveauté à un phénomène quotidien.

Même les appareils jetables, comme les jeux numériques portables que les parents donnent aux enfants pour les occuper pendant les voyages en avion, ont des écrans et des interfaces graphiques.

Cela correspond à deux phénomènes :

  • premièrement, la perception visuelle est puissante et la communication visuelle est incroyablement rapide, de sorte que les concepteurs d’appareils de toutes sortes veulent l’utiliser,
  • et deuxièmement, le coût de fabrication des appareils informatiques diminue rapidement. (Roy Smith [Smi], discutant dans les années 1980 de diverses affirmations selon lesquelles un appareil GPS était si complexe qu’il ne pourrait jamais coûter moins de 1 000 $, a déclaré :

Tout ce qui est fait de silicium coûtera un jour cinq dollars.

C’est une bonne règle empirique.

À mesure que l’infographie est devenue plus répandue, les attentes des utilisateurs ont augmenté. Les jeux vidéo affichent plusieurs millions de polygones par seconde, et les effets spéciaux dans les films sont maintenant si bons qu’ils ne se distinguent plus facilement du matériel non généré par ordinateur. Les appareils photo numériques et les caméras vidéo numériques nous donnent d’énormes flux de pixels (les éléments individuels dans un tableau de points qui constituent l’image) à traiter, et les outils pour les traiter évoluent rapidement. Dans le même temps, la puissance accrue des ordinateurs a permis la possibilité de formes graphiques enrichies.

À la faveur de la technologie

Avec la disponibilité de la photographie numérique, des scanners sophistiqués et d’autres outils, il n’est plus nécessaire de créer explicitement des modèles de chaque objet à montrer : au lieu de cela, on peut scanner l’objet directement, ou même ignorer complètement l’objet et utiliser plusieurs images numériques de celui-ci comme un proxy pour la chose elle-même.

YouTube video

Et avec les flux de données enrichis, la possibilité d’extraire de plus en plus d’informations sur les données – en utilisant des techniques de vision par ordinateur, par exemple – a commencé à influencer les applications possibles des graphiques. À titre d’exemple, la technologie de tracking basée sur la caméra permet aux poses ou aux gestes du corps de contrôler les jeux et d’autres applications.

Bien que l’infographie ait eu un impact énorme sur l’industrie du divertissement, son influence dans d’autres domaines – la science, l’ingénierie (y compris la conception et la fabrication assistées par ordinateur), la médecine, la publication assistée par ordinateur, la conception de sites web, la communication, le traitement de l’information et l’analyse ne sont que quelques exemples – continue de croître chaque jour.

Et de nouveaux paramètres d’interaction allant des grands aux petits facteurs de forme – réalité virtuelle, écrans de la taille d’une pièce, écrans portables contenant des écrans LCD jumeaux devant les yeux de l’utilisateur, appareils multitouch, y compris des tables et des murs multitouch à grande échelle, et les smartphones – offrent de nouvelles opportunités pour un impact encore plus grand.

Mesure utile des performances

Une mesure utile des performances à garder à l’esprit, par conséquent, est le nombre de primitives par seconde, où une primitive est un bloc de construction approprié à l’application ; pour un jeu vidéo de type arcade, il peut s’agir de polygones texturés, tandis que pour un système de visualisation à flux fluide, il peut s’agir de courtes flèches colorées.

Le nombre de primitives affichées par seconde est le produit du nombre de primitives affichées par trame (c’est-à-dire l’image affichée) et du nombre de trames affichées par seconde. Alors que certaines applications peuvent choisir d’afficher plus de primitives par image, pour ce faire, elles devront réduire leurs fréquences d’images ; d’autres, visant la fluidité de l’animation, voudront des fréquences d’images plus élevées, et pour les atteindre, elles devront peut-être réduire le nombre de primitives affichées par image (ou, peut-être, réduire la complexité de chaque primitive en l’approchant d’une certaine manière).