Ray tracingvignette|upright=1.5|Exemple d' montrant la réfraction dans cinq milieux différents : dans l'air, dans le liquide bleu, dans le liquide rouge, dans le verre et dans le tube de plastique (les images sont déformées par le changement d'indice optique). Le lancer de rayons, ou lancer de rayon, également appelé ray tracing, est une technique de calcul d'optique par ordinateur, utilisée pour le rendu en ou pour des études de systèmes optiques.
Distributed ray tracingDistributed ray tracing, also called distribution ray tracing and stochastic ray tracing, is a refinement of ray tracing that allows for the rendering of "soft" phenomena. Conventional ray tracing uses single rays to sample many different domains. For example, when the color of an object is calculated, ray tracing might send a single ray to each light source in the scene. This leads to sharp shadows, since there is no way for a light source to be partially occluded (another way of saying this is that all lights are point sources and have zero area).
Purely functional data structureIn computer science, a purely functional data structure is a data structure that can be directly implemented in a purely functional language. The main difference between an arbitrary data structure and a purely functional one is that the latter is (strongly) immutable. This restriction ensures the data structure possesses the advantages of immutable objects: (full) persistency, quick copy of objects, and thread safety. Efficient purely functional data structures may require the use of lazy evaluation and memoization.
Path tracingvignette|Image d'une scène 3D constituée de trois sphères, obtenue par path tracing. Le path tracing est une technique de lancer de rayon (ray tracing), utilisée pour déterminer l'illumination globale d'une scène 3D en résolvant l'équation du rendu. L'image finale est générée par une constitution progressive : d'abord un brouillard de pixels, elle s'affine progressivement jusqu'à être débarrassée presque complètement de son « grain ». Le path tracing a été introduit par James Kajiya en 1986.
Beam tracingBeam tracing is an algorithm to simulate wave propagation. It was developed in the context of computer graphics to render 3D scenes, but it has been also used in other similar areas such as acoustics and electromagnetism simulations. Beam tracing is a derivative of the ray tracing algorithm that replaces rays, which have no thickness, with beams. Beams are shaped like unbounded pyramids, with (possibly complex) polygonal cross sections. Beam tracing was first proposed by Paul Heckbert and Pat Hanrahan.
Raycastingthumb|right|350px|Capture d’écran de Freedoom : reproduction libre de Doom utilisant également le raycasting. Le raycasting est une technique de calcul d'images de synthèse 3D, facilement accélérée matériellement par une carte graphique dédiée. L'accélération peut se faire en utilisant l'API OpenGL, Glide (tombé en désuétude), ou Direct3D. Elle a été utilisée avec succès au début des années 1990 dans les jeux vidéo comme Wolfenstein 3D ou Doom. L'implémentation était alors entièrement logicielle et ne faisait pas appel à du matériel spécifique.
Open-source softwareOpen-source software (OSS) is computer software that is released under a license in which the copyright holder grants users the rights to use, study, change, and distribute the software and its source code to anyone and for any purpose. Open-source software may be developed in a collaborative, public manner. Open-source software is a prominent example of open collaboration, meaning any capable user is able to participate online in development, making the number of possible contributors indefinite.
Open sourceOpen source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized software development model that encourages open collaboration. A main principle of open-source software development is peer production, with products such as source code, blueprints, and documentation freely available to the public.
Ray tracing (physics)In physics, ray tracing is a method for calculating the path of waves or particles through a system with regions of varying propagation velocity, absorption characteristics, and reflecting surfaces. Under these circumstances, wavefronts may bend, change direction, or reflect off surfaces, complicating analysis. Ray tracing solves the problem by repeatedly advancing idealized narrow beams called rays through the medium by discrete amounts. Simple problems can be analyzed by propagating a few rays using simple mathematics.
Programmation fonctionnelleLa programmation fonctionnelle est un paradigme de programmation de type déclaratif qui considère le calcul en tant qu'évaluation de fonctions mathématiques. Comme le changement d'état et la mutation des données ne peuvent pas être représentés par des évaluations de fonctions la programmation fonctionnelle ne les admet pas, au contraire elle met en avant l'application des fonctions, contrairement au modèle de programmation impérative qui met en avant les changements d'état.
Rayon lumineuxvignette|Lasers visibles Lasers rouges : 635 nm, 660 nm Lasers verts : 520 nm, 532 nm Lasers bleus : 405 nm, 445 nm Le rayon lumineux est une notion d'optique et un outil mathématique, utilisé principalement en optique géométrique, décrivant le trajet de la lumière de manière simplificatrice, valable uniquement lorsque le rayon lumineux se propage dans des milieux où les obstacles et composants optiques ont des dimensions très supérieures à la longueur d'onde.
Open-source licenseOpen-source licenses facilitate free and open-source software (FOSS) development. Intellectual property (IP) laws restrict the modification and sharing of creative works. Free and open-source software licenses use these existing legal structures for the inverse purpose of granting freedoms that promote sharing and collaboration. They grant the recipient the rights to use the software, examine the source code, modify it, and distribute the modifications. These licenses target computer software where source code can be necessary to create modifications.
Matériel librevignette|Zynthian, un projet de synthétiseur musical libre Le matériel libre, matériel ouvert ou matériel open source désigne, par analogie avec le logiciel libre et le logiciel open source, les technologies des matériels et produits physiques développés selon les principes des ressources libres de droits ou sous licence libre. . Chris Anderson, rédacteur en chef de Wired et auteur de la longue traîne, affirme que et évoque la voiture libre Rally Fighter, une des premières voitures de course open source (ses spécifications sont « libres »), développée de façon communautaire, par production participative.
Programmation purement fonctionnelleEn informatique, la programmation purement fonctionnelle est un paradigme de programmation qui considère toutes les opérations comme l'évaluation de fonctions mathématiques. L'état et les objets immuables sont généralement modélisés à l'aide d'une logique temporelle, en tant que variables explicites représentant l'état du programme à chaque étape de son exécution : l'état d'une variable est transmis en tant que paramètre d'entrée d'une fonction de transformation d'état, qui renvoie l'état mis à jour en tant que partie de sa valeur de retour.
Open-source-software movementThe open-source-software movement is a movement that supports the use of open-source licenses for some or all software, as part of the broader notion of open collaboration. The open-source movement was started to spread the concept/idea of open-source software. Programmers who support the open-source-movement philosophy contribute to the open-source community by voluntarily writing and exchanging programming code for software development.
Open-source software developmentOpen-source software development (OSSD) is the process by which open-source software, or similar software whose source code is publicly available, is developed by an open-source software project. These are software products available with its source code under an open-source license to study, change, and improve its design. Examples of some popular open-source software products are Mozilla Firefox, Google Chromium, Android, LibreOffice and the VLC media player. In 1997, Eric S. Raymond wrote The Cathedral and the Bazaar.
Free/Libre Open Source Softwarevignette|320x320px|Capture d'écran d'un bureau avec de multiples logiciels open-source en cours d'exécution: VLC, Firefox, LibreOffice Writer, GIMP, etc. Free and open-source software (F/OSS, FOSS) ou free/libre/open-source software (FLOSS) sont des expressions inclusives, rassemblant à la fois les logiciels libres et les logiciels à code source ouvert, qui malgré des cultures et des philosophies divergentes ont des modèles de développement logiciel similaires.
Structure de données persistanteEn informatique, une structure de données persistante est une structure de données qui préserve ses versions antérieures lorsqu'elle est modifiée ; une telle structure est immuable, car ses opérations ne la modifient pas en place (de manière visible) mais renvoient au contraire de nouvelles structures. Une structure est partiellement persistante si seule sa version la plus récente peut être modifiée, les autres n'étant accessibles qu'en lecture. La structure est dite totalement persistante si chacune de ses versions peut être lue ou modifiée.
Open Source DefinitionL'Open Source Definition (« définition de lopen source ») détermine les conditions nécessaires pour qu'une licence soit considérée comme open source aux yeux de l'Open Source Initiative. Elle est publiée sur le site de l'OSI avec une liste de licences approuvées''. La définition est reprise du texte des principes du logiciel libre selon Debian, écrits et adaptés principalement par Bruce Perens avec des contributions des développeurs de Debian. Le document est créé 9 mois avant la création de l'Open Source Initiative.
Transformation opticsTransformation optics is a branch of optics which applies metamaterials to produce spatial variations, derived from coordinate transformations, which can direct chosen bandwidths of electromagnetic radiation. This can allow for the construction of new composite artificial devices, which probably could not exist without metamaterials and coordinate transformation. Computing power that became available in the late 1990s enables prescribed quantitative values for the permittivity and permeability, the constitutive parameters, which produce localized spatial variations.