Gimbal Lock Problem?

Started by
3 comments, last by Spoon Thumb 12 years, 6 months ago
I'm making a game set in space. My spaceship has a 'direction' vector (the direction it is currently travelling in) and a 'target' vector (the vector from its present location to its destination).

The ship also has a location, a velocity and maximum angle by which it can turn by per tick ('turnAngle')

Each tick, I take the cross product of the direction and target vectors to get an axis of rotation.

I then use quaternions to rotate the direction around that axis by turnAngle radians.

Finally I multiply each part of the direction vector by the velocity and add the results to the ship's location to move it

The problem is that I often (but not always) end up with the direction vector coming to lie along the rotation axis (I assume this is the famous gimbal lock that I keep hearing about; see screenshot). Any help with this would be most appreciated as I've spent ages trying all sorts of things to solve this all to no avail. Below is my code (all in java):


public class Spaceship{

Vector3F targetVector;
Vector3F directionVector;
Vector3F rotationAxis;
Vector3F location;
float velocity = 20;
float turnAngle = 0.05f;
Waypoint currentWaypoint;

private Location getPredictedLocation(Vector3F vector1) {

Vector3F vector = new Vector3F(vector1);

if(vector.x==0 && vector.y==0 && vector.z ==0){
return location;
}

Vector3F normalisedVector = getNormalisedVector(vector);

// calculate predicted location
Vector3F predicted = new Vector3F(location);
predicted.x += (normalisedVector.x * velocity);
predicted.y += (normalisedVector.y * velocity);
predicted.z += (normalisedVector.z * velocity);

return predicted;

}

private Vector3F getWaypointVector(Waypoint wp) {

Vector3F returnvector = new Vector3F();

returnvector.x = wp.getWaypointLocation().x - location.x;
returnvector.y = wp.getWaypointLocation().y - location.y;
returnvector.z = wp.getWaypointLocation().z - location.z;

returnvector = getNormalisedVector(returnvector);

return returnvector;

}

private Vector3F getNormalisedVector(Vector3F vector){

float total = Math.abs(vector.x) + Math.abs(vector.y) + Math.abs(vector.z);

if(total==0){
return new Vector3F();
}

vector.x /= totalmovement;
vector.y /= totalmovement;
vector.z /= totalmovement;

return vector;

}

private Vector3F crossProduct(Vector3F v1, Vector3F v2){
Vector3F retVec = new Vector3F();

v1 = Normalise(v1);
v2 = Normalise(v2);

retVec.x = v1.y*v2.z - v1.z*v2.y;
retVec.y = v1.z*v2.z - v1.x*v2.z;
retVec.z = v1.x*v2.y - v1.y*v2.x;

return retVec;

}

private void turn(){


targetVector = getWaypointVector(currentWaypoint);

directionVector = getNormalisedVector(directionVector);
targetVector = getNormalisedVector(targetVector);

rotationAxis = crossProduct(directionVector, targetVector);
rotationAxis = getNormalisedVector(rotationAxis);


Quaternion quat = new Quaternion(rotationAxis,(float) turnAngle);

directionVector = quat.RotateVector(directionVector);

directionVector = getNormalisedVector(directionVector);

}

public void move() {

turn();

Vector3F predicted = getPredictedLocation();

Vector3F newloc = new Vector3F(predicted);

location.x = newloc.x;
location.y = newloc.y;
location.z = newloc.z;

}

}



Quaternion object taken from http://content.gpwik...resent_rotation :


public class Quaternion {

private static final float TOLERANCE = 0.00001f;

float w;
float x;
float y;
float z;

public Quaternion(float w, float x, float y, float z){

this.w = w;
this.x = x;
this.y = y;
this.z = z;

Normalise();

}

public Quaternion(Vector3F axis, float angleInRadians){

w = (float) Math.cos( angleInRadians/2);
x = (float) (axis.x * Math.sin( angleInRadians/2 ));
y = (float) (axis.y * Math.sin( angleInRadians/2 ));
z = (float) (axis.z * Math.sin( angleInRadians/2 ));

Normalise();

}

public void Normalise(){

// Don't normalize if we don't have to
float mag2 = w * w + x * x + y * y + z * z;
if (Math.abs(mag2) > TOLERANCE && Math.abs(mag2 - 1.0f) > TOLERANCE) {
float mag = (float) Math.sqrt(mag2);
w /= mag;
x /= mag;
y /= mag;
z /= mag;
}

}

public Quaternion getConjugate(){

return new Quaternion(w, -x, -y, -z);

}

public Quaternion Multiply(Quaternion rq){

return new Quaternion( w * rq.w - x * rq.x - y * rq.y - z * rq.z,
w * rq.x + x * rq.w + y * rq.z - z * rq.y,
w * rq.y + y * rq.w + z * rq.x - x * rq.z,
w * rq.z + z * rq.w + x * rq.y - y * rq.x);
}

public Vector3F RotateVector(Vector3F vec){

Vector3F vn = new Vector3F();
vn.x = vec.x;
vn.y = vec.y;
vn.z = vec.z;
vn = GraphicsUtil.Normalise(vn);

Quaternion vecQuat = new Quaternion(0.0f, vn.x, vn.y, vn.z);
Quaternion resQuat;

resQuat = vecQuat.Multiply(getConjugate());
resQuat = this.Multiply(resQuat);

Vector3F returnvec = new Vector3F();

returnvec.x = resQuat.x;
returnvec.y = resQuat.y;
returnvec.z = resQuat.z;

return returnvec;

}

}


gimballock.png
Android Developer for Crystalline Green
Advertisement

Each tick, I take the cross product of the direction and target vectors to get an axis of rotation.

[...]

The problem is that I often (but not always) end up with the direction vector coming to lie along the rotation axis


That can't possibly happen. If the axis of rotation is the cross product of the direction vector and something else, it should be perpendicular to the direction vector, so they can't possibly line up.

Perhaps you can post an example with actual numbers?
In the game, when the player buys a ship, the shipyard they buy it from spawns the ship offset relative to the shipyard (specifically at the top left front of its bounding box). The target for the data below is for the ship travelling from its spawn point to another spacestation which I spawned -5000,5000,5000 from the shipyard that spawns the ship.

dv = directionVector
tv = targetVector
ra = rotationAxis
quat = quat


public void turn(){

000: targetVector = getWaypointVector(currentWaypoint);
001: directionVector = getNormalisedVector(directionVector);
002: targetVector = getNormalisedVector(targetVector);
003: rotationAxis = GraphicsUtil.crossProduct(directionVector, targetVector);
004: rotationAxis = getNormalisedVector(rotationAxis);
005: Quaternion quat = new Quaternion(rotationAxis,(float) turningCircle);
006: directionVector = quat.RotateVector(directionVector);
007: directionVector = getNormalisedVector(directionVector);

}


turnAngle = 0.05f;
velocity = 20;
initial ship location = 500,500,500
waypoint location = -5000,5000,5000


