|
|
Op 16/11/2020 om 23:12 schreef Bald Eagle:
> Thomas de Groot <tho### [at] degrootorg> wrote:
>
>> I am a regular user of Doctor John's FieldCam macro which enables
>> slanting architecture to look straight. It simulates the professional
>> cameras where this adjustment can be done through the lenses.
>
> I think it's actually accomplished using the adjustable film plane of the view
> camera.
> The 3-book series on negative, print, and camera by Ansel Adams ought to
> describe it fully and clearly.
> <hint> One might think there are PDF's of those available... ;) </hint>
In a dim, prehistoric past, I actually played a bit with a technical
camera which could do this: it was a matter of sliding up and/or down
the lens and/or the film plane indeed. Additionally, one could rotate
those horizontally. Great toys for photographing (tall) architecture!
But, back to topic.
>
>> The macro works perfectly... as long as your scene camera is situated
>> about the origin of the Y-axis. Recently, I have been working on scenes
>> where the camera is situated at about y=170.00, and strange things
>> happen: the camera is moved upwards and forwards, the more so as
>> elevation gets greater.
>
> Is this a custom version that you edited yourself, or a later version of the
> original?
> All I found was this:
>
http://news.povray.org/povray.text.scene-files/thread/%3Cweb.3e0c736a1f1273cdb29393de0%40news.povray.org%3E/
This is a custom version 2.0 (2005). I only added the #debug lines to
understand what kind of info was generated.
>
> I'm puzzled by this:
> #local VCorr = pow(vlength(CD), 2)/pow(HypoXZ, 2);
> and its use in the matrix. Seems to be some long-winded way to compute y^2 or a
> multiple of it....
>
> Maybe try
> #local VCorr = CP.y; ? Totally guessing.
I also was puzzled by VCorr, not understanding what it really does.
I shall try your guess later today.
>
>> To illustrate this, I have attached a little test scene and an image
>> showing the problem. H is the value for the elevation of the scene
>> elements along the Y-axis.
>
> I don't really understand what I'm looking at in the scene, nor how the macro
> corrects the one column and not the others...
From left to right:
1 - a scene not using FC, camera pointing upwards, base level at y=0.0
2 - same scene using FC. The pillars are now straight as far as the
observer is concerned. Base level still at y=0.0
3 - same scene, again using FC, but now with a base level of y=10.0
4 - idem, base level is y=20.0
Look again: all three pillars are corrected!
>
>> I can correct this by adding a translate after the "NoFall" transform in
>> the camera code, but I assume that this could better be done within the
>> "NoFall" matrix. I have not the slightest idea how to do this.
>
> shear matrix:
> http://www.f-lohmueller.de/pov_tut/trans/trans_450e.htm
>
> The matrix just ... "corrects" the basis vectors of the world space that the
> camera uses.
>
> If you look at the thread that jr references:
>
http://news.povray.org/povray.binaries.misc/thread/%3Cweb.5c226659252b677e48892b50%40news.povray.org%3E/
>
> we explain that the POV-Ray matrix keyword uses a proper 3x3 mathematical matrix
> with an additional 1x3 translation matrix "bolted on"to the bottom.
>
> So for
> ABC
> DEF
> GHI
>
> you have row-wise definitions of the basis vectors i, j, k (x, y, z) of the
> world space.
>
> So
> ABC = <1, 0, 0> = x
> DEF = <0, 1, 0> = y
> GHI = <0, 0, 1> = z
>
> and then you tack on a translate <x, y, z> to the bottom of that.
>
> So, quick and dirty answer, to address moving your correctional translation to
> the matrix would be (I think)
>
> matrix <1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -CP.y, 0>
>
> Doctor John has some mathematical hocus pocus going in with his squared terms,
> and what assumptions he makes and why is currently beyond my ken, but perhaps at
> some point when I return to having the time and energy to muck around with
> POV-Ray stuff, I will puzzle it out.
>
> I'm not sure what the Vcorr does, but I guess it is doing it... wrong?
>
> That's all I've got - for now.
>
Well, that is already a lot and thanks for that. You gave me an idea
for further testing, without understanding at all what I shall do, but
at least it will give me some visual clues. Frankly, this is beyond my
already feeble knowledge.
I shall be back later.
--
Thomas
Post a reply to this message
|
|