|
|
Thomas de Groot <tho### [at] degrootorg> wrote:
> I dimly remembered an old post about Euler matrix rotations:
>
>
https://news.povray.org/povray.general/thread/%3Cweb.44d8fc1ca05d1ece40d56c170%40news.povray.org%3E/?ttop=438426&toff
=2650
>
> which I almost lost but was hiding in an obscure nook. At the end of the
> thread there is a bit of interesting/useful code which seems related to
> what you have so smartly cooked up here.
Very nice. I'll hopefully get a chance to take a look at that code and what it
does in the coming week.
In preparation for that, I wrote a little transform visualization playground
that compares the transformed world coordinates (basis vectors) to the camera
basis vectors.
(I phrase it that way, since if you apply a transform to the camera, you'll get
the effect of transforming all of POV-space with that transform)
It's also difficult for most people to grasp and clearly understand what's going
on with a matrix transform, and keep track of how the basis vectors get
processed, and what the values in the matrix < > (matrix vector) directive
represent.
So the first transform I rendered is the Shear_Trans (), since it's a straight
conversion of the basis vector space to what's specified in the matrix vector.
There's really no "shear" unless you specify one.
Shear_Trans () really does nothing except apply a straight transform {matrix
<>}.
You can use it to shear, scale, or rotate, or all 3, depending on what values
you put in for the arguments. You can't do translations with it, since that
last row vector is hard-coded in the macro to 0, 0, 0.
Please hoard those questions and write them all down. The questions we have a
hard time answering are the ones we stand to learn the most from.
Post a reply to this message
Attachments:
Download 'sheartransform.png' (385 KB)
Preview of image 'sheartransform.png'
|
|