001: dv: 1.0,0.0,0.0 001: tv: x=-0.42857143,y=0.2857143,z=0.2857143 002: dv norm: dv: x=1.0,y=0.0,z=0.0 003: tv norm: tv: x=-0.42857143,y=0.2857143,z=0.2857143 004: dv X tv: ra: x=0.0,y=-0.2857143,z=0.2857143 005: ra norm: ra: x=0.0,y=-0.5,z=0.5 006: new quat: q: w=0.9998437,x=0.0,y=-0.012500651,z=0.012500651 007: quat rotate dv: dv: x=0.99937487,y=0.024997395,z=0.024997395 008: dv norm: dv: x=0.9523574,y=0.023821345,z=0.023821345 TICK no: 1
001: dv: 0.9523574,0.023821345,0.023821345 001: tv: x=-0.42940715,y=0.28529644,z=0.28529644 002: dv norm: dv: x=0.9523573,y=0.02382134,z=0.02382134 003: tv norm: tv: x=-0.42940715,y=0.28529644,z=0.28529644 004: dv X tv: ra: x=0.0,y=-0.264908,z=0.2819332 005: ra norm: ra: x=0.0,y=-0.48443317,z=0.5155669 006: new quat: q: w=0.9998436,x=0.0,y=-0.012111459,z=0.0128898425 007: quat rotate dv: dv: x=0.99750006,y=0.05074083,z=0.04918625 008: dv norm: dv: x=0.90894425,y=0.046236172,z=0.044819605 TICK no: 2
001: dv: 0.90894425,0.046236172,0.044819605 001: tv: x=-0.43020025,y=0.2848999,z=0.2848999 002: dv norm: dv: x=0.90894425,y=0.046236172,z=0.044819605 003: tv norm: tv: x=-0.43020025,y=0.2848999,z=0.2848999 004: dv X tv: ra: x=4.0358026E-4,y=-0.24618903,z=0.27884895 005: ra norm: ra: x=7.680783E-4,y=-0.46853745,z=0.53069454 006: new quat: q: w=0.99984336,x=1.9202951E-5,y=-0.011714042,z=0.013268051 007: quat rotate dv: dv: x=0.99437654,y=0.07717094,z=0.072525285 008: dv norm: dv: x=0.869155,y=0.067452826,z=0.0633922 TICK no: 3
001: dv: 0.869155,0.067452826,0.0633922 001: tv: x=-0.4310124,y=0.2844938,z=0.2844938 002: dv norm: dv: x=0.869155,y=0.067452826,z=0.0633922 003: tv norm: tv: x=-0.4310124,y=0.2844938,z=0.2844938 004: dv X tv: ra: x=0.0011552237,y=-0.22923453,z=0.2763422 005: ra norm: ra: x=0.0022797529,y=-0.45237824,z=0.54534197 006: new quat: q: w=0.9998431,x=5.6996756E-5,y=-0.011310038,z=0.0136342505 007: quat rotate dv: dv: x=0.99000835,y=0.10422125,z=0.094982624 008: dv norm: dv: x=0.8324909,y=0.0876389,z=0.07987021 TICK no: 4
001: dv: 0.8324909,0.0876389,0.07987021 001: tv: x=-0.4317826,y=0.2841087,z=0.2841087 002: dv norm: dv: x=0.8324909,y=0.0876389,z=0.07987021 003: tv norm: tv: x=-0.4317826,y=0.2841087,z=0.2841087 004: dv X tv: ra: x=0.0022071525,y=-0.21382609,z=0.27435887 005: ra norm: ra: x=0.0045007914,y=-0.43603083,z=0.5594683 006: new quat: q: w=0.99984276,x=1.1252554E-4,y=-0.010901328,z=0.013987423 007: quat rotate dv: dv: x=0.98439986,y=0.13181865,z=0.11653623 008: dv norm: dv: x=0.7985366,y=0.106930144,z=0.094533175 TICK no: 5
001: dv: 0.7985366,0.106930144,0.094533175 001: tv: x=-0.43254194,y=0.2836935,z=0.28376457 002: dv norm: dv: x=0.7985367,y=0.10693016,z=0.09453319 003: tv norm: tv: x=-0.43254194,y=0.2836935,z=0.28376457 004: dv X tv: ra: x=0.00352454,y=-0.19977126,z=0.27279145 005: ra norm: ra: x=0.007403139,y=-0.4196106,z=0.57298625 006: new quat: q: w=0.99984235,x=1.8508786E-4,y=-0.0104907965,z=0.014325382 007: quat rotate dv: dv: x=0.9775585,y=0.15988192,z=0.13717599 008: dv norm: dv: x=0.7669432,y=0.12543531,z=0.10762139 TICK no: 6
001: dv: 0.7669432,0.12543531,0.10762139 001: tv: x=-0.43333095,y=0.283299,z=0.28337005 002: dv norm: dv: x=0.76694334,y=0.12543532,z=0.1076214 003: tv norm: tv: x=-0.43333095,y=0.283299,z=0.28337005 004: dv X tv: ra: x=0.0050555766,y=-0.18683207,z=0.27162924 005: ra norm: ra: x=0.010906995,y=-0.403075,z=0.586018 006: new quat: q: w=0.99984187,x=2.7268857E-4,y=-0.0100773815,z=0.014651187 007: quat rotate dv: dv: x=0.9694921,y=0.18833281,z=0.15689525 008: dv norm: dv: x=0.7374133,y=0.14324935,z=0.11933737 TICK no: 7
001: dv: 0.7374133,0.14324935,0.11933737 001: tv: x=-0.4340788,y=0.2829251,z=0.2829961 002: dv norm: dv: x=0.7374133,y=0.14324935,z=0.11933737 003: tv norm: tv: x=-0.4340788,y=0.2829251,z=0.2829961 004: dv X tv: ra: x=0.006775465,y=-0.17491306,z=0.27081424 005: ra norm: ra: x=0.014973311,y=-0.38654584,z=0.5984808 006: new quat: q: w=0.99984133,x=3.7435137E-4,y=-0.009664126,z=0.014962764 007: quat rotate dv: dv: x=0.96021014,y=0.21708652,z=0.17569888 008: dv norm: dv: x=0.70969206,y=0.16044882,z=0.12985916 TICK no: 8
001: dv: 0.70969206,0.16044882,0.12985916 001: tv: x=-0.43485665,y=0.2825007,z=0.28264263 002: dv norm: dv: x=0.709692,y=0.1604488,z=0.12985915 003: tv norm: tv: x=-0.43485665,y=0.2825007,z=0.28264263 004: dv X tv: ra: x=0.00866437,y=-0.1638855,z=0.27026075 005: ra norm: ra: x=0.019566761,y=-0.3701029,z=0.61033034 006: new quat: q: w=0.9998407,x=4.89193E-4,y=-0.009253027,z=0.015259007 007: quat rotate dv: dv: x=0.9497242,y=0.24605419,z=0.19360094 008: dv norm: dv: x=0.6835601,y=0.17709649,z=0.13934347 TICK no: 9
001: dv: 0.6835601,0.17709649,0.13934347 001: tv: x=-0.4355937,y=0.28209674,z=0.28230956 002: dv norm: dv: x=0.6835601,y=0.17709649,z=0.13934347 003: tv norm: tv: x=-0.4355937,y=0.28209674,z=0.28230956 004: dv X tv: ra: x=0.01068769,y=-0.15363756,z=0.26997218 005: ra norm: ra: x=0.024609149,y=-0.35376114,z=0.62162966 006: new quat: q: w=0.99983996,x=6.1525847E-4,y=-0.008844456,z=0.015541492 007: quat rotate dv: dv: x=0.938047,y=0.2751489,z=0.21062064 008: dv norm: dv: x=0.65882576,y=0.19324744,z=0.1479268 TICK no: 10
001: dv: 0.65882576,0.19324744,0.1479268 001: tv: x=-0.4363301,y=0.28169313,z=0.28197673 002: dv norm: dv: x=0.65882576,y=0.19324744,z=0.1479268 003: tv norm: tv: x=-0.4363301,y=0.28169313,z=0.28197673 004: dv X tv: ra: x=0.012821317,y=-0.14406163,z=0.26990637 005: ra norm: ra: x=0.030041326,y=-0.3375474,z=0.63241124 006: new quat: q: w=0.9998391,x=7.510688E-4,y=-0.008439085,z=0.015811032 007: quat rotate dv: dv: x=0.9251922,y=0.30428478,z=0.22678244 008: dv norm: dv: x=0.635321,y=0.20894958,z=0.15572943 TICK no: 11
001: dv: 0.635321,0.20894958,0.15572943 001: tv: x=-0.43708798,y=0.2812788,z=0.28163323 002: dv norm: dv: x=0.635321,y=0.20894958,z=0.15572943 003: tv norm: tv: x=-0.43708798,y=0.2812788,z=0.28163323 004: dv X tv: ra: x=0.015043758,y=-0.13506892,z=0.2700317 005: ra norm: ra: x=0.035806164,y=-0.32148215,z=0.64271164 006: new quat: q: w=0.99983823,x=8.951958E-4,y=-0.008037428,z=0.016068539 007: quat rotate dv: dv: x=0.9111749,y=0.3333775,z=0.24211544 008: dv norm: dv: x=0.6128974,y=0.22424477,z=0.16285779 TICK no: 12
001: dv: 0.6128974,0.22424477,0.16285779 001: tv: x=-0.4378455,y=0.28086463,z=0.28128988 002: dv norm: dv: x=0.61289746,y=0.22424479,z=0.1628578 003: tv norm: tv: x=-0.4378455,y=0.28086463,z=0.28128988 004: dv X tv: ra: x=0.01733679,y=-0.1265916,z=0.27032578 005: ra norm: ra: x=0.04185061,y=-0.3055892,z=0.65256023 006: new quat: q: w=0.9998372,x=0.001046313,y=-0.0076400787,z=0.016314749 007: quat rotate dv: dv: x=0.8960113,y=0.36234415,z=0.25665283 008: dv norm: dv: x=0.5914234,y=0.23916976,z=0.16940689 TICK no: 13
001: dv: 0.5914234,0.23916976,0.16940689 001: tv: x=-0.43856293,y=0.28047052,z=0.28096655 002: dv norm: dv: x=0.5914234,y=0.23916976,z=0.16940689 003: tv norm: tv: x=-0.43856293,y=0.28047052,z=0.28096655 004: dv X tv: ra: x=0.019685064,y=-0.118572526,z=0.2707678 005: ra norm: ra: x=0.04812675,y=-0.28989038,z=0.6619829 006: new quat: q: w=0.9998361,x=0.0012032222,y=-0.0072475816,z=0.016550308 007: quat rotate dv: dv: x=0.8797187,y=0.39110354,z=0.2704314 008: dv norm: dv: x=0.57078123,y=0.25375676,z=0.17546196 TICK no: 14
001: dv: 0.57078123,0.25375676,0.17546196 001: tv: x=-0.43931127,y=0.2800255,z=0.28066322 002: dv norm: dv: x=0.5707813,y=0.2537568,z=0.17546198 003: tv norm: tv: x=-0.43931127,y=0.2800255,z=0.28066322 004: dv X tv: ra: x=0.022086363,y=-0.11095159,z=0.27131152 005: ra norm: ra: x=0.054621965,y=-0.2743953,z=0.6709827 006: new quat: q: w=0.99983484,x=0.0013656081,y=-0.006860179,z=0.016775293 007: quat rotate dv: dv: x=0.8623164,y=0.41957498,z=0.28349128 008: dv norm: dv: x=0.55086625,y=0.2680335,z=0.18110031 TICK no: 15
001: dv: 0.55086625,0.2680335,0.18110031 001: tv: x=-0.4400595,y=0.27958056,z=0.28035992 002: dv norm: dv: x=0.55086625,y=0.2680335,z=0.18110031 003: tv norm: tv: x=-0.4400595,y=0.27958056,z=0.28035992 004: dv X tv: ra: x=0.024513729,y=-0.10366755,z=0.2719622 005: ra norm: ra: x=0.061262347,y=-0.25907594,z=0.6796617 006: new quat: q: w=0.99983346,x=0.0015316227,y=-0.006477169,z=0.016992254 007: quat rotate dv: dv: x=0.843824,y=0.44768345,z=0.29587257 008: dv norm: dv: x=0.53158283,y=0.28202665,z=0.1863905 TICK no: 16
001: dv: 0.53158283,0.28202665,0.1863905 001: tv: x=-0.44076803,y=0.27915546,z=0.28007653 002: dv norm: dv: x=0.53158283,y=0.28202665,z=0.1863905 003: tv norm: tv: x=-0.44076803,y=0.27915546,z=0.28007653 004: dv X tv: ra: x=0.026957117,y=-0.09668027,z=0.27270257 005: ra norm: ra: x=0.068015136,y=-0.24393268,z=0.6880522 006: new quat: q: w=0.99983203,x=0.001700447,y=-0.0060985633,z=0.017202 007: quat rotate dv: dv: x=0.8242622,y=0.47535637,z=0.30761707 008: dv norm: dv: x=0.5128446,y=0.2957602,z=0.19139512 TICK no: 17
001: dv: 0.5128446,0.2957602,0.19139512 001: tv: x=-0.44147655,y=0.27873033,z=0.2797931 002: dv norm: dv: x=0.5128447,y=0.29576024,z=0.19139513 003: tv norm: tv: x=-0.44147655,y=0.27873033,z=0.2797931 004: dv X tv: ra: x=0.029404048,y=-0.089939356,z=0.27351654 005: ra norm: ra: x=0.07484613,y=-0.22893491,z=0.69621897 006: new quat: q: w=0.99983037,x=0.0018712258,y=-0.0057235947,z=0.017406149 007: quat rotate dv: dv: x=0.8036523,y=0.50252455,z=0.31876627 008: dv norm: dv: x=0.49457255,y=0.3092567,z=0.19617072 TICK no: 18
001: dv: 0.49457255,0.3092567,0.19617072 001: tv: x=-0.44217688,y=0.27827382,z=0.27954933 002: dv norm: dv: x=0.49457255,y=0.3092567,z=0.19617072 003: tv norm: tv: x=-0.44217688,y=0.27827382,z=0.27954933 004: dv X tv: ra: x=0.03186333,y=-0.08341804,z=0.27437276 005: ra norm: ra: x=0.08177337,y=-0.21408227,z=0.70414436 006: new quat: q: w=0.99982864,x=0.0020444097,y=-0.0053522545,z=0.01760426 007: quat rotate dv: dv: x=0.78201836,y=0.5291187,z=0.32936418 008: dv norm: dv: x=0.47669476,y=0.32253477,z=0.20077045 TICK no: 19
001: dv: 0.47669476,0.32253477,0.20077045 001: tv: x=-0.4429088,y=0.27783683,z=0.27925438 002: dv norm: dv: x=0.4766948,y=0.3225348,z=0.20077047 003: tv norm: tv: x=-0.4429088,y=0.27783683,z=0.27925438 004: dv X tv: ra: x=0.03428783,y=-0.07705307,z=0.27529684 005: ra norm: ra: x=0.088682055,y=-0.19929008,z=0.71202785 006: new quat: q: w=0.9998267,x=0.002217129,y=-0.0049824268,z=0.017801322 007: quat rotate dv: dv: x=0.759382,y=0.5550794,z=0.33944967 008: dv norm: dv: x=0.4591432,y=0.33561623,z=0.20524058 TICK no: 20
001: dv: 0.4591432,0.33561623,0.20524058 001: tv: x=-0.443641,y=0.2773997,z=0.2789593 002: dv norm: dv: x=0.4591432,y=0.33561623,z=0.20524058 003: tv norm: tv: x=-0.443641,y=0.2773997,z=0.2789593 004: dv X tv: ra: x=0.0366896,y=-0.0708285,z=0.2762593 005: ra norm: ra: x=0.09560125,y=-0.18455619,z=0.71984255 006: new quat: q: w=0.9998246,x=0.00239011,y=-0.0046140566,z=0.017996658 007: quat rotate dv: dv: x=0.73576725,y=0.58034587,z=0.34906384 008: dv norm: dv: x=0.44185528,y=0.34851903,z=0.20962568 TICK no: 21
001: dv: 0.44185528,0.34851903,0.20962568 001: tv: x=-0.44433415,y=0.27698198,z=0.27868387 002: dv norm: dv: x=0.4418553,y=0.34851906,z=0.20962569 003: tv norm: tv: x=-0.44433415,y=0.27698198,z=0.27868387 004: dv X tv: ra: x=0.039064102,y=-0.064718634,z=0.27724484 005: ra norm: ra: x=0.10252303,y=-0.16985288,z=0.72762406 006: new quat: q: w=0.99982226,x=0.0025631543,y=-0.004246452,z=0.018191159 007: quat rotate dv: dv: x=0.7111989,y=0.60485923,z=0.35824776 008: dv norm: dv: x=0.42477238,y=0.3612597,z=0.21396792 TICK no: 22
001: dv: 0.42477238,0.3612597,0.21396792 001: tv: x=-0.44505924,y=0.27651274,z=0.27842805 002: dv norm: dv: x=0.42477238,y=0.3612597,z=0.21396792 003: tv norm: tv: x=-0.44505924,y=0.27651274,z=0.27842805 004: dv X tv: ra: x=0.04141998,y=-0.05869387,z=0.27823693 005: ra norm: ra: x=0.10947507,y=-0.15513082,z=0.73539406 006: new quat: q: w=0.9998197,x=0.0027369536,y=-0.0038783792,z=0.018385367 007: quat rotate dv: dv: x=0.6857044,y=0.62856096,z=0.3670428 008: dv norm: dv: x=0.4078398,y=0.3738523,z=0.21830788 TICK no: 23
001: dv: 0.4078398,0.3738523,0.21830788 001: tv: x=-0.44578484,y=0.27604315,z=0.27817202 002: dv norm: dv: x=0.4078398,y=0.3738523,z=0.21830788 003: tv norm: tv: x=-0.44578484,y=0.27604315,z=0.27817202 004: dv X tv: ra: x=0.043732855,y=-0.052722473,z=0.27923906 005: ra norm: ra: x=0.1164054,y=-0.1403334,z=0.74326116 006: new quat: q: w=0.99981695,x=0.0029102087,y=-0.003508424,z=0.018582 007: quat rotate dv: dv: x=0.6593103,y=0.65139735,z=0.37548825 008: dv norm: dv: x=0.39100456,y=0.3863118,z=0.22268365 TICK no: 24
001: dv: 0.39100456,0.3863118,0.22268365 001: tv: x=-0.44647166,y=0.27559277,z=0.27793553 002: dv norm: dv: x=0.39100456,y=0.3863118,z=0.22268365 003: tv norm: tv: x=-0.44647166,y=0.27559277,z=0.27793553 004: dv X tv: ra: x=0.04599977,y=-0.046782363,z=0.2802353 005: ra norm: ra: x=0.12331802,y=-0.12541603,z=0.75126594 006: new quat: q: w=0.999814,x=0.0030830193,y=-0.0031354707,z=0.018782068 007: quat rotate dv: dv: x=0.63204426,y=0.6733154,z=0.38362283 008: dv norm: dv: x=0.374216,y=0.3986515,z=0.2271325 TICK no: 25
001: dv: 0.374216,0.3986515,0.2271325 001: tv: x=-0.44715908,y=0.27514204,z=0.27769887 002: dv norm: dv: x=0.374216,y=0.3986515,z=0.2271325 003: tv norm: tv: x=-0.44715908,y=0.27514204,z=0.27769887 004: dv X tv: ra: x=0.048211377,y=-0.040844917,z=0.28122318 005: ra norm: ra: x=0.13020267,y=-0.11030834,z=0.75948894 006: new quat: q: w=0.99981064,x=0.0032551286,y=-0.002757761,z=0.018987583 007: quat rotate dv: dv: x=0.60393435,y=0.69426465,z=0.3914845 008: dv norm: dv: x=0.35742456,y=0.41088444,z=0.23169103 TICK no: 26
001: dv: 0.35742456,0.41088444,0.23169103 001: tv: x=-0.44787893,y=0.27463937,z=0.2774817 002: dv norm: dv: x=0.35742456,y=0.41088444,z=0.23169103 003: tv norm: tv: x=-0.44787893,y=0.27463937,z=0.2774817 004: dv X tv: ra: x=0.05038143,y=-0.03488875,z=0.28218934 005: ra norm: ra: x=0.13710742,y=-0.09494583,z=0.7679467 006: new quat: q: w=0.999807,x=0.003427738,y=-0.002373682,z=0.019198963 007: quat rotate dv: dv: x=0.5750112,y=0.714193,z=0.3991122 008: dv norm: dv: x=0.3405826,y=0.42302084,z=0.23639657 TICK no: 27
001: dv: 0.3405826,0.42302084,0.23639657 001: tv: x=-0.44856027,y=0.2741557,z=0.27728403 002: dv norm: dv: x=0.3405826,y=0.42302084,z=0.23639657 003: tv norm: tv: x=-0.44856027,y=0.2741557,z=0.27728403 004: dv X tv: ra: x=0.052487455,y=-0.028889127,z=0.28312302 005: ra norm: ra: x=0.14399867,y=-0.07925695,z=0.77674437 006: new quat: q: w=0.999803,x=0.0036000076,y=-0.0019814463,z=0.01941883 007: quat rotate dv: dv: x=0.5453052,y=0.7330516,z=0.40654358 008: dv norm: dv: x=0.3236424,y=0.43507117,z=0.24128641 TICK no: 28
001: dv: 0.3236424,0.43507117,0.24128641 001: tv: x=-0.44924238,y=0.27367148,z=0.27708614 002: dv norm: dv: x=0.3236424,y=0.43507117,z=0.24128641 003: tv norm: tv: x=-0.44924238,y=0.27367148,z=0.27708614 004: dv X tv: ra: x=0.054518983,y=-0.022819705,z=0.28402412 005: ra norm: ra: x=0.15087049,y=-0.06314901,z=0.78598046 006: new quat: q: w=0.9997986,x=0.0037717884,y=-0.0015787364,z=0.019649649 007: quat rotate dv: dv: x=0.5148469,y=0.75079256,z=0.41381553 008: dv norm: dv: x=0.30655593,y=0.44704536,z=0.24639869 TICK no: 29
001: dv: 0.30655593,0.44704536,0.24639869 001: tv: x=-0.44992527,y=0.2731867,z=0.27688804 002: dv norm: dv: x=0.30655593,y=0.44704536,z=0.24639869 003: tv norm: tv: x=-0.44992527,y=0.2731867,z=0.27688804 004: dv X tv: ra: x=0.056468673,y=-0.016656823,z=0.284884 005: ra norm: ra: x=0.15772954,y=-0.046526205,z=0.79574424 006: new quat: q: w=0.99979365,x=0.0039432463,y=-0.0011631575,z=0.019893646 007: quat rotate dv: dv: x=0.48366773,y=0.7673683,z=0.4209649 008: dv norm: dv: x=0.2892748,y=0.4589521,z=0.25177312 TICK no: 30
001: dv: 0.2892748,0.4589521,0.25177312 001: tv: x=-0.450634,y=0.27268842,z=0.27667758 002: dv norm: dv: x=0.2892748,y=0.4589521,z=0.25177312 003: tv norm: tv: x=-0.450634,y=0.27268842,z=0.27667758 004: dv X tv: ra: x=0.05832614,y=-0.01037588,z=0.2857013 005: ra norm: ra: x=0.1645756,y=-0.02927704,z=0.8061474 006: new quat: q: w=0.99978817,x=0.0041143754,y=-7.3192344E-4,z=0.020153614 007: quat rotate dv: dv: x=0.45179942,y=0.7827316,z=0.42802876 008: dv norm: dv: x=0.2717493,y=0.4707991,z=0.25745165 TICK no: 31
001: dv: 0.2717493,0.4707991,0.25745165 001: tv: x=-0.45134383,y=0.27218935,z=0.27646682 002: dv norm: dv: x=0.2717493,y=0.4707991,z=0.25745165 003: tv norm: tv: x=-0.45134383,y=0.27218935,z=0.27646682 004: dv X tv: ra: x=0.06008473,y=-0.003952816,z=0.28645954 005: ra norm: ra: x=0.1714272,y=-0.011277744,z=0.8172951 006: new quat: q: w=0.999782,x=0.0042856387,y=-2.8194088E-4,z=0.02043218 007: quat rotate dv: dv: x=0.41927508,y=0.7968339,z=0.43504536 008: dv norm: dv: x=0.25392845,y=0.48259202,z=0.26347953 TICK no: 32
001: dv: 0.25392845,0.48259202,0.26347953 001: tv: x=-0.4520548,y=0.2716895,z=0.2762557 002: dv norm: dv: x=0.25392845,y=0.48259202,z=0.26347953 003: tv norm: tv: x=-0.4520548,y=0.2716895,z=0.2762557 004: dv X tv: ra: x=0.061734177,y=0.0026385412,z=0.28714773 005: ra norm: ra: x=0.17562044,y=0.0075060814,z=0.8168735 006: new quat: q: w=0.9997818,x=0.0043904674,y=1.8765019E-4,z=0.020421637 007: quat rotate dv: dv: x=0.38662955,y=0.809444,z=0.4419479 008: dv norm: dv: x=0.23603448,y=0.49415958,z=0.26980594 TICK no: 33
001: dv: 0.23603448,0.49415958,0.26980594 001: tv: x=-0.4527278,y=0.27120823,z=0.27606398 002: dv norm: dv: x=0.23603448,y=0.49415958,z=0.26980594 003: tv norm: tv: x=-0.4527278,y=0.27120823,z=0.27606398 004: dv X tv: ra: x=0.063246064,y=0.009323083,z=0.28773427 005: ra norm: ra: x=0.17553557,y=0.025875645,z=0.7985888 006: new quat: q: w=0.99979085,x=0.004388386,y=6.468906E-4,z=0.019964704 007: quat rotate dv: dv: x=0.3546609,y=0.8203378,z=0.4486219 008: dv norm: dv: x=0.2184383,y=0.5052522,z=0.27630958 TICK no: 34
001: dv: 0.2184383,0.5052522,0.27630958 001: tv: x=-0.45343435,y=0.270674,z=0.27589163 002: dv norm: dv: x=0.21843827,y=0.5052521,z=0.27630955 003: tv norm: tv: x=-0.45343435,y=0.270674,z=0.27589163 004: dv X tv: ra: x=0.064605035,y=0.015966207,z=0.28822425 005: ra norm: ra: x=0.17517848,y=0.043292847,z=0.7815287 006: new quat: q: w=0.99979895,x=0.004379494,y=0.0010823291,z=0.01953836 007: quat rotate dv: dv: x=0.3233951,y=0.82962984,z=0.4551154 008: dv norm: dv: x=0.2010988,y=0.51589394,z=0.28300726 TICK no: 35
001: dv: 0.2010988,0.51589394,0.28300726 001: tv: x=-0.4541422,y=0.2701388,z=0.275719 002: dv norm: dv: x=0.2010988,y=0.51589394,z=0.28300726 003: tv norm: tv: x=-0.4541422,y=0.2701388,z=0.275719 004: dv X tv: ra: x=0.065790504,y=0.022583716,z=0.2886138 005: ra norm: ra: x=0.17451617,y=0.05990566,z=0.76557815 006: new quat: q: w=0.99980617,x=0.004362968,y=0.0014976633,z=0.019139731 007: quat rotate dv: dv: x=0.29285488,y=0.8374272,z=0.46146694 008: dv norm: dv: x=0.18398309,y=0.52610505,z=0.2899119 TICK no: 36
001: dv: 0.18398309,0.52610505,0.2899119 001: tv: x=-0.45481238,y=0.26962188,z=0.27556574 002: dv norm: dv: x=0.18398309,y=0.52610505,z=0.2899119 003: tv norm: tv: x=-0.45481238,y=0.26962188,z=0.27556574 004: dv X tv: ra: x=0.06680994,y=0.029190354,z=0.28888497 005: ra norm: ra: x=0.17358404,y=0.0758417,z=0.7505743 006: new quat: q: w=0.9998127,x=0.0043396926,y=0.0018960825,z=0.018764753 007: quat rotate dv: dv: x=0.26306278,y=0.8438278,z=0.4677102 008: dv norm: dv: x=0.16706634,y=0.5358995,z=0.29703417 TICK no: 37
001: dv: 0.16706634,0.5358995,0.29703417 001: tv: x=-0.45548388,y=0.26910394,z=0.27541217 002: dv norm: dv: x=0.16706634,y=0.5358995,z=0.29703417 003: tv norm: tv: x=-0.45548388,y=0.26910394,z=0.27541217 004: dv X tv: ra: x=0.067660175,y=0.03579472,z=0.2890518 005: ra norm: ra: x=0.17237967,y=0.09119519,z=0.73642516 006: new quat: q: w=0.9998186,x=0.004309608,y=0.0022799412,z=0.018411126 007: quat rotate dv: dv: x=0.2340388,y=0.84892297,z=0.47387308 008: dv norm: dv: x=0.15032987,y=0.5452877,z=0.30438235 TICK no: 38
001: dv: 0.15032987,0.5452877,0.30438235 001: tv: x=-0.45618945,y=0.26860425,z=0.27520633 002: dv norm: dv: x=0.15032987,y=0.5452877,z=0.30438235 003: tv norm: tv: x=-0.45618945,y=0.26860425,z=0.27520633 004: dv X tv: ra: x=0.068308234,y=0.042396218,z=0.28913376 005: ra norm: ra: x=0.17083968,y=0.10603343,z=0.7231269 006: new quat: q: w=0.9998239,x=0.0042711296,y=0.0026509212,z=0.018078756 007: quat rotate dv: dv: x=0.20579736,y=0.8528013,z=0.47997648 008: dv norm: dv: x=0.13375841,y=0.5542799,z=0.31196168 TICK no: 39
001: dv: 0.13375841,0.5542799,0.31196168 001: tv: x=-0.45689034,y=0.26807013,z=0.27503952 002: dv norm: dv: x=0.13375841,y=0.5542799,z=0.31196168 003: tv norm: tv: x=-0.45689034,y=0.26807013,z=0.27503952 004: dv X tv: ra: x=0.06882128,y=0.049012944,z=0.28910178 005: ra norm: ra: x=0.16912065,y=0.120443866,z=0.7104355 006: new quat: q: w=0.9998288,x=0.0042281733,y=0.0030112087,z=0.017761549 007: quat rotate dv: dv: x=0.17835876,y=0.8555405,z=0.48604387 008: dv norm: dv: x=0.117345676,y=0.56287664,z=0.31977764 TICK no: 40
001: dv: 0.117345676,0.56287664,0.31977764 001: tv: x=-0.45759296,y=0.2675347,z=0.2748723 002: dv norm: dv: x=0.117345676,y=0.56287664,z=0.31977764 003: tv norm: tv: x=-0.45759296,y=0.2675347,z=0.2748723 004: dv X tv: ra: x=0.06916759,y=0.05564294,z=0.28896242 005: ra norm: ra: x=0.16716316,y=0.13447699,z=0.6983599 006: new quat: q: w=0.99983317,x=0.0041792523,y=0.0033620645,z=0.017459722 007: quat rotate dv: dv: x=0.15173858,y=0.85721624,z=0.49209306 008: dv norm: dv: x=0.10108844,y=0.57107854,z=0.32783303 TICK no: 41
001: dv: 0.10108844,0.57107854,0.32783303 001: tv: x=-0.4582973,y=0.266998,z=0.2747047 002: dv norm: dv: x=0.10108844,y=0.57107854,z=0.32783303 003: tv norm: tv: x=-0.4582973,y=0.266998,z=0.2747047 004: dv X tv: ra: x=0.06934719,y=0.0622878,z=0.28871417 005: ra norm: ra: x=0.16497521,y=0.1481811,z=0.6868437 006: new quat: q: w=0.9998372,x=0.0041245683,y=0.0037046962,z=0.017171875 007: quat rotate dv: dv: x=0.12595116,y=0.85790074,z=0.49813947 008: dv norm: dv: x=0.084987774,y=0.57888377,z=0.33612844 TICK no: 42
001: dv: 0.084987774,0.57888377,0.33612844 001: tv: x=-0.45896438,y=0.26647916,z=0.27455646 002: dv norm: dv: x=0.084987774,y=0.57888377,z=0.33612844 003: tv norm: tv: x=-0.45896438,y=0.26647916,z=0.27455646 004: dv X tv: ra: x=0.06936505,y=0.06895229,z=0.2883345 005: ra norm: ra: x=0.16257998,y=0.16161256,z=0.6758075 006: new quat: q: w=0.99984086,x=0.0040646996,y=0.0040405127,z=0.016896019 007: quat rotate dv: dv: x=0.10101095,y=0.8576611,z=0.5041966 008: dv norm: dv: x=0.06904991,y=0.58628714,z=0.3446629 TICK no: 43
001: dv: 0.06904991,0.58628714,0.3446629 001: tv: x=-0.45963317,y=0.265959,z=0.27440786 002: dv norm: dv: x=0.06904992,y=0.5862872,z=0.34466293 003: tv norm: tv: x=-0.45963317,y=0.265959,z=0.27440786 004: dv X tv: ra: x=0.06921561,y=0.07563038,z=0.2878415 005: ra norm: ra: x=0.15996675,y=0.17479216,z=0.66524106 006: new quat: q: w=0.9998442,x=0.003999379,y=0.0043700337,z=0.0166319 007: quat rotate dv: dv: x=0.07692968,y=0.85656327,z=0.5102758 008: dv norm: dv: x=0.053283937,y=0.5932829,z=0.3534332 TICK no: 44
001: dv: 0.053283937,0.5932829,0.3534332 001: tv: x=-0.46033698,y=0.26545665,z=0.27420637 002: dv norm: dv: x=0.053283937,y=0.5932829,z=0.3534332 003: tv norm: tv: x=-0.46033698,y=0.26545665,z=0.27420637 004: dv X tv: ra: x=0.06886075,y=0.08230284,z=0.28725463 005: ra norm: ra: x=0.15706635,y=0.18772678,z=0.6552069 006: new quat: q: w=0.9998471,x=0.0039268765,y=0.00469343,z=0.016381083 007: quat rotate dv: dv: x=0.0537128,y=0.8546714,z=0.51638335 008: dv norm: dv: x=0.037699345,y=0.5998673,z=0.3624334 TICK no: 45
001: dv: 0.037699345,0.5998673,0.3624334 001: tv: x=-0.4610037,y=0.26497212,z=0.2740242 002: dv norm: dv: x=0.037699345,y=0.5998673,z=0.3624334 003: tv norm: tv: x=-0.4610037,y=0.26497212,z=0.2740242 004: dv X tv: ra: x=0.0683434,y=0.08898498,z=0.2865303 005: ra norm: ra: x=0.15397559,y=0.20048043,z=0.64554393 006: new quat: q: w=0.9998498,x=0.0038496137,y=0.005012302,z=0.016139537 007: quat rotate dv: dv: x=0.031371176,y=0.8520448,z=0.52252805 008: dv norm: dv: x=0.022313247,y=0.60603034,z=0.37165636 TICK no: 46
001: dv: 0.022313247,0.60603034,0.37165636 001: tv: x=-0.46170583,y=0.26443285,z=0.27386132 002: dv norm: dv: x=0.022313248,y=0.6060304,z=0.3716564 003: tv norm: tv: x=-0.46170583,y=0.26443285,z=0.27386132 004: dv X tv: ra: x=0.06769013,y=0.09567157,z=0.28570813 005: ra norm: ra: x=0.15073408,y=0.21304387,z=0.63622206 006: new quat: q: w=0.9998522,x=0.0037685803,y=0.005326419,z=0.015906515 007: quat rotate dv: dv: x=0.0099138385,y=0.84873927,z=0.52871865 008: dv norm: dv: x=0.007145769,y=0.6117605,z=0.3810937 TICK no: 47
001: dv: 0.007145769,0.6117605,0.3810937 001: tv: x=-0.46241012,y=0.2638919,z=0.27369797 002: dv norm: dv: x=0.007145769,y=0.6117605,z=0.3810937 003: tv norm: tv: x=-0.46241012,y=0.2638919,z=0.27369797 004: dv X tv: ra: x=0.06687007,y=0.10234879,z=0.28476995 005: ra norm: ra: x=0.14729454,y=0.22544341,z=0.62726206 006: new quat: q: w=0.9998544,x=0.0036825945,y=0.0056364387,z=0.015682535 007: quat rotate dv: dv: x=-0.010652943,y=0.8448101,z=0.5349605 008: dv norm: dv: x=-0.0076616528,y=0.6075919,z=0.38474643 TICK no: 48
001: dv: -0.0076616528,0.6075919,0.38474643 001: tv: x=-0.4630775,y=0.2633685,z=0.27355403 002: dv norm: dv: x=-0.0076616528,y=0.6075919,z=0.38474643 003: tv norm: tv: x=-0.4630775,y=0.2633685,z=0.27355403 004: dv X tv: ra: x=0.064879134,y=0.10734481,z=0.27934432 005: ra norm: ra: x=0.14367513,y=0.23771557,z=0.61860925 006: new quat: q: w=0.9998563,x=0.0035921105,y=0.005943273,z=0.015466231 007: quat rotate dv: dv: x=-0.030321958,y=0.8403097,z=0.541258 008: dv norm: dv: x=-0.021476153,y=0.59516674,z=0.38335717 TICK no: 49
001: dv: -0.021476153,0.59516674,0.38335717 001: tv: x=-0.4637132,y=0.2628971,z=0.2733897 002: dv norm: dv: x=-0.021476153,y=0.59516674,z=0.38335717 003: tv norm: tv: x=-0.4637132,y=0.2628971,z=0.2733897 004: dv X tv: ra: x=0.061928965,y=0.11067726,z=0.27034065 005: ra norm: ra: x=0.13981126,y=0.24986576,z=0.61032295 006: new quat: q: w=0.99985796,x=0.0034955135,y=0.006247058,z=0.015259086 007: quat rotate dv: dv: x=-0.049090527,y=0.8352911,z=0.5476121 008: dv norm: dv: x=-0.034281246,y=0.5833064,z=0.38241234 TICK no: 50
001: dv: -0.034281246,0.5833064,0.38241234 001: tv: x=-0.46435088,y=0.2624243,z=0.27322483 002: dv norm: dv: x=-0.034281246,y=0.5833064,z=0.38241234 003: tv norm: tv: x=-0.46435088,y=0.2624243,z=0.27322483 004: dv X tv: ra: x=0.0590195,y=0.11385104,z=0.2618626 005: ra norm: ra: x=0.13576029,y=0.2618872,z=0.6023525 006: new quat: q: w=0.9998594,x=0.0033942373,y=0.0065476233,z=0.015059833 007: quat rotate dv: dv: x=-0.06695598,y=0.82980347,z=0.5540245 008: dv norm: dv: x=-0.04615159,y=0.57196903,z=0.38187942 TICK no: 51
001: dv: -0.04615159,0.57196903,0.38187942 001: tv: x=-0.4649905,y=0.26195002,z=0.2730595 002: dv norm: dv: x=-0.04615159,y=0.57196903,z=0.38187942 003: tv norm: tv: x=-0.4649905,y=0.26195002,z=0.2730595 004: dv X tv: ra: x=0.056148253,y=0.11687793,z=0.25387076 005: ra norm: ra: x=0.13152649,y=0.27378488,z=0.59468865 006: new quat: q: w=0.99986064,x=0.0032883892,y=0.0068450943,z=0.014868242 007: quat rotate dv: dv: x=-0.08391692,y=0.82389444,z=0.5604961 008: dv norm: dv: x=-0.05715214,y=0.5611185,z=0.38172936 TICK no: 52
001: dv: -0.05715214,0.5611185,0.38172936 001: tv: x=-0.46559298,y=0.2614934,z=0.2729136 002: dv norm: dv: x=-0.05715214,y=0.5611185,z=0.38172936 003: tv norm: tv: x=-0.46559298,y=0.2614934,z=0.2729136 004: dv X tv: ra: x=0.053317152,y=0.11977673,z=0.24630791 005: ra norm: ra: x=0.12712666,y=0.28558946,z=0.58728385 006: new quat: q: w=0.99986166,x=0.0031783893,y=0.0071402364,z=0.014683125 007: quat rotate dv: dv: x=-0.09997077,y=0.81760985,z=0.5670274 008: dv norm: dv: x=-0.06733816,y=0.55072445,z=0.38193747 TICK no: 53
001: dv: -0.06733816,0.55072445,0.38193747 001: tv: x=-0.4661974,y=0.26103535,z=0.27276728 002: dv norm: dv: x=-0.06733815,y=0.5507244,z=0.3819374 003: tv norm: tv: x=-0.4661974,y=0.26103535,z=0.27276728 004: dv X tv: ra: x=0.05052042,y=0.12254767,z=0.23916866 005: ra norm: ra: x=0.122551955,y=0.29727498,z=0.5801731 006: new quat: q: w=0.9998625,x=0.003064016,y=0.007432401,z=0.014505355 007: quat rotate dv: dv: x=-0.1151186,y=0.81099415,z=0.57361704 008: dv norm: dv: x=-0.076759554,y=0.54076016,z=0.38248023 TICK no: 54
001: dv: -0.076759554,0.54076016,0.38248023 001: tv: x=-0.4667695,y=0.2606301,z=0.2726004 002: dv norm: dv: x=-0.076759554,y=0.54076016,z=0.38248023 003: tv norm: tv: x=-0.4667695,y=0.2606301,z=0.2726004 004: dv X tv: ra: x=0.047725573,y=0.12518895,z=0.2324045 005: ra norm: ra: x=0.11774816,y=0.30886522,z=0.5733866 006: new quat: q: w=0.9998631,x=0.0029439144,y=0.007722182,z=0.01433569 007: quat rotate dv: dv: x=-0.12936345,y=0.80409133,z=0.58026046 008: dv norm: dv: x=-0.08546089,y=0.5312038,z=0.38333526 TICK no: 55
001: dv: -0.08546089,0.5312038,0.38333526 001: tv: x=-0.46734333,y=0.2602236,z=0.27243307 002: dv norm: dv: x=-0.08546089,y=0.5312038,z=0.38333526 003: tv norm: tv: x=-0.46734333,y=0.2602236,z=0.27243307 004: dv X tv: ra: x=0.044964604,y=0.12771557,z=0.22601561 005: ra norm: ra: x=0.11277924,y=0.3203334,z=0.56688744 006: new quat: q: w=0.9998635,x=0.0028196836,y=0.00800891,z=0.014173205 007: quat rotate dv: dv: x=-0.14270894,y=0.79694307,z=0.5869548 008: dv norm: dv: x=-0.09348114,y=0.5220356,z=0.38448328 TICK no: 56
001: dv: -0.09348114,0.5220356,0.38448328 001: tv: x=-0.46791896,y=0.25981584,z=0.2722652 002: dv norm: dv: x=-0.09348114,y=0.5220356,z=0.38448328 003: tv norm: tv: x=-0.46791896,y=0.25981584,z=0.2722652 004: dv X tv: ra: x=0.042237274,y=0.13013308,z=0.21998248 005: ra norm: ra: x=0.107651256,y=0.33167362,z=0.56067514 006: new quat: q: w=0.99986374,x=0.0026914754,y=0.008292438,z=0.014017889 007: quat rotate dv: dv: x=-0.15516001,y=0.7895889,z=0.5936959 008: dv norm: dv: x=-0.100855105,y=0.51323843,z=0.38590652 TICK no: 57
001: dv: -0.100855105,0.51323843,0.38590652 001: tv: x=-0.46845716,y=0.25942597,z=0.27211687 002: dv norm: dv: x=-0.100855105,y=0.51323843,z=0.38590652 003: tv norm: tv: x=-0.46845716,y=0.25942597,z=0.27211687 004: dv X tv: ra: x=0.03954666,y=0.13245605,z=0.2142658 005: ra norm: ra: x=0.102381274,y=0.34291187,z=0.5547069 006: new quat: q: w=0.9998638,x=0.0025597166,y=0.008573416,z=0.013868673 007: quat rotate dv: dv: x=-0.1667202,y=0.7820671,z=0.6004794 008: dv norm: dv: x=-0.10761232,y=0.50479823,z=0.38758942 TICK no: 58
001: dv: -0.10761232,0.50479823,0.38758942 001: tv: x=-0.46899712,y=0.2590348,z=0.27196807 002: dv norm: dv: x=-0.10761232,y=0.50479823,z=0.38758942 003: tv norm: tv: x=-0.46899712,y=0.2590348,z=0.27196807 004: dv X tv: ra: x=0.03688985,y=0.13467906,z=0.20887358 005: ra norm: ra: x=0.09696564,y=0.35400635,z=0.549028 006: new quat: q: w=0.9998637,x=0.0024243158,y=0.008850796,z=0.013726689 007: quat rotate dv: dv: x=-0.17739718,y=0.7744144,z=0.60729945 008: dv norm: dv: x=-0.11378097,y=0.49670252,z=0.38951647 TICK no: 59
001: dv: -0.11378097,0.49670252,0.38951647 001: tv: x=-0.46950406,y=0.25869727,z=0.27179867 002: dv norm: dv: x=-0.113780975,y=0.49670255,z=0.3895165 003: tv norm: tv: x=-0.46950406,y=0.25869727,z=0.27179867 004: dv X tv: ra: x=0.03423623,y=0.13679558,z=0.20376903 005: ra norm: ra: x=0.09134513,y=0.36498207,z=0.5436728 006: new quat: q: w=0.9998634,x=0.002283792,y=0.009125206,z=0.0135927955 007: quat rotate dv: dv: x=-0.18720019,y=0.76666796,z=0.61414695 008: dv norm: dv: x=-0.119386725,y=0.4889417,z=0.39167157 TICK no: 60
001: dv: -0.119386725,0.4889417,0.39167157 001: tv: x=-0.4700126,y=0.25835866,z=0.27162874 002: dv norm: dv: x=-0.119386725,y=0.4889417,z=0.39167157 003: tv norm: tv: x=-0.4700126,y=0.25835866,z=0.27162874 004: dv X tv: ra: x=0.031618886,y=0.13881811,z=0.19896416 005: ra norm: ra: x=0.08559498,y=0.37579232,z=0.5386127 006: new quat: q: w=0.9998629,x=0.002140027,y=0.009395478,z=0.013466277 007: quat rotate dv: dv: x=-0.19613968,y=0.7588614,z=0.6210141 008: dv norm: dv: x=-0.12445291,y=0.4815064,z=0.39404067 TICK no: 61
001: dv: -0.12445291,0.4815064,0.39404067 001: tv: x=-0.47052273,y=0.258019,z=0.27145827 002: dv norm: dv: x=-0.12445291,y=0.4815064,z=0.39404067 003: tv norm: tv: x=-0.47052273,y=0.258019,z=0.27145827 004: dv X tv: ra: x=0.029038906,y=0.14074937,z=0.1944485 005: ra norm: ra: x=0.079725355,y=0.38642272,z=0.5338519 006: new quat: q: w=0.99986225,x=0.0019932745,y=0.009661251,z=0.013347241 007: quat rotate dv: dv: x=-0.20422764,y=0.7510271,z=0.62789273 008: dv norm: dv: x=-0.12900102,y=0.47438857,z=0.39661038 TICK no: 62
001: dv: -0.12900102,0.47438857,0.39661038 001: tv: x=-0.47103444,y=0.2576783,z=0.27128726 002: dv norm: dv: x=-0.12900102,y=0.47438857,z=0.39661038 003: tv norm: tv: x=-0.47103444,y=0.2576783,z=0.27128726 004: dv X tv: ra: x=0.026497692,y=0.14259169,z=0.19021259 005: ra norm: ra: x=0.073747694,y=0.3968575,z=0.52939475 006: new quat: q: w=0.9998615,x=0.0018438211,y=0.009922131,z=0.013235793 007: quat rotate dv: dv: x=-0.21147753,y=0.7431958,z=0.6347735 008: dv norm: dv: x=-0.13305104,y=0.46758142,z=0.39936757 TICK no: 63
001: dv: -0.13305104,0.46758142,0.39936757 001: tv: x=-0.47154775,y=0.2573365,z=0.27111575 002: dv norm: dv: x=-0.13305104,y=0.46758142,z=0.39936757 003: tv norm: tv: x=-0.47154775,y=0.2573365,z=0.27111575 004: dv X tv: ra: x=0.023996845,y=0.14434707,z=0.18624808 005: ra norm: ra: x=0.067674525,y=0.40707934,z=0.52524614 006: new quat: q: w=0.9998606,x=0.0016919798,y=0.010177686,z=0.013132059 007: quat rotate dv: dv: x=-0.21790439,y=0.7353964,z=0.64164627 008: dv norm: dv: x=-0.1366217,y=0.46107885,z=0.4022994 TICK no: 64
001: dv: -0.1366217,0.46107885,0.4022994 001: tv: x=-0.47209787,y=0.25701284,z=0.27088928 002: dv norm: dv: x=-0.13662171,y=0.46107888,z=0.40229943 003: tv norm: tv: x=-0.47209787,y=0.25701284,z=0.27088928 004: dv X tv: ra: x=0.0215052,y=0.14598796,z=0.18256083 005: ra norm: ra: x=0.06143395,y=0.4170441,z=0.5215219 006: new quat: q: w=0.99985945,x=0.0015359529,y=0.010426809,z=0.013038933 007: quat rotate dv: dv: x=-0.22352976,y=0.7276578,z=0.64849705 008: dv norm: dv: x=-0.13973364,y=0.4548758,z=0.40539056 TICK no: 65
001: dv: -0.13973364,0.4548758,0.40539056 001: tv: x=-0.47264984,y=0.2566881,z=0.27066207 002: dv norm: dv: x=-0.13973364,y=0.4548758,z=0.40539056 003: tv norm: tv: x=-0.47264984,y=0.2566881,z=0.27066207 004: dv X tv: ra: x=0.019058697,y=0.14754444,z=0.17912902 005: ra norm: ra: x=0.055125613,y=0.4267594,z=0.51811504 006: new quat: q: w=0.99985826,x=0.0013782321,y=0.010669695,z=0.012953739 007: quat rotate dv: dv: x=-0.22837186,y=0.7200061,z=0.65531504 008: dv norm: dv: x=-0.14240372,y=0.44896755,z=0.40862873 TICK no: 66
001: dv: -0.14240372,0.44896755,0.40862873 001: tv: x=-0.47316816,y=0.25641793,z=0.2704139 002: dv norm: dv: x=-0.14240372,y=0.44896755,z=0.40862873 003: tv norm: tv: x=-0.47316816,y=0.25641793,z=0.2704139 004: dv X tv: ra: x=0.016627334,y=0.14900684,z=0.17592229 005: ra norm: ra: x=0.048681065,y=0.43625826,z=0.5150606 006: new quat: q: w=0.9998569,x=0.001217106,y=0.0109071685,z=0.012877355 007: quat rotate dv: dv: x=-0.23244978,y=0.7124673,z=0.6620857 008: dv norm: dv: x=-0.14464803,y=0.44335166,z=0.41200036 TICK no: 67
001: dv: -0.14464803,0.44335166,0.41200036 001: tv: x=-0.47368816,y=0.25614694,z=0.2701649 002: dv norm: dv: x=-0.14464803,y=0.44335166,z=0.41200036 003: tv norm: tv: x=-0.47368816,y=0.25614694,z=0.2701649 004: dv X tv: ra: x=0.014245428,y=0.15038686,z=0.17295927 005: ra norm: ra: x=0.042197227,y=0.44546983,z=0.5123329 006: new quat: q: w=0.9998554,x=0.001054998,y=0.011137456,z=0.01280914 007: quat rotate dv: dv: x=-0.23578498,y=0.7050646,z=0.66879725 008: dv norm: dv: x=-0.14648244,y=0.4380244,z=0.41549316 TICK no: 68
001: dv: -0.14648244,0.4380244,0.41549316 001: tv: x=-0.4742098,y=0.25587505,z=0.26991516 002: dv norm: dv: x=-0.14648244,y=0.4380244,z=0.41549316 003: tv norm: tv: x=-0.4742098,y=0.25587505,z=0.26991516 004: dv X tv: ra: x=0.011915095,y=0.15168574,z=0.17023425 005: ra norm: ra: x=0.035691563,y=0.4543733,z=0.5099352 006: new quat: q: w=0.99985385,x=8.923446E-4,y=0.011360039,z=0.012749173 007: quat rotate dv: dv: x=-0.23840037,y=0.6978184,z=0.67543674 008: dv norm: dv: x=-0.14792266,y=0.43298236,z=0.41909498 TICK no: 69
001: dv: -0.14792266,0.43298236,0.41909498 001: tv: x=-0.47473305,y=0.25560236,z=0.26966462 002: dv norm: dv: x=-0.14792266,y=0.43298236,z=0.41909498 003: tv norm: tv: x=-0.47473305,y=0.25560236,z=0.26966462 004: dv X tv: ra: x=0.009638354,y=0.1529046,z=0.16774166 005: ra norm: ra: x=0.029181967,y=0.46294802,z=0.5078701 006: new quat: q: w=0.9998521,x=7.295933E-4,y=0.011574401,z=0.012697521 007: quat rotate dv: dv: x=-0.24032058,y=0.69074845,z=0.6819917 008: dv norm: dv: x=-0.14898421,y=0.42822224,z=0.42279357 TICK no: 70
001: dv: -0.14898421,0.42822224,0.42279357 001: tv: x=-0.47525796,y=0.25532877,z=0.26941326 002: dv norm: dv: x=-0.14898421,y=0.42822224,z=0.42279357 003: tv norm: tv: x=-0.47525796,y=0.25532877,z=0.26941326 004: dv X tv: ra: x=0.0074173883,y=0.15404452,z=0.16547608 005: ra norm: ra: x=0.022687446,y=0.4711735,z=0.50613904 006: new quat: q: w=0.9998504,x=5.6721945E-4,y=0.011780029,z=0.012654219 007: quat rotate dv: dv: x=-0.24157166,y=0.6838721,z=0.688449 008: dv norm: dv: x=-0.1496826,y=0.4237407,z=0.42657667 TICK no: 71
001: dv: -0.1496826,0.4237407,0.42657667 001: tv: x=-0.47578454,y=0.25505432,z=0.26916113 002: dv norm: dv: x=-0.1496826,y=0.4237407,z=0.42657667 003: tv norm: tv: x=-0.47578454,y=0.25505432,z=0.26916113 004: dv X tv: ra: x=0.005254306,y=0.1551066,z=0.16343209 005: ra norm: ra: x=0.01622736,y=0.47903013,z=0.5047425 006: new quat: q: w=0.99984854,x=4.057071E-4,y=0.011976435,z=0.01261928 007: quat rotate dv: dv: x=-0.24218124,y=0.6772053,z=0.6947959 008: dv norm: dv: x=-0.15003337,y=0.41953456,z=0.43043208 TICK no: 72
001: dv: -0.15003337,0.41953456,0.43043208 001: tv: x=-0.47627324,y=0.25479823,z=0.26892853 002: dv norm: dv: x=-0.15003337,y=0.41953456,z=0.43043208 003: tv norm: tv: x=-0.47627324,y=0.25479823,z=0.26892853 004: dv X tv: ra: x=0.0031514764,y=0.15610373,z=0.16158485 005: ra norm: ra: x=0.009822577,y=0.48654687,z=0.5036305 006: new quat: q: w=0.9998467,x=2.4557795E-4,y=0.012164341,z=0.012591456 007: quat rotate dv: dv: x=-0.24217492,y=0.6707627,z=0.7010197 008: dv norm: dv: x=-0.15005039,y=0.41560125,z=0.43434834 TICK no: 73
001: dv: -0.15005039,0.41560125,0.43434834 001: tv: x=-0.47676355,y=0.25454134,z=0.26869512 002: dv norm: dv: x=-0.15005039,y=0.41560125,z=0.43434834 003: tv norm: tv: x=-0.47676355,y=0.25454134,z=0.26869512 004: dv X tv: ra: x=0.0011104196,y=0.15702508,z=0.1599495 005: ra norm: ra: x=0.0034909523,y=0.4936576,z=0.5028514 006: new quat: q: w=0.9998448,x=8.727845E-5,y=0.012342096,z=0.012571953 007: quat rotate dv: dv: x=-0.24158318,y=0.6645571,z=0.7071078 008: dv norm: dv: x=-0.14974955,y=0.41193733,z=0.4383131 TICK no: 74
001: dv: -0.14974955,0.41193733,0.4383131 001: tv: x=-0.47729513,y=0.25426427,z=0.2684406 002: dv norm: dv: x=-0.14974955,y=0.41193733,z=0.4383131 003: tv norm: tv: x=-0.47729513,y=0.25426427,z=0.2684406 004: dv X tv: ra: x=-8.6665154E-4,y=0.15785989,z=0.15853973 005: ra norm: ra: x=-0.002731622,y=0.49756277,z=0.49970555 006: new quat: q: w=0.9998446,x=-6.829417E-5,y=0.012439729,z=0.012493301 007: quat rotate dv: dv: x=-0.24044806,y=0.65863097,z=0.7130148 008: dv norm: dv: x=-0.14915265,y=0.40855622,z=0.4422911 TICK no: 75
001: dv: -0.14915265,0.40855622,0.4422911 001: tv: x=-0.47782838,y=0.25398633,z=0.26818526 002: dv norm: dv: x=-0.14915265,y=0.40855622,z=0.4422911 003: tv norm: tv: x=-0.47782838,y=0.25398633,z=0.26818526 004: dv X tv: ra: x=-0.0027671456,y=0.1586165,z=0.15733702 005: ra norm: ra: x=-0.0086820405,y=0.49766618,z=0.49365178 006: new quat: q: w=0.9998464,x=-2.170629E-4,y=0.0124423355,z=0.012341971 007: quat rotate dv: dv: x=-0.23882242,y=0.65302575,z=0.71869415 008: dv norm: dv: x=-0.14828695,y=0.40546948,z=0.44624358 TICK no: 76
001: dv: -0.14828695,0.40546948,0.44624358 001: tv: x=-0.47836336,y=0.2537075,z=0.2679291 002: dv norm: dv: x=-0.14828695,y=0.40546948,z=0.44624358 003: tv norm: tv: x=-0.47836336,y=0.2537075,z=0.2679291 004: dv X tv: ra: x=-0.00457827,y=0.15929204,z=0.15634023 005: ra norm: ra: x=-0.014297687,y=0.49746037,z=0.488242 006: new quat: q: w=0.9998481,x=-3.5746238E-4,y=0.012437211,z=0.012206739 007: quat rotate dv: dv: x=-0.23675527,y=0.6477354,z=0.7241449 008: dv norm: dv: x=-0.1471777,y=0.40266138,z=0.45016092 TICK no: 77
001: dv: -0.1471777,0.40266138,0.45016092 001: tv: x=-0.47893655,y=0.2534471,z=0.26761636 002: dv norm: dv: x=-0.1471777,y=0.40266138,z=0.45016092 003: tv norm: tv: x=-0.47893655,y=0.2534471,z=0.26761636 004: dv X tv: ra: x=-0.0063331947,y=0.15985759,z=0.1555475 005: ra norm: ra: x=-0.019684305,y=0.49685597,z=0.48345974 006: new quat: q: w=0.9998497,x=-4.9213617E-4,y=0.01242212,z=0.012087195 007: quat rotate dv: dv: x=-0.23429772,y=0.6427563,z=0.729362 008: dv norm: dv: x=-0.14585121,y=0.4001182,z=0.4540306 TICK no: 78
001: dv: -0.14585121,0.4001182,0.4540306 001: tv: x=-0.47951165,y=0.2531858,z=0.26730254 002: dv norm: dv: x=-0.14585121,y=0.4001182,z=0.4540306 003: tv norm: tv: x=-0.47951165,y=0.2531858,z=0.26730254 004: dv X tv: ra: x=-0.008001491,y=0.16034994,z=0.15493387 005: ra norm: ra: x=-0.024750559,y=0.49600133,z=0.47924814 006: new quat: q: w=0.99985117,x=-6.188008E-4,y=0.0124007715,z=0.011981917 007: quat rotate dv: dv: x=-0.2314931,y=0.63808036,z=0.73434645 008: dv norm: dv: x=-0.14432958,y=0.39782557,z=0.45784482 TICK no: 79
001: dv: -0.14432958,0.39782557,0.45784482 001: tv: x=-0.48005196,y=0.25298074,z=0.2669673 002: dv norm: dv: x=-0.14432958,y=0.39782557,z=0.45784482 003: tv norm: tv: x=-0.48005196,y=0.25298074,z=0.2669673 004: dv X tv: ra: x=-0.009619504,y=0.16076088,z=0.15446435 005: ra norm: ra: x=-0.029612623,y=0.49488533,z=0.4755021 006: new quat: q: w=0.99985254,x=-7.4036064E-4,y=0.012372887,z=0.011888277 007: quat rotate dv: dv: x=-0.22838119,y=0.63370335,z=0.73909545 008: dv norm: dv: x=-0.14263305,y=0.39577273,z=0.46159425 TICK no: 80
001: dv: -0.14263305,0.39577273,0.46159425 001: tv: x=-0.48059404,y=0.252775,z=0.26663095 002: dv norm: dv: x=-0.14263305,y=0.39577273,z=0.46159425 003: tv norm: tv: x=-0.48059404,y=0.252775,z=0.26663095 004: dv X tv: ra: x=-0.011154242,y=0.16110569,z=0.15415193 005: ra norm: ra: x=-0.034172297,y=0.4935657,z=0.47226205 006: new quat: q: w=0.9998538,x=-8.543605E-4,y=0.01233991,z=0.011807285 007: quat rotate dv: dv: x=-0.22500059,y=0.6296163,z=0.7436116 008: dv norm: dv: x=-0.14078124,y=0.39394638,z=0.4652724 TICK no: 81
001: dv: -0.14078124,0.39394638,0.4652724 001: tv: x=-0.48113787,y=0.25256863,z=0.26629353 002: dv norm: dv: x=-0.14078124,y=0.39394638,z=0.4652724 003: tv norm: tv: x=-0.48113787,y=0.25256863,z=0.26629353 004: dv X tv: ra: x=-0.012607843,y=0.16138816,z=0.15398559 005: ra norm: ra: x=-0.0384407,y=0.49206468,z=0.4694946 006: new quat: q: w=0.999855,x=-9.610784E-4,y=0.012302396,z=0.0117381085 007: quat rotate dv: dv: x=-0.22138722,y=0.62580943,z=0.74789727 008: dv norm: dv: x=-0.13879259,y=0.3923339,z=0.46887347 TICK no: 82
001: dv: -0.13879259,0.3923339,0.46887347 001: tv: x=-0.48168343,y=0.25236157,z=0.265955 002: dv norm: dv: x=-0.13879259,y=0.3923339,z=0.46887347 003: tv norm: tv: x=-0.48168343,y=0.25236157,z=0.265955 004: dv X tv: ra: x=-0.013982482,y=0.16161183,z=0.15395483 005: ra norm: ra: x=-0.042429127,y=0.49040282,z=0.46716806 006: new quat: q: w=0.99985605,x=-0.0010607966,y=0.01226086,z=0.011679954 007: quat rotate dv: dv: x=-0.21757473,y=0.6222729,z=0.7519559 008: dv norm: dv: x=-0.13668442,y=0.39092317,z=0.4723924 TICK no: 83
001: dv: -0.13668442,0.39092317,0.4723924 001: tv: x=-0.48223078,y=0.25215384,z=0.26561537 002: dv norm: dv: x=-0.13668442,y=0.39092317,z=0.4723924 003: tv norm: tv: x=-0.48223078,y=0.25215384,z=0.26561537 004: dv X tv: ra: x=-0.0152803585,y=0.16178018,z=0.15404968 005: ra norm: ra: x=-0.046148855,y=0.48859915,z=0.46525192 006: new quat: q: w=0.99985707,x=-0.0011537969,y=0.012215778,z=0.011632059 007: quat rotate dv: dv: x=-0.21359438,y=0.61899674,z=0.7557913 008: dv norm: dv: x=-0.13447289,y=0.38970256,z=0.4758245 TICK no: 84
001: dv: -0.13447289,0.38970256,0.4758245 001: tv: x=-0.48277986,y=0.25194544,z=0.26527467 002: dv norm: dv: x=-0.13447289,y=0.38970256,z=0.4758245 003: tv norm: tv: x=-0.48277986,y=0.25194544,z=0.26527467 004: dv X tv: ra: x=-0.016503587,y=0.16189644,z=0.15426071 005: ra norm: ra: x=-0.049610868,y=0.48667133,z=0.46371782 006: new quat: q: w=0.999858,x=-0.001240354,y=0.012167591,z=0.011593715 007: quat rotate dv: dv: x=-0.20947534,y=0.61597073,z=0.7594078 008: dv norm: dv: x=-0.13217328,y=0.3886609,z=0.47916582 TICK no: 85
001: dv: -0.13217328,0.3886609,0.47916582 001: tv: x=-0.48333076,y=0.25173637,z=0.26493287 002: dv norm: dv: x=-0.13217328,y=0.3886609,z=0.47916582 003: tv norm: tv: x=-0.48333076,y=0.25173637,z=0.26493287 004: dv X tv: ra: x=-0.017654419,y=0.16196382,z=0.15457895 005: ra norm: ra: x=-0.052826352,y=0.4846355,z=0.46253815 006: new quat: q: w=0.99985886,x=-0.0013207475,y=0.012116701,z=0.0115642315 007: quat rotate dv: dv: x=-0.20524472,y=0.61318487,z=0.76280993 008: dv norm: dv: x=-0.1297999,y=0.3877875,z=0.48241267 TICK no: 86
001: dv: -0.1297999,0.3877875,0.48241267 001: tv: x=-0.48388344,y=0.25152662,z=0.26458994 002: dv norm: dv: x=-0.12979989,y=0.38778743,z=0.4824126 003: tv norm: tv: x=-0.48388344,y=0.25152662,z=0.26458994 004: dv X tv: ra: x=-0.018734962,y=0.16198528,z=0.15499581 005: ra norm: ra: x=-0.055805974,y=0.48250678,z=0.4616872 006: new quat: q: w=0.99985963,x=-0.0013952442,y=0.01206349,z=0.011542966 007: quat rotate dv: dv: x=-0.20092775,y=0.61062914,z=0.7660027 008: dv norm: dv: x=-0.12736619,y=0.387072,z=0.48556182 TICK no: 87
001: dv: -0.12736619,0.387072,0.48556182 001: tv: x=-0.4844379,y=0.2513162,z=0.2642459 002: dv norm: dv: x=-0.12736619,y=0.387072,z=0.48556182 003: tv norm: tv: x=-0.4844379,y=0.2513162,z=0.2642459 004: dv X tv: ra: x=-0.019747354,y=0.1619637,z=0.15550317 005: ra norm: ra: x=-0.058560263,y=0.48029912,z=0.46114057 006: new quat: q: w=0.9998604,x=-0.0014641073,y=0.012008304,z=0.011529308 007: quat rotate dv: dv: x=-0.1965478,y=0.60829365,z=0.7689916 008: dv norm: dv: x=-0.12488479,y=0.3865046,z=0.48861066 TICK no: 88
001: dv: -0.12488479,0.3865046,0.48861066 001: tv: x=-0.48499417,y=0.25110507,z=0.26390073 002: dv norm: dv: x=-0.12488479,y=0.3865046,z=0.48861066 003: tv norm: tv: x=-0.48499417,y=0.25110507,z=0.26390073 004: dv X tv: ra: x=-0.020693772,y=0.16190189,z=0.15609327 005: ra norm: ra: x=-0.061099637,y=0.47802532,z=0.460875 006: new quat: q: w=0.999861,x=-0.001527597,y=0.011951462,z=0.011522675 007: quat rotate dv: dv: x=-0.1921265,y=0.6061684,z=0.7717818 008: dv norm: dv: x=-0.12236759,y=0.38607565,z=0.49155676 TICK no: 89
001: dv: -0.12236759,0.38607565,0.49155676 001: tv: x=-0.48555228,y=0.25089327,z=0.26355445 002: dv norm: dv: x=-0.12236759,y=0.38607565,z=0.49155676 003: tv norm: tv: x=-0.48555228,y=0.25089327,z=0.26355445 004: dv X tv: ra: x=-0.02157633,y=0.1618025,z=0.15675871 005: ra norm: ra: x=-0.06343413,y=0.47569728,z=0.4608686 006: new quat: q: w=0.99986166,x=-0.0015859643,y=0.011893265,z=0.011522522 007: quat rotate dv: dv: x=-0.187684,y=0.60424405,z=0.77437985 008: dv norm: dv: x=-0.119825736,y=0.38577604,z=0.49439824 TICK no: 90
001: dv: -0.119825736,0.38577604,0.49439824 001: tv: x=-0.48611218,y=0.25068077,z=0.26320705 002: dv norm: dv: x=-0.119825736,y=0.38577604,z=0.49439824 003: tv norm: tv: x=-0.48611218,y=0.25068077,z=0.26320705 004: dv X tv: ra: x=-0.02239716,y=0.16166808,z=0.15749241 005: ra norm: ra: x=-0.06557359,y=0.47332588,z=0.46110052 006: new quat: q: w=0.9998622,x=-0.0016394553,y=0.011833983,z=0.011528327 007: quat rotate dv: dv: x=-0.1832387,y=0.6025107,z=0.77679116 008: dv norm: dv: x=-0.117269725,y=0.38559684,z=0.49713343 TICK no: 91
001: dv: -0.117269725,0.38559684,0.49713343 001: tv: x=-0.48667395,y=0.25046757,z=0.26285848 002: dv norm: dv: x=-0.117269725,y=0.38559684,z=0.49713343 003: tv norm: tv: x=-0.48667395,y=0.25046757,z=0.26285848 004: dv X tv: ra: x=-0.023158401,y=0.16150108,z=0.15828767 005: ra norm: ra: x=-0.06752761,y=0.4709212,z=0.46155122 006: new quat: q: w=0.9998627,x=-0.0016883102,y=0.011773867,z=0.011539601 007: quat rotate dv: dv: x=-0.1788077,y=0.60095936,z=0.7790223 008: dv norm: dv: x=-0.114709355,y=0.38552958,z=0.49976113 TICK no: 92
001: dv: -0.114709355,0.38552958,0.49976113 001: tv: x=-0.48723754,y=0.25025368,z=0.26250878 002: dv norm: dv: x=-0.11470934,y=0.38552952,z=0.49976107 003: tv norm: tv: x=-0.48723754,y=0.25025368,z=0.26250878 004: dv X tv: ra: x=-0.023862153,y=0.1613039,z=0.15913805 005: ra norm: ra: x=-0.069305465,y=0.46849254,z=0.46220204 006: new quat: q: w=0.99986315,x=-0.0017327605,y=0.011713151,z=0.0115558775 007: quat rotate dv: dv: x=-0.1744067,y=0.59958076,z=0.7810796 008: dv norm: dv: x=-0.11215382,y=0.38556585,z=0.50228035 TICK no: 93
001: dv: -0.11215382,0.38556585,0.50228035 001: tv: x=-0.4878411,y=0.25005865,z=0.26210025 002: dv norm: dv: x=-0.11215382,y=0.38556585,z=0.50228035 003: tv norm: tv: x=-0.4878411,y=0.25005865,z=0.26210025 004: dv X tv: ra: x=-0.024542645,y=0.16104336,z=0.16004984 005: ra norm: ra: x=-0.07100724,y=0.46593365,z=0.46305916 006: new quat: q: w=0.99986356,x=-0.0017753086,y=0.011649179,z=0.011577312 007: quat rotate dv: dv: x=-0.17005529,y=0.5983693,z=0.78296584 008: dv norm: dv: x=-0.10961476,y=0.38569874,z=0.50468653 TICK no: 94
001: dv: -0.10961476,0.38569874,0.50468653 001: tv: x=-0.48844677,y=0.24986292,z=0.2616903 002: dv norm: dv: x=-0.10961476,y=0.38569874,z=0.50468653 003: tv norm: tv: x=-0.48844677,y=0.24986292,z=0.2616903 004: dv X tv: ra: x=-0.025168836,y=0.16075669,z=0.16100465 005: ra norm: ra: x=-0.072547264,y=0.463369,z=0.46408373 006: new quat: q: w=0.9998639,x=-0.0018138128,y=0.011585063,z=0.011602932 007: quat rotate dv: dv: x=-0.16576679,y=0.597316,z=0.7846878 008: dv norm: dv: x=-0.10710036,y=0.38592026,z=0.5069794 TICK no: 95
001: dv: -0.10710036,0.38592026,0.5069794 001: tv: x=-0.48905453,y=0.24966654,z=0.26127893 002: dv norm: dv: x=-0.10710036,y=0.38592026,z=0.5069794 003: tv norm: tv: x=-0.48905453,y=0.24966654,z=0.26127893 004: dv X tv: ra: x=-0.02574297,y=0.1604461,z=0.16199668 005: ra norm: ra: x=-0.073934585,y=0.46080604,z=0.4652593 006: new quat: q: w=0.9998643,x=-0.0018484989,y=0.011520988,z=0.011632328 007: quat rotate dv: dv: x=-0.16155326,y=0.5964123,z=0.7862525 008: dv norm: dv: x=-0.10461817,y=0.38622284,z=0.50915897 TICK no: 96
001: dv: -0.10461817,0.38622284,0.50915897 001: tv: x=-0.48966438,y=0.24946946,z=0.26086614 002: dv norm: dv: x=-0.10461817,y=0.38622284,z=0.50915897 003: tv norm: tv: x=-0.48966438,y=0.24946946,z=0.26086614 004: dv X tv: ra: x=-0.026267156,y=0.16011368,z=0.16302052 005: ra norm: ra: x=-0.0751776,y=0.45825145,z=0.46657094 006: new quat: q: w=0.9998646,x=-0.0018795772,y=0.011457122,z=0.011665124 007: quat rotate dv: dv: x=-0.15742567,y=0.59564954,z=0.78766674 008: dv norm: dv: x=-0.102175236,y=0.38659915,z=0.51122564 TICK no: 97
001: dv: -0.102175236,0.38659915,0.51122564 001: tv: x=-0.49027637,y=0.2492717,z=0.26045194 002: dv norm: dv: x=-0.102175236,y=0.38659915,z=0.51122564 003: tv norm: tv: x=-0.49027637,y=0.2492717,z=0.26045194 004: dv X tv: ra: x=-0.02674359,y=0.15976146,z=0.16407104 005: ra norm: ra: x=-0.07628469,y=0.45571122,z=0.46800405 006: new quat: q: w=0.9998648,x=-0.0019072569,y=0.011393614,z=0.011700958 007: quat rotate dv: dv: x=-0.15339388,y=0.5950195,z=0.78893733 008: dv norm: dv: x=-0.09977807,y=0.38704216,z=0.51317984 TICK no: 98
001: dv: -0.09977807,0.38704216,0.51317984 001: tv: x=-0.4909306,y=0.24905363,z=0.2600158 002: dv norm: dv: x=-0.09977807,y=0.38704216,z=0.51317984 003: tv norm: tv: x=-0.4909306,y=0.24905363,z=0.2600158 004: dv X tv: ra: x=-0.02717223,y=0.15937874,z=0.16516075 005: ra norm: ra: x=-0.077257104,y=0.4531516,z=0.46959126 006: new quat: q: w=0.999865,x=-0.0019315693,y=0.011329621,z=0.0117406435 007: quat rotate dv: dv: x=-0.14946966,y=0.59451354,z=0.7900711 008: dv norm: dv: x=-0.0974344,y=0.387544,z=0.5150216 TICK no: 99
001: dv: -0.0974344,0.387544,0.5150216 001: tv: x=-0.491587,y=0.24883482,z=0.25957817 002: dv norm: dv: x=-0.0974344,y=0.387544,z=0.5150216 003: tv norm: tv: x=-0.491587,y=0.24883482,z=0.25957817 004: dv X tv: ra: x=-0.027557343,y=0.15898022,z=0.16626653 005: ra norm: ra: x=-0.07810948,y=0.45061898,z=0.47127154 006: new quat: q: w=0.99986523,x=-0.0019528808,y=0.011266303,z=0.011782656 007: quat rotate dv: dv: x=-0.1456608,y=0.59412396,z=0.79107505 008: dv norm: dv: x=-0.095149666,y=0.3880982,z=0.5167521 TICK no: 100
001: dv: -0.095149666,0.3880982,0.5167521 001: tv: x=-0.4922456,y=0.24861528,z=0.2591391 002: dv norm: dv: x=-0.095149666,y=0.3880982,z=0.5167521 003: tv norm: tv: x=-0.4922456,y=0.24861528,z=0.2591391 004: dv X tv: ra: x=-0.02790106,y=0.15856767,z=0.16738397 005: ra norm: ra: x=-0.07884937,y=0.44811773,z=0.47303292 006: new quat: q: w=0.99986535,x=-0.0019713796,y=0.01120377,z=0.011826695 007: quat rotate dv: dv: x=-0.14197412,y=0.59384286,z=0.7919559 008: dv norm: dv: x=-0.09292881,y=0.3886984,z=0.5183728 TICK no: 101
001: dv: -0.09292881,0.3886984,0.5183728 001: tv: x=-0.4929064,y=0.24839503,z=0.25869858 002: dv norm: dv: x=-0.09292881,y=0.3886984,z=0.5183728 003: tv norm: tv: x=-0.4929064,y=0.24839503,z=0.25869858 004: dv X tv: ra: x=-0.028205492,y=0.15814285,z=0.16850886 005: ra norm: ra: x=-0.07948406,y=0.44565207,z=0.47486386 006: new quat: q: w=0.9998655,x=-0.0019872482,y=0.011142124,z=0.011872473 007: quat rotate dv: dv: x=-0.13841562,y=0.5936631,z=0.79272026 008: dv norm: dv: x=-0.09077631,y=0.38933858,z=0.51988506 TICK no: 102
001: dv: -0.09077631,0.38933858,0.51988506 001: tv: x=-0.49356937,y=0.24817403,z=0.25825658 002: dv norm: dv: x=-0.09077632,y=0.3893386,z=0.5198851 003: tv norm: tv: x=-0.49356937,y=0.24817403,z=0.25825658 004: dv X tv: ra: x=-0.028472729,y=0.15770733,z=0.1696373 005: ra norm: ra: x=-0.08002063,y=0.44322553,z=0.47675386 006: new quat: q: w=0.9998656,x=-0.0020006637,y=0.011081458,z=0.011919728 007: quat rotate dv: dv: x=-0.13499051,y=0.5935774,z=0.79337484 008: dv norm: dv: x=-0.08869618,y=0.39001295,z=0.52129084 TICK no: 103
001: dv: -0.08869618,0.39001295,0.52129084 001: tv: x=-0.4942346,y=0.24795228,z=0.25781313 002: dv norm: dv: x=-0.08869618,y=0.39001295,z=0.52129084 003: tv norm: tv: x=-0.4942346,y=0.24795228,z=0.25781313 004: dv X tv: ra: x=-0.028704792,y=0.15726265,z=0.17076547 005: ra norm: ra: x=-0.08046578,y=0.44084147,z=0.4786928 006: new quat: q: w=0.99986565,x=-0.0020117932,y=0.0110218525,z=0.011968206 007: quat rotate dv: dv: x=-0.13170321,y=0.59357893,z=0.79392606 008: dv norm: dv: x=-0.08669201,y=0.390716,z=0.522592 TICK no: 104
001: dv: -0.08669201,0.390716,0.522592 001: tv: x=-0.494902,y=0.24772981,z=0.25736818 002: dv norm: dv: x=-0.08669201,y=0.390716,z=0.522592 003: tv norm: tv: x=-0.494902,y=0.24772981,z=0.25736818 004: dv X tv: ra: x=-0.028903753,y=0.15681031,z=0.17188993 005: ra norm: ra: x=-0.08082615,y=0.4385027,z=0.48067117 006: new quat: q: w=0.99986565,x=-0.0020208033,y=0.0109633785,z=0.012017669 007: quat rotate dv: dv: x=-0.12855744,y=0.5936609,z=0.79438025 008: dv norm: dv: x=-0.084766954,y=0.39144233,z=0.5237907 TICK no: 105
001: dv: -0.084766954,0.39144233,0.5237907 001: tv: x=-0.4955717,y=0.24750659,z=0.25692174 002: dv norm: dv: x=-0.084766954,y=0.39144233,z=0.5237907 003: tv norm: tv: x=-0.4955717,y=0.24750659,z=0.25692174 004: dv X tv: ra: x=-0.029071607,y=0.1563517,z=0.17300737 005: ra norm: ra: x=-0.08110803,y=0.43621182,z=0.48268014 006: new quat: q: w=0.99986565,x=-0.002027851,y=0.010906102,z=0.012067897 007: quat rotate dv: dv: x=-0.12555625,y=0.5938167,z=0.79474354 008: dv norm: dv: x=-0.08292377,y=0.3921869,z=0.5248893 TICK no: 106
001: dv: -0.08292377,0.3921869,0.5248893 001: tv: x=-0.4962436,y=0.24728261,z=0.25647378 002: dv norm: dv: x=-0.08292377,y=0.3921869,z=0.5248893 003: tv norm: tv: x=-0.4962436,y=0.24728261,z=0.25647378 004: dv X tv: ra: x=-0.029210337,y=0.15588811,z=0.17411463 005: ra norm: ra: x=-0.08131758,y=0.43397117,z=0.48471132 006: new quat: q: w=0.99986565,x=-0.00203309,y=0.010850083,z=0.0121186795 007: quat rotate dv: dv: x=-0.122702055,y=0.5940404,z=0.79502237 008: dv norm: dv: x=-0.08116478,y=0.392945,z=0.5258903 TICK no: 107
001: dv: -0.08116478,0.392945,0.5258903 001: tv: x=-0.49691778,y=0.24705788,z=0.25602433 002: dv norm: dv: x=-0.08116478,y=0.392945,z=0.5258903 003: tv norm: tv: x=-0.49691778,y=0.24705788,z=0.25602433 004: dv X tv: ra: x=-0.029321864,y=0.15542087,z=0.17520896 005: ra norm: ra: x=-0.08146056,y=0.4317826,z=0.4867569 006: new quat: q: w=0.9998656,x=-0.0020366646,y=0.010795363,z=0.012169822 007: quat rotate dv: dv: x=-0.11999659,y=0.5943255,z=0.7952219 008: dv norm: dv: x=-0.07949194,y=0.39371192,z=0.5267961 TICK no: 108
001: dv: -0.07949194,0.39371192,0.5267961 001: tv: x=-0.49759424,y=0.2468324,z=0.25557336 002: dv norm: dv: x=-0.07949194,y=0.39371192,z=0.5267961 003: tv norm: tv: x=-0.49759424,y=0.2468324,z=0.25557336 004: dv X tv: ra: x=-0.029408067,y=0.15495107,z=0.17628759 005: ra norm: ra: x=-0.08154259,y=0.42964777,z=0.48880962 006: new quat: q: w=0.99986553,x=-0.0020387154,y=0.010741988,z=0.012221144 007: quat rotate dv: dv: x=-0.11744121,y=0.59466654,z=0.7953485 008: dv norm: dv: x=-0.07790688,y=0.39448345,z=0.52760965 TICK no: 109
001: dv: -0.07790688,0.39448345,0.52760965 001: tv: x=-0.49827296,y=0.24660616,z=0.2551209 002: dv norm: dv: x=-0.07790688,y=0.39448345,z=0.52760965 003: tv norm: tv: x=-0.49827296,y=0.24660616,z=0.2551209 004: dv X tv: ra: x=-0.029470809,y=0.15447992,z=0.1773481 005: ra norm: ra: x=-0.08156907,y=0.4275683,z=0.49086267 006: new quat: q: w=0.9998655,x=-0.0020393773,y=0.010689996,z=0.0122724725 007: quat rotate dv: dv: x=-0.11503657,y=0.5950578,z=0.7954074 008: dv norm: dv: x=-0.076410785,y=0.39525545,z=0.5283338 TICK no: 110
001: dv: -0.076410785,0.39525545,0.5283338 001: tv: x=-0.49895397,y=0.24637914,z=0.2546669 002: dv norm: dv: x=-0.076410785,y=0.39525545,z=0.5283338 003: tv norm: tv: x=-0.49895397,y=0.24637914,z=0.2546669 004: dv X tv: ra: x=-0.029511943,y=0.15400842,z=0.17838825 005: ra norm: ra: x=-0.08154529,y=0.42554504,z=0.49290967 006: new quat: q: w=0.9998654,x=-0.0020387827,y=0.010639411,z=0.0123236505 007: quat rotate dv: dv: x=-0.1127829,y=0.5954935,z=0.795404 008: dv norm: dv: x=-0.07500457,y=0.39602396,z=0.52897143 TICK no: 111
001: dv: -0.07500457,0.39602396,0.52897143 001: tv: x=-0.4996373,y=0.24615137,z=0.25421134 002: dv norm: dv: x=-0.07500457,y=0.39602396,z=0.52897143 003: tv norm: tv: x=-0.4996373,y=0.24615137,z=0.25421134 004: dv X tv: ra: x=-0.029533267,y=0.15353754,z=0.17940587 005: ra norm: ra: x=-0.08147632,y=0.4235791,z=0.49494457 006: new quat: q: w=0.9998653,x=-0.0020370581,y=0.010590258,z=0.012374525 007: quat rotate dv: dv: x=-0.110679984,y=0.5959688,z=0.79534346 008: dv norm: dv: x=-0.07368878,y=0.39678553,z=0.5295257 TICK no: 112
001: dv: -0.07368878,0.39678553,0.5295257 001: tv: x=-0.50032294,y=0.24592282,z=0.25375423 002: dv norm: dv: x=-0.07368878,y=0.39678553,z=0.5295257 003: tv norm: tv: x=-0.50032294,y=0.24592282,z=0.25375423 004: dv X tv: ra: x=-0.029536448,y=0.15306823,z=0.18039915 005: ra norm: ra: x=-0.08136677,y=0.42167112,z=0.49696213 006: new quat: q: w=0.9998652,x=-0.0020343186,y=0.010542553,z=0.012424966 007: quat rotate dv: dv: x=-0.10872711,y=0.5964784,z=0.7952306 008: dv norm: dv: x=-0.07246368,y=0.3975367,z=0.5299997 TICK no: 113
001: dv: -0.07246368,0.3975367,0.5299997 001: tv: x=-0.5010109,y=0.24569349,z=0.2532956 002: dv norm: dv: x=-0.07246368,y=0.3975367,z=0.5299997 003: tv norm: tv: x=-0.5010109,y=0.24569349,z=0.2532956 004: dv X tv: ra: x=-0.029523164,y=0.15260132,z=0.18136637 005: ra norm: ra: x=-0.0812212,y=0.41982162,z=0.4989572 006: new quat: q: w=0.99986506,x=-0.0020306793,y=0.010496311,z=0.012474845 007: quat rotate dv: dv: x=-0.10692327,y=0.59701777,z=0.79507065 008: dv norm: dv: x=-0.07132917,y=0.39827424,z=0.5303965 TICK no: 114
001: dv: -0.07132917,0.39827424,0.5303965 001: tv: x=-0.50170124,y=0.24546339,z=0.2528354 002: dv norm: dv: x=-0.07132918,y=0.39827427,z=0.5303966 003: tv norm: tv: x=-0.50170124,y=0.24546339,z=0.2528354 004: dv X tv: ra: x=-0.029495105,y=0.15213758,z=0.18230599 005: ra norm: ra: x=-0.08104416,y=0.4180308,z=0.500925 006: new quat: q: w=0.9998649,x=-0.0020262524,y=0.010451536,z=0.012524042 007: quat rotate dv: dv: x=-0.10526695,y=0.59758186,z=0.7948677 008: dv norm: dv: x=-0.07028497,y=0.39899534,z=0.53071976 TICK no: 115
001: dv: -0.07028497,0.39899534,0.53071976 001: tv: x=-0.5023939,y=0.2452325,z=0.2523736 002: dv norm: dv: x=-0.07028497,y=0.39899534,z=0.53071976 003: tv norm: tv: x=-0.5023939,y=0.2452325,z=0.2523736 004: dv X tv: ra: x=-0.029453829,y=0.15167773,z=0.18321666 005: ra norm: ra: x=-0.080839776,y=0.41629878,z=0.5028614 006: new quat: q: w=0.99986476,x=-0.0020211423,y=0.01040823,z=0.012572454 007: quat rotate dv: dv: x=-0.10375642,y=0.5981666,z=0.79462653 008: dv norm: dv: x=-0.069330424,y=0.39969712,z=0.5309724 TICK no: 116
001: dv: -0.069330424,0.39969712,0.5309724 001: tv: x=-0.50308895,y=0.24500081,z=0.25191027 002: dv norm: dv: x=-0.069330424,y=0.39969712,z=0.5309724 003: tv norm: tv: x=-0.50308895,y=0.24500081,z=0.25191027 004: dv X tv: ra: x=-0.029400863,y=0.15122245,z=0.1840972 005: ra norm: ra: x=-0.08061203,y=0.41462556,z=0.5047624 006: new quat: q: w=0.99986464,x=-0.002015448,y=0.010366396,z=0.012619982 007: quat rotate dv: dv: x=-0.10238957,y=0.5987677,z=0.7943512 008: dv norm: dv: x=-0.06846472,y=0.40037733,z=0.531158 TICK no: 117
001: dv: -0.06846472,0.40037733,0.531158 001: tv: x=-0.50382733,y=0.24470684,z=0.2514658 002: dv norm: dv: x=-0.06846472,y=0.40037733,z=0.531158 003: tv norm: tv: x=-0.50382733,y=0.24470684,z=0.2514658 004: dv X tv: ra: x=-0.029296778,y=0.1507846,z=0.18496725 005: ra norm: ra: x=-0.08025446,y=0.41305345,z=0.5066921 006: new quat: q: w=0.9998644,x=-0.0020065075,y=0.010327088,z=0.012668224 007: quat rotate dv: dv: x=-0.10116419,y=0.59937614,z=0.79404914 008: dv norm: dv: x=-0.067686945,y=0.40103063,z=0.5312824 TICK no: 118
001: dv: -0.067686945,0.40103063,0.5312824 001: tv: x=-0.50456846,y=0.24441181,z=0.25101975 002: dv norm: dv: x=-0.067686945,y=0.40103063,z=0.5312824 003: tv norm: tv: x=-0.50456846,y=0.24441181,z=0.25101975 004: dv X tv: ra: x=-0.029185094,y=0.15035315,z=0.18580392 005: ra norm: ra: x=-0.079884276,y=0.41154063,z=0.5085751 006: new quat: q: w=0.9998642,x=-0.0019972518,y=0.010289262,z=0.012715301 007: quat rotate dv: dv: x=-0.10007732,y=0.5999886,z=0.7937243 008: dv norm: dv: x=-0.06699557,y=0.4016552,z=0.53134924 TICK no: 119
001: dv: -0.06699557,0.4016552,0.53134924 001: tv: x=-0.5053122,y=0.24411573,z=0.2505721 002: dv norm: dv: x=-0.06699557,y=0.4016552,z=0.53134924 003: tv norm: tv: x=-0.5053122,y=0.24411573,z=0.2505721 004: dv X tv: ra: x=-0.029067121,y=0.14992851,z=0.18660659 005: ra norm: ra: x=-0.07950477,y=0.41008642,z=0.51040876 006: new quat: q: w=0.99986404,x=-0.0019877632,y=0.010252903,z=0.012761143 007: quat rotate dv: dv: x=-0.099125676,y=0.60060143,z=0.79338026 008: dv norm: dv: x=-0.066388845,y=0.40224934,z=0.5313618 TICK no: 120



After 120 ticks:

gimballocktick120.png gimballocktick120a.png

I should add that there is a lot of other stuff going on that I've cut out of the code above (such as the drawing code), but it only reads / doesn't modify (or at worst, normalises) the global variables. I'd guess something is going wrong with the cross product / getting the rotation axis as it is quite clear from drawing the vectors on screen that the rotation axis is not always perpendicular to both direction and target vectors. However I've checked and checked again the cross product method and I really can't see what, if anything, is wrong with it
Android Developer for Crystalline Green
Error is in cross-product: Replace this line


retVec.y = v1.z*v2.z - v1.x*v2.z;

with this line


retVec.y = v1.z*v2.x - v1.x*v2.z;


BTW: Your approach will fail if dv and tv become very close, because the axis vanishes but will be enforced to unit length. You then will get more or less arbitrary axes. You have to check for this and simply set the new direction vector directly to tv in that case.
It works, thanks! :D<br><br>Edit: actually I had been doing a check for when the axes are very close to each other, I had just left it out until I could get this problem solved<br>
Android Developer for Crystalline Green

This topic is closed to new replies.

Advertisement