POV-Ray : Newsgroups : povray.binaries.images : Doctor John - FieldCam conundrum : Re: Doctor John - FieldCam conundrum Server Time
20 Apr 2024 01:47:41 EDT (-0400)
  Re: Doctor John - FieldCam conundrum  
From: Bald Eagle
Date: 20 Nov 2020 06:30:00
Message: <web.5fb7a86fed460f771f9dae300@news.povray.org>
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.

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.

I think any further work will really need to quantify the effect.


Post a reply to this message

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