s
19 708 Pages

raytracing
Scène produite par le ray-tracing

la raytracing Il est une technique générale de géométrie optique lequel il est basé sur le calcul d'itinéraire effectuée par la lumière, à la suite des rayons à travers l'interaction avec les surfaces. Il est utilisé dans la modélisation de systèmes optiques, comme lent caméras, microscopes, télescopes et jumelles. Le terme est également utilisé pour précis algorithme de interprétation dans le domaine de Infographie 3D, dans lequel les vues des scènes, mathématiquement modélisés, sont produites en utilisant une technique qui suit les rayons à partir du point de vue plutôt que des sources de lumière de la caméra. Elle produit des résultats similaires à coulée ray et à rendu scanline, mais il simplifie des effets optiques avancés, par exemple, une simulation précise de la réflexion et réfraction, en restant suffisamment efficace pour permettre leur utilisation dans le cas où l'on souhaite obtenir un résultat de qualité.

Description générale de l'algorithme pour ordinateur

raytracing
Trois balles qui montrent le reflet de l'autre, et le plancher

Le tracé de rayons décrit un procédé pour la production d'images construites dans de tels systèmes infographie 3D, avec plus de réalisme que ce que vous pourriez obtenir avec l'utilisation de coulée ray ou le rendu scanline. Il fonctionne par étirage, dans le sens inverse, le chemin qui pourrait avoir un rayon de suivi lumière avant de frapper un objectif imaginaire. Alors que la scène est traversée en suivant le chemin de nombreux rayons, informations sur la scène sont accumulées. La réflexion du faisceau, la réfraction ou l'absorption est calculée au moment de frapper un objet.

Les scènes, dans le traçage des rayons, sont décrites mathématiquement, généralement par un programmeur, ou à partir d'un diagramme, en utilisant spéciale programmes. Les scènes peuvent également inclure des images et des modèles créés par différentes technologies, par exemple en utilisant la photographie numérique. A la suite des rayons dans le sens inverse, l'algorithme est allégé de nombreux degrés de magnitude (mathématique), ce qui rend possible une simulation précise de toutes les interactions possibles présents dans la scène. Cela est dû au fait que la plupart des rayons qui commence à partir d'une source ne fournit pas de données significatives à l'œil d'un observateur. Ils pourraient rebondir à la place jusqu'à ce qu'il soit réduit à rien, aller à l'infini ou atteindre une autre pièce. Une simulation qui commence à suivre tous les rayons émis par toutes les sources lumineuses ne sont pas physiquement possible.

Le raccourci utilisé dans raytracing, par conséquent, suppose qu'un termes de rayon donné sur la pièce, et il recherche la source. Après le calcul d'un nombre fixe d'interactions (décidé précédemment), l'intensité de la lumière dans le dernier point d'intersection est calculée avec un ensemble d'algorithmes, y compris l'algorithme de rendu classique et d'autres techniques (telles que radiosité).

Description détaillée de l'algorithme, et sa naissance

Qu'est-ce qui se passe dans la nature

Dans la nature, une source de lumière émet un faisceau qui se déplace jusqu'à atteindre une surface qui interrompt le chemin. Vous pouvez penser du faisceau en un faisceau photons voyageant sur la même ligne. en vide absolu ce rayon serait suivre une ligne droite. En fait, toute combinaison de ces trois résultats peut se produire: absorption, réflexion et réfraction. Une surface peut refléter la totalité ou une partie du faisceau de lumière, dans une ou plusieurs directions. Il peut également absorber une partie du faisceau, ce qui provoque une perte d'intensité de la lumière réfléchie / réfractée. Si la surface a des propriétés de la transparence ou translucidité, va canaliser une partie de la lumière en elle-même, dans une direction différente de celle provoquée par l'absorption d'une partie (ou la totalité) du spectre optique (Et peut-être modifier la couleur). Résumant les valeurs d'absorption, la réflexion et la réfraction, vous obtenez exactement la puissance du faisceau entrant. Une surface ne peut pas, par exemple, absorbent 66% du faisceau entrant et reflètent les 50%, puisque la somme donnerait 116%.[1] A partir de là, les rayons réfléchis et / ou réfractées peuvent frapper d'autres surfaces, où ils seront absorbés, réfléchies et réfractées (encore une fois). Certains de ces rayons, la fin du voyage, affectent nos yeux, ce qui nous permet de voir la scène et de contribuer à la conception de l'image finale.

Algorithme pour Castings Ray

