Still in love with the elegance of user_defined cameras. Here's the code for a
"inverse panorama", also known as an "object panorama".
// Object panorama camera
// (x,y) range from -0.5 to 0.5 each
#declare ZMIN = -0.45; // Vertical range of camera
#declare ZMAX = 0.45; // Determined by actual height range of the
object
#declare RANGE = 10; // Distance of camera, wide FOV to
orthographic
#declare PANANGLE = radians(90); // Pan panorama
camera {
user_defined
location {
function { RANGE * cos(x*pi*2 + PANANGLE) }
function { RANGE * sin(x*pi*2 + PANANGLE) }
function { ZMIN + (y+0.5) * (ZMAX-ZMIN) }
}
direction {
function { -cos(x*pi*2 + PANANGLE) }
function { -sin(x*pi*2 + PANANGLE) }
function { 0 }
}
}
Instead of a slit camera at a single position rotating about a vertical axis,
one moves a slit camera on a circle around an object where the camera is looking
towards the center of the object. A bit weird, like all multi-point projections.
Some examples attached of some Chinese puppets.
Post a reply to this message
Attachments:
Download 'example.jpg' (3316 KB)
Preview of image 'example.jpg'

|