vers l'index général de l'aide

L'arc-en-ciel ("rainbow")

objectif

Créer un arc en ciel.

compatibilité

POV-Ray 3.0 +sup.

syntaxe

rainbow {
	direction Vecteur
	angle Angle
	width Width
	jitter
	distance Distance
	color_map { [couleurs de l'arc en ciel] }
	up Vecteur
	arc_angle Angle
	falloff_angle Angle
}

Les arcs-en-ciel sont réalisés avec des arcs circulaires partageant certaines caractéristiques du brouillard.

Le vecteur de direction, obligatoire, détermine la direction de la lumière responsable de l'arc-en-ciel. C'est une source de lumière qui émet des rayons de lumière parallèles. Elle n'a pas d'incidence sur le reste de la scène.

Les paramètres angle et width servent à spécifier respectivement la position et la taille de l'arc-en-ciel.

À chaque rayon, Pov calcule l'angle entre le vecteur de direction de l'arc-en-ciel et le vecteur de direction du rayon. Si l'angle est entre Angle-Width/2 et Angle+Width/2, l'arc-en-ciel est visible.

La couleur est alors déterminée en utilisant l'angle comme un index dans le spectre de couleurs de l'arc-en-ciel puis melangée avec la couleur d'arriere plan comme pour le brouillard.

jitter peut etre utilisé pour ajouter quelques irrégularités a l'arc-en-ciel pour le rendre plus réaliste.

distance est la distance à partir de laquelle l'arc-en ciel est visible, et a par defaut une grande valeur afin d'éviter que l'arc-en-ciel ne soit visible sur les objets.

color_map est utilisé pour assigner un spectre de couleurs à l'arc-en-ciel. L'index des couleurs est 0 pour l'anneau le plus interne et 1 pour le plus externe. filter et transmit peuvent être utilisés, et ont l'effet escompté (comme pour le brouillard).

Par défaut, l'arc-en-ciel forme un cercle complet. Si vous desirez qu'il ne soit pas entier, il faut utiliser les paramètres up, arc_angle et falloff_angle.

arc_angle donne la "course" de l'arc en degrés, up donne l'orientation du point de départ de l'arc (Y, par défaut) et, enfin, falloff_angle permet de faire disparaitre les extrémités de l'arc de façon douce.

exemple

//camera, fond, sol et lumière   
#include "colors.inc"
camera {location <0, 20, -100>	look_at <0, 25, 0>}
background { color SkyBlue }
plane { y, -10 pigment { color Green } }
light_source {<100, 120, 40> color White}

// déclaration des couleurs de l'arc-en-ciel
#declare r_violet1 = color rgbf<1.0, 0.5, 1.0, 1.0>;
#declare r_violet2 = color rgbf<1.0, 0.5, 1.0, 0.8>;
#declare r_indigo = color rgbf<0.5, 0.5, 1.0, 0.8>;
#declare r_blue = color rgbf<0.2, 0.2, 1.0, 0.8>;
#declare r_cyan = color rgbf<0.2, 1.0, 1.0, 0.8>;
#declare r_green = color rgbf<0.2, 1.0, 0.2, 0.8>;
#declare r_yellow = color rgbf<1.0, 1.0, 0.2, 0.8>;
#declare r_orange = color rgbf<1.0, 0.5, 0.2, 0.8>;
#declare r_red1 = color rgbf<1.0, 0.2, 0.2, 0.8>;
#declare r_red2 = color rgbf<1.0, 0.2, 0.2, 1.0>;

// création de l'arc
rainbow {
	angle 15
	width 3
	direction <-3, 0, 10>
	jitter 0.01
	color_map {
		[0.000 color r_violet1]
		[0.100 color r_violet2]
		[0.214 color r_indigo]
		[0.328 color r_blue]
		[0.442 color r_cyan]
		[0.556 color r_green]
		[0.670 color r_yellow]
		[0.784 color r_orange]
		[0.900 color r_red1]
	} 
	arc_angle 180 
	falloff_angle 60
}

remarques

On peut utiliser autant d'arcs-en-ciel que l'on veut dans une scène. Les arcs-en-ciel peuvent être utilisés avec d'autres effets atmosphériques.

astuce

Une astuce qui vous évitera le recours à l'acide acétylsalicylique : pour placer un arc-en-ciel dans une scène, donnez-lui, pour commencer, un vecteur de direction égal à - location - look_at (par référence à la position de la caméra). Cela placera automatiquement l'arc bien au centre de l'image, et vous pourrez facilement ajuster sa position en modifiant un peu le vecteur.

Rédacteur: Rodolphe Gélaude