|
|
Op 20/11/2020 om 12:28 schreef Bald Eagle:
> Thomas de Groot <tho### [at] degrootorg> wrote:
>> I agree with you. One of the things which still puzzles me is that there
>> seems also to be a slight zoom effect, mostly noticiably in cloud
>> patterns for instance in the background. Maybe that is what you observe.
>> However, for the time being, the macro is more useful than it was.
>
> OK, I wanted to make sure that it wasn't just me.
>
> The zoom, I think, is part uncorrected stuff, and part unexpected "optical
> illusion". It's real, but it's the effect of tilting the camera's "film plane",
> so that some parts are closer to the scene objects than they were.
Yes, I guessed something like that.
>
> Try 2 things.
>
> use:
>
> #local _j = vlength (<ShearX, VCorr, ShearZ>);
>
> #debug "\nIgnore the following Parse Warning: \n"
> #debug "----------------------------------- \n"
> #declare NoFall =
> transform {
> matrix < 1, 0, 0,
> ShearX, VCorr, ShearZ,
> 0, 0, 1,
> -CamLoc.y*ShearX, -CamLoc.y/_j*VCorr, -CamLoc.y*ShearZ*_j>
>
> _j is the length of the new modified y-axis, and I think that there needs to be
> a shift back to compensate for that, and average out the "zoom" effect, as shown
> in the new matrix term.
>
> and _then_ follow up with:
>
>
> #if (FC)
> camera {
> //FieldCam (CamLoc, CamLookAt)
> FieldCam2 (CamLoc, CamLookAt)
> perspective
> location CamLoc
> sky CamSky
> up CamSky
> direction z*CamZoom
> right x*AspectRatio
> angle CamAng
> translate -CamLoc
> transform {NoFall}
> translate CamLoc
> look_at CamLookAt
> }
>
> To apply the camera matrix with the camera at the origin.
This does not work correctly: the camera is pushed below the surface
(above the surface when y becomes negative, obviously). the VCorr
remains a puzzle to me and the _j does not help in the matter. I also
have a hunch that putting the camera at the origin is not helpful. It
doe not make any difference as far as I can tell.
>
> I think any further work will really need to quantify the effect.
>
Yes, I think that is the correct conclusion. So far, you have done a
great job already and made the macro much more useful than it was
originally.
--
Thomas
Post a reply to this message
|
|