Home
- POV-Ray Tutorials
Kamera + Licht
in POV-Ray
Content - INDEX
Typen von Lichtquellen:
Punklicht
spotlight
cylindrical,
parallel,
area light, weiche Schatten
Lichtquellen - Spezielles:
Sichtbar mit looks_like
Schattenlos shadowless
projected_through
Fade out
Typen von Kameras:
perspective
ultra_wide_angle
orthographic
cylindrical
spherical
fisheye
panoramic
omnimax
Kamera - Spezielles:
Aspect ratio
Focal blur
Kamera + normal
Architektur-Perspektive
Zeigen und Verbergen:
no_shadow
no_reflection
no_image
no_body
|
|
Kamera für Architektur-Perspektiven
Gescherte Kamera zur Vermeidung stürzender Linien bei Senkrechten.
Die Simulation der senkrechten Parallelverschiebung der Linse nach oben oder nach unten,
wie mit einer Fachkamera mit flexiblen Balgengehäuse oder einer Kamera mit einem Shift-Objektiv,
welche hauptsächlich in der Architekturfotografie verwendet werden.
|
|
Zum Vergleich:
Die normale 'perspective' Kamera
Kameratyp 'perspective' ist POV-Ray default (Voreinstellung):
#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, it's default)
location Camera_Location
look_at Camera_Look_At
angle Camera_Angle
right x*image_width/image_height
} // ------------------------------ |
|
Kameratyp 'perspective' (default)
|
Klassische Perspective
mit 3 Fluchtpunkten
|
|
Die Vermeidung der stürzenden Linien:
Kamera für Architektur-Perspektiven
Eine gescherte 'perspective' Kamera:
Hier müssen wir folgende Wert vorher deklarieren:
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; |
Dann muß man einige zusätzliche Werte berechnen und damit die 'camera' wie folgt definieren:
|
Kamera mit Architektur-Perspektive
|
Architektur-Perspektive
mit 2 Fluchtpunkten
|
#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>
} //------------------------------------------// |
|
Anmerkung: Mit dieser Kamera erhalten wir
die folgende gelbe Warnmeldung:
// Parse warning: Camera vectors are not perpendicular.
Making look_at the last statement may help.
|
Wir können dies ignorieren! - Keine Panik! Es funktioniert trotzdem!
Sicher: der 'up'-Vektor ist nicht senkrecht (perpendicular) zum Richtungsvektor der Kamera,
aber für eine parallel verschobene Linse (Shift-Linse) muß dies so sein!
|
|