POV-Ray : Newsgroups : povray.advanced-users : Animorphic Camera? : Re: Animorphic Camera? Server Time
15 May 2024 18:48:26 EDT (-0400)
  Re: Animorphic Camera?  
From: clipka
Date: 30 Sep 2015 14:13:36
Message: <560c2650@news.povray.org>
Am 30.09.2015 um 04:58 schrieb dickbalaska:
> Hi ho,
> 
> [ I have an 8 minute POV-Ray video/DVD that I made back in 99-03.
> Since my house is now littered with 60" wide screen TVs, I reckon I need to
> rebuild it, after a 10 year povray hiatus. ]
> 
> I can't figure out the camera. For 720x480 NTSC 4/3, the camera is "right
> 1.33*x" .
> I figured for animorphic, I would say 1.78*x and everything would be squished,
> easy peasey. Alas, no. It actually looks the same as the 4/3 version.
> The docs perhaps suggest "angle" may be what I want to tweak, but I'm lost on
> the math. I need to display 854 pixels worth of data in a 720 (or 704) wide
> image.
> 
> Help?

I presume that you mean "anamorphic", or, more specifically, anamorphic
widescreen DVD format: Video data stored in the same format that would
be used for 4:3 material, but intended to be stretched horizontally to
fit a 16:9 display.

In that case, the /display aspect ratio/ you need is 16:9.


In POV-Ray, the display aspect ratio is specified in the camera block,
via the "right" and "up" vectors. To achieve the required ratio of 16:9,
you need to make sure that the "right" vector is (16/9) times as long as
the "up" vector.

If your camera block uses the "angle" keyword, then this is trivially
achieved by using any of the following settings (presuming the
directions are supposed to be x and y, respectively):

    right 16*x up 9*y
    right (16/9)*x up y
    right x up (9/16)*y

In addition, however, you may have to adjust the "angle" setting,
depending on whether you want to keep the horizontal or vertical viewing
angle unchanged: To keep the /vertical/ viewing angle unchanged, just
leave "angle" as it is; otherwise, to keep the /horizontal/ viewing
angle unchanged, use:

    angle atan(tan(ANGLE)*(16/9)/(4/3))

where ANGLE is the old setting.

If your camera block does /not/ use the "angle" keyword, and you want to
keep the /horizontal/ viewing angle unchanged, then you should use:

    right RLENGTH*x up (9/16)*RLENGTH*y

where RLENGTH is the previous length of the "right" vector; if on the
other hand you want to keep the /vertical/ viewing angle unchanged, then
you should use:

    right (16/9)*ULENGTH*x up ULENGTH*y

where ULENGTH is the previous length of the "up" vector (again presuming
the directions are supposed to be x and y, respectively).


That is all there is to get the right /display/ aspect ratio. The
/storage/ aspect ratio, i.e. the ratio of the image width and height in
pixels, is entirely independent from it, and is not set via the scene
description, but via command-line or ini-file parameters; these are
totally straightforward: To generate images with a storage size of
720x480, simply use:

    +w720 +h480

Alternatively, to generate 704x480 material, use:

    +w704 +h480

(Note how these formats don't match the classic 4:3 NTSC display aspect
ratio either.)


That /should/ be all the magic needed.

As a final note though, don't pay too much attention to the preview
window: No matter what display aspect ratio you are targeting, the
preview will always show the image at the chosen storage aspect ratio
(or, more precisely, the storage aspect ratio multiplied by your
computer's effective pixel aspect ratio, which in the ideal case would
be 1:1).


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.