Le premier algorithme de coulée de rayons (par opposition à celle du ray tracing) a été présenté par Arthur Appel en 1968. L'idée du rayon renversons est de commencer les rayons de l'œil, un pour pixel, et trouver le plus proche objet qui bloque le chemin (faut penser à une image d'une telle grille, dans laquelle chaque carré correspond à un pixel). L'objet est de frapper l'œil voit à travers ce pixel. En utilisant les propriétés des matériaux et les effets de la lumière sur la scène, cet algorithme est capable de déterminer la couleur de l'objet. Cette supposition est fait penser qu'une surface est visible si le rayon atteint sans être bloqué ou à l'ombre. La couleur de la surface est calculée à l'aide traditionnelle modèle d'ombrage présenter Infographie. Un avantage important offert par le rayon de coulée par rapport à l'algorithme de ligne de balayage la plus ancienne, est sa capacité à gérer facilement des surfaces solides ou non planes, telles que cônes et sphères. Si une surface mathématique peut être affectée par un rayon, la coulée de rayons est capable de dessiner. des objets complexes peuvent être créés à l'aide de techniques modélisation de solides, et facilement rendu.

Le rayon de coulée pour la production de l'infographie a été utilisé pour la première fois par des scientifiques de mathématiques Applications Group, Inc., (MAGI) de Elmsford, New-York. en 1966, le groupe a été créé pour effectuer des calculs de l'exposition au rayonnement de la Le département américain de la Défense. la logiciel créé par MAGI calculé non seulement bounces les rayons gamma sur les surfaces (le rayon de coulée pour un rayonnement a été utilisé par une quarantaine d'années), Mais aussi comment ils pénétrèrent les objets et ont été réfractés. Ces études ont aidé le gouvernement à choisir certaines applications militaires, la construction de véhicules qui permettraient de protéger les troupes de radiation et pour les véhicules de saisie l'exploration spatiale. Sous la direction du dr. Philip Mittelman, les scientifiques ont mis au point une méthode pour la production d'images en utilisant le même logiciel. en 1972 société MAGI est devenue commerciale, animée qui a utilisé la coulée de rayons pour créer des animations 3D pour télévision, documentaires, et le film (créé une grande partie du film Tron en utilisant la diffusion de rayon seulement). Le MAGI a été fermé en 1985.

algorithme de tracé de rayons

La prochaine percée a été faite par Turner Whitted dans 1979. Les algorithmes précédents ont jeté le rayon de l'œil vers la scène, mais les rayons n'ont été suivis plus. Whitted a poursuivi le processus. Quand un rayon frappe une surface, il peut générer jusqu'à trois nouveaux types de rayon: réflexion, réfraction et ombre. Un faisceau réfléchi se poursuit dans la direction de réflexion de miroir sur une surface brillante. A ce stade, il interagit avec d'autres objets de la scène; le premier objet qui affecte ce qui sera vu dans le reflet de cet objet d'origine. Le rayon réfracté se déplace à travers le matériau transparent de manière similaire, avec l'addition qui peut entrer ou sortir d'un matériau. Pour éviter de tirer tous les rayons présents dans une scène, un rayon d'ombre est utilisée pour vérifier si la surface est visible à une lumière. Un rayon frappe une surface à un moment donné. Si ce point « voit » la lumière, un rayon (du point de vue de l'ordinateur une segment) Il est suivi à la source, au cours du voyage Si vous rencontrez un objet opaque, la surface est dans l'ombre, et que la source ne contribue pas au calcul des couleurs. Ce nouveau niveau de l'informatique ajoute plus de réalisme aux images créées par le tracé des rayons.

Avantages de ray tracing

La popularité acquise par le tracé des rayons définit la phase de simulation réaliste de la lumière par rapport aux autres modèles de rendu (de rendu de type ou scanline lancer de rayon). Les effets tels que la réflexion et ombre, difficile de simuler avec d'autres méthodes, ils sont le résultat naturel de l'algorithme. la mise en œuvre relativement simple conduit à des résultats impressionnants, le tracé des rayons est souvent le point d'accès à l'étude de la programmation graphique.

Inconvénients de traçage des rayons

Un inconvénient majeur est la performance. Des algorithmes tels que la ligne de balayage en utilisant la cohérence des données pour gérer le calcul entre les pixels, tandis que le raytracing redémarre le processus à chaque nouveau pixel, le traitement de chaque rayon d'une manière séparée. Cette séparation fournit des avantages tels que la possibilité d'envoyer plus de rayons que nécessaire pour obtenir l 'anticrénelage et d'améliorer la qualité d'image. Malgré gérer soigneusement et réfractions interréflexions, Ray Tracing est pas nécessairement traditionnel photoréaliste. La vraie photo-réalisme est atteint lorsque 'équation de rendu Il est bien approximée ou complètement mis en œuvre. Son calcul donne vrai photoréalisme, car il décrit chaque effet physique du flux de lumière. Le calcul complet est normalement impossible compte tenu des ressources informatiques nécessaires. Le réalisme de toutes les méthodes de rendu, par conséquent, doit être évalué par rapport à l'approximation de l'équation et, dans le cas de tracé de rayons, il est pas nécessairement le plus réaliste. D'autres méthodes, y compris la cartographie de photons, Ils sont basés sur l'algorithme de traçage de rayons dans certaines régions, et donnent de meilleurs résultats.

En traversant l'inverse de la scène

Le procédé de moulage des rayons de l'oeil vers la source lumineuse, pour dessiner une image, est parfois appelée arrière ray tracing (Ou "reverse ray tracing"), depuis le photons se déplaçant dans la direction opposée à celle habituelle. Cette terminologie est source de confusion. Un peu plus tôt le traçage de rayon a été fait à partir de l'œil, et les premiers chercheurs (comme James Arvo), a utilisé le terme arrière ray tracing pour désigner le chemin source oeil. Pour cette raison, il est plus facile de distinguer les deux cas, à base yeux (Basé sur l'œil) et à base de lumière (Basé sur la source). La recherche au cours des dernières décennies, a exploré des combinaisons de calculs effectués dans les deux sens, ainsi que des modèles capables de générer plus ou moins les rayons dans des directions différentes, à partir d'une surface affectée. Par exemple, les algorithmes de radiosité en général, ils travaillent en calculant la manière dont les photons, émis par une source, de modifier les surfaces, l'enregistrement des résultats. Ces données peuvent être utilisées par une norme traceur de rayons récursive pour créer l'image appropriée. Dans le contexte des algorithmes illumination globale, comme la cartographie de photons et le transport de la lumière Metropolis, tracé de rayons est juste un des outils utilisés pour calculer le transfert de lumière entre les surfaces.

Algorithme: récursive tracé de rayons classique

Pour chaque pixel de l'image {
Créer un rayon qui, de l'œil, passe par ce pixel
Initialiser « NearestT » à « INFINITY » et « NearestObject » à « NULL »
Pour chaque objet de la scène {
Si le faisceau frappe cet objet {
Si la distance « t » est inférieur à « NearestT » {
Set "NearestT" à "t"
Set « NearestObject » à cet objet
}
}
}
Si "NearestObject" est "NULL" {
Couleur ce pixel avec la couleur d'arrière-plan
Dans le cas contraire {}
Envoyer un rayon au niveau de chaque source de lumière pour tester si elle est à l'ombre
Si la surface est réfléchissante, le faisceau réfléchi génère: (récursion)
Si la surface est transparente, il génère le rayon réfracté: (récursion)
Utilisez « NearestObject » et « NearestT » pour calculer la couleur
Couleur ce pixel avec la couleur résultant
}
}

Au-dessous est représentée une image qui illustre le trajet de certains rayons récursifs, calculé en utilisant la pseudocode écrit ci-dessus. Une surface diffusive Il réfléchit la lumière dans toutes les directions.

PathOfRays.jpg

D'une part, un faisceau est créé à partir du point de vue de la caméra et tracée à travers un pixel vers une scène, où il frappe une surface diffusante. A partir de cette surface de l'algorithme génère un faisceau réfléchi, lancé, à son tour, à travers la scène, jusqu'à une autre surface. Enfin, une nouvelle partie de rayon, jusqu'à ce qu'il atteigne la source de lumière, où elle est absorbée. À ce stade, la couleur du pixel dépend de celle des deux surfaces affectées et de celle de la source lumineuse. Par exemple, si la lumière émise est blanche et les deux surfaces sont bleues, la couleur résultante sera bleu.

Raytracing en temps réel

Avec le temps, il y a eu des efforts pour mettre en œuvre aussi un rayon de traçage dans En temps réel pour les applications graphiques telles que jeux vidéo.

Le projet openrt est composé d'un noyau optimisé sur la base du tracé de rayon, et un API dans le style OpenGL d'offrir une autre approche basée sur le courant pixellisation.

L 'matériel spécifiquement pour le traçage des rayons, tels que l'unité Ray traitement développé à l'Université de la Sarre, il est conçu pour accélérer certaines opérations coûteuses informatiquement.

Certains logiciels en temps réel, basé sur le moteur tracé de rayons, ont été développés par les amateurs de programmeurs jusqu'à la fin années nonante. Le traceur de rayons utilisé dans ces demo, cependant, ils utilisent souvent des approximations inexactes et arrivent à tricher afin d'obtenir une bonne frame rate.[2]

Dans géométrique de commande

Raytracing dans infographie, Elle tire son nom et les principes d'une technique utilisée précédemment pour la conception de l'objectif. en optique, raytracing est une technique utilisée pour la réalisation de lent et des outils optique - caméras, jumelles, télescopes et microscopes - depuis les premières années de XX siècle. Ce type de raytracing décrit la propagation des rayons lumineux à travers des systèmes de lentilles ou d'un instrument optique, ce qui permet de modéliser la création des propriétés de l'image. Les effets suivants peuvent être intégrés dans un logiciel de traçage de rayons:

  • dispersion optique (Conduit à les aberrations chromatiques; partiellement intégré dans POV-Ray)
  • Indice de gradient optique
  • polarisation
  • effets lumineux laser
  • L'interférence dans des films minces tels que des bulles de savon ou optique multicouche (peut être utilisé pour calculer la réflectivité d'une surface).

Dans la conception optique gagnent en importance pour deux cas particuliers. Dans le premier cas, les rayons provenant d'une rencontre de source de lumière dans un point focal où ils peuvent interférer de manière constructive et destructive les uns aux autres. Dans la région focale proximale, les rayons peuvent être facilement approchées par ondes planes qui hériteront la direction. La longueur de trajet optique (OPL) à partir de la source est utilisée pour déterminer la phase vague. la dérivé de la poutre dans la position de zone focale par rapport à la position de la source, il est utilisé pour obtenir la largeur de la poutre et, à partir de cela, l 'amplitude agiter plat. Le résultat est la fonction de diffusion du spot lumineux (point de fonction d'étalement ou PSF), dont transformée de Fourier Elle correspond à la fonction de transfert de modulation (MTF), à partir de laquelle on peut également calculer le rapport de Strehl.

Le second cas estime l'interférence de fronts d'onde (L'ensemble des points qui ont la même phase) qui sont estimés, comme mentionné précédemment, les surfaces planes. Lorsque les rayons se rapprochent ou se croisent, cette approximation est moins.

L'interférence des ondes sphériques n'ont pas l'habitude de le faire avec le raytracing depuis la diffraction, à une ouverture donnée, il ne peut pas être calculé.

Ces techniques sont utilisées pour minimiser aberrations optiques dans le domaine photographique, pour des applications à haute longueur d'onde, telles que la modélisation micro-onde ou des systèmes de radiocommunication et de courte longueur d'onde telles que l'optique ultra-violet et Rayons X.

Avant l'avènement de ordinateur, les calculs de tracé de rayons ont été effectuées manuellement par le biais de tables trigonométrique et logarithmique. La formule optique utilisée par beaucoup lentille de la caméra classique ont été optimisés par de nombreux groupes de travail, dont chacun était responsable d'une petite partie du calcul compliqué. ère de l'informatique, ces opérations sont confiées à des ordinateurs électroniques et logiciels dédiés (tels que, par exemple, TracePro et OSLO Lambda Research, CODE V ou Zemax). Une version simplifiée du tracé des rayons, connu sous le nom de transfert « analyse ray matrice », est fréquemment utilisé dans la conception de résonateurs optiques utilisés dans laser.

exemple

Une démonstration des principes impliqués dans le suivi des rayons, considérons la façon dont nous pouvons trouver l'intersection entre un rayon et une sphère. L'équation générale d'une sphère peut être exprimée en notation vecteur, où la est un point sur la surface de la sphère, C il est le centre et r le rayon, avec cette formule: .

De même, si un rayon est défini par le point d'origine S (Origine du faisceau) et sa direction , chaque point sur la ligne satisfait à l'équation suivante:

quand t est une constante qui définit la distance mesurée sur la ligne de demi partant de l'origine (pour laquelle, pour simplifier, Il est généralement un vecteur unitaire). Maintenant, dans la scène que nous savons S, , C, et r. Ce que nous avons besoin est de trouver t pour être en mesure de remplacer la:

supposer pour simplifier, puis

cette équation quadratique Il a des solutions:

Si l'enracinement est négatif, le rayon ne coupe pas la sphère. Tel est le contexte mathématique du calcul d'intersection ray-sphère. Il y a des processus évidemment beaucoup plus généraux pour raytracing, mais ce serait seulement un exemple de la façon dont l'algorithme est utilisé.

notes

  1. ^ voir Loi de conservation de l'énergie
  2. ^ [1] Liste de certains démo populaire

bibliographie

  • Glassner, Andrew (Ed.) (1989). Introduction à Ray Tracing. Academic Press. ISBN 0-12-286160-4.
  • Shirley, Peter et Morley Keith, R. (2001) Tracing réaliste Ray, 2e édition. A.K. Peters. ISBN 1-56881-198-5.
  • Henrik Wann Jensen. (2001) synthèse d'image réaliste en utilisant la cartographie de photons. A.K. Peters. ISBN 1-56881-147-0.
  • Pharr, Matt et Humphreys, Greg (2004). Rendu Physiquement la base de la théorie à la mise en œuvre. Morgan Kaufmann. ISBN 0-12-553180-X.

Articles connexes

Exemples de logiciels

D'autres projets

  • Il contribue à Wikimedia Commons Wikimedia Commons: Il contient des images ou d'autres fichiers raytracing

liens externes