Some Question about Move Camera

Hi



I got several prombles on recent stduy



I read the code in KeyLookDownAction.class (package com.jme.input.action)



public void performAction(InputActionEvent evt) {
        incr.fromAngleNormalAxis(speed * evt.getTime(), camera.getLeft());
        incr.mult(camera.getLeft(), camera.getLeft());
        incr.mult(camera.getDirection(), camera.getDirection());
        incr.mult(camera.getUp(), camera.getUp());
        camera.normalize();
        camera.update();
}



i draw a picture about my understand, here it is:



the incr.fromAngleNormalAxis(speed * evt.getTime(), camera.getLeft()); just initialization the matrix with the angle which should turn down.

incr.mult(camera.getLeft(), camera.getLeft());
incr.mult(camera.getDirection(), camera.getDirection());
incr.mult(camera.getUp(), camera.getUp());

those codes just turn the aix,
ex:
incr.mult(camera.getLeft(), camera.getLeft()); turn the lefe_aix to the new left_aix(in the picture)

here my question:

1`

this action is design for use the Mouse Move Delta(dy---> Mouse.newX-Mouse.oldX) to turn the Camera down

so:

if the action only turn the Camera down

why use incr.mult(camera.getLeft(), camera.getLeft());?

in my theoretics it dosn't change anything.

2`

the fromAngleNormalAxis just used this expressions



why just use this expressions




:? Help me Thanks a lot