La position
La primitive camera sert à définir le point de vue et la profondeur de l’image générée par POVRay.
Quand on souhaite simuler les images prises par une vraie webcam sur un robot, il faut donc reproduire les caractéristiques (focale, angle d’ouverture, etc...) mais surtout positionner la caméra.
Il faut trouver la position de la webcam dans le robot
Puis il faut tourner la caméra pour qu’elle vise un point particulier. Alors que POVRay permet de spécifier ce point, il est plus réaliste pour nous (du point de vue réalisation mécanique) de donner les angles
Ensuite vient le positionnement sur le terrain, mais à ce stade il suffit de reprendre les caractéristiques du robot lui-même :
On obtient donc le code suivant. Notez l’ordre d’appel qui est important, car les rotations se font toujours par rapport au centre 0 et la composition des deux translations pourrait être différente.
camera {
rotate <a,b,c>
location <x,y,z>
rotate <A,B,C>
location <X,Y,Z>
}
et généralement, on a :
– c = 0 : l’horizon de la caméra est droit
– x = 0 : la caméra est sur l’axe milieu du robot
– A = C = 0 : le robot est horizontal
– Y = 0 : le robot est sur la table
Les images
On utilise pour modéliser le terrain des Coupes Eurobot les couleurs RAL du règlement. Lorsqu’on compare nos images générées à des photos webcam, on note une différence qu’on va essayer de reproduire. Actuellement on procédait par remplacement de chaque couleur, mais il serait plus efficace, plus fidèle à notre but de réalisme d’appliquer des filtres correspondant aux altérations de l’image provoquées par le passage dans l’objectif et sur le capteur numérique de la webcam.