Vektors and Angles

hi,
i got a problem for calculating my camera.
I tried so much stuff.
What i got:
2 Vektors:
p = my aktual position
t = my desired point
My wished point to look @ is in the center of my coor-system.
Now i have done the calculation of u( = the vektor where the cam is moving ).
In the next step i want to use t to get the angles to my wished point w(0,0,0); t+w = my view direction.
I’ve done a small graphic for this:

http://imagesload.net/img/vektorenProb12937812937.jpg

I tried to get the angles on this way:
First i turned the direction of t around, so all values are multiplied by -1.
Now my Vektor t is pointing down to w(0,0,0).
In the next step i reduced t on 2 Planes.
So i can calculate the angles with X/Y and X/Z
a = arccos( (tx,ty)skalar(1,0) / |(tx,ty)||(1,0)|);
b = arccos( (tx,tz)skalar(0,1) / |(tx,tz)|
|(0,1)|);

But my result is bad :frowning:

(thats math so it have to be in this forum, right? if not, it may belongs to JOGL, im sry)

If I understand your problem correctly, you want to move
from position of end of vector P
to position of end of vector T
through vector u
looking at 0,0,0

If this is correct, you can simply lerp between the points, and at every intermediate position, calculate the angles to 0,0,0, using:


// Y axis is UP

   public static double yawAngle(Vec3 a, Vec3 b)
   {
      return atan2(b.z - a.z, b.x - a.x);
   }

   public static double pitchAngle(Vec3 a, Vec3 b)
   {
      return atan2(b.y - a.y, distanceXZ(a, b));
   }

   public static double distanceXZ(Vec3 a, Vec3 b)
   {
      float x = a.x - b.x;
      float z = a.z - b.z;

      return Math.sqrt(x * x + z * z);
   }

nice, thx.
that was what i was looking for :3