Page d'Accueil
- Tutoriels POV-Ray
Caméra et Lumière
avec POV-Ray
Table des matières
Types de Lumière:
point light
spotlight
cylindrical spotlight,
lumière parallèle,
area light, ombres douces
Lumière - Spécialités:
Sources visibles
shadowless light_source
projected_through
Fading - lumière atténuée
Types de Caméra:
Perspective caméra
Ultra_wide_angle
Orthographic caméra
Cylindrical caméra
Spherical caméra
Fisheye caméra
Panoramic caméra
Omnimax caméra
Caméra - Spécialités:
Aspect ratio
Focal blur
Caméra et normal
Perspective architecturale
Faire voir et cacher:
no_shadow
no_reflection
no_image
no_body
|
|
La perspective architecturale
Une caméra pour éviter les lignes convergentes.
Ces déformations par les lignes convergentes des éléments verticaux d'une façade
en vue plongée/contre-plongée on peut éviter par la simulation des décentrement verticale
de l'objectif
comme avec une chambre photographique (appareil folding)
ou avec un appareil photographique et un objectif à décentrement (shift),
comme utilisser dans la photographie d'architecture.
|
|
Pour la comparaison :
Caméra 'perspective' standard
La 'camera' de type 'perspective' (POV-Ray default) :
#declare Camera_Location = <0.0,1.6,-5.0>;
#declare Camera_Look_At = <0.0,4.0, 0.0>;
#declare Camera_Angle = 45; |
camera{ //perspective //(optional, default !)
location Camera_Location
look_at Camera_Look_At
angle Camera_Angle
right x*image_width/image_height
} // ------------------------------ |
|
La caméra perspective default
|
Perspective classique
avec 3 points de fuite.
|
|
Comment évite les lignes convergentes :
Une Caméra pour
la perspective architecturale
Pour une camera 'perspective' avec cisaillement
pour la compensation des lignes convergentes,
ici nous déclarons en avant les valeurs suivantes :
Camera_Location, Camera_Look_At, Camera_Angle
#declare Camera_Location = <0.0,1.6,-5.0>;
#declare Camera_Look_At = <0.0,4.0, 0.0>;
#declare Camera_Angle = 45; |
Après cela nous avons besoin de calculer quelques valeurs additionelles
et déclare la 'camera' avec ces valeurs comme suit :
|
Une camera pour perspective architecturale
|
La perspective architecturale
avec 2 points de fuite.
|
#include "transforms.inc"
#declare Cam_V = Camera_Look_At - Camera_Location;
#declare Cam_Ho = sqrt(pow(Cam_V.x,2)+pow(Cam_V.z ,2));
#declare Cam_Y = Camera_Look_At.y - Camera_Location.y;
//--------------------------------------------------//
camera{ angle Camera_Angle
right x*image_width/image_height
location<0,Camera_Look_At.y,-Cam_Ho>
matrix<1,0,0, 0,1,0, 0,Cam_Y/Cam_Ho,1, 0,0,0>
Reorient_Trans(z,<Cam_V.x,0,Cam_V.z>)
translate<Camera_Look_At.x,0,Camera_Look_At.z>
} //------------------------------------------// |
|
Note : Avec cette 'camera', on obtient
le message d'avertissement jaune suivant :
// Parse warning: Camera vectors are not perpendicular.
Making look_at the last statement may help.
|
Vous pouvez l'ignorer! - Ne paniquez pas! Il fonctionne toujours!
Coffre-fort: le vecteur «up» n'est pas perpendiculaire au vecteur de direction de la caméra,
mais avec un objectif déplacée parallèlement (shift) doit en être ainsi!
|
|