Answers for "Vector math not clear."
http://answers.unity.com/questions/1097691/vector-math-not-clear.html
The latest answers for the question "Vector math not clear."Answer by maccabbe
http://answers.unity.com/answers/1098137/view.html
Are you sure that LOS_DELTA is actually (0, 0, 0)? It seems like everything is working correctly but there is some confusion by the displayed (not actual) values being rounded.
If you are only looking at one decimal point for floats that appear to be 0.1 away from each other the actual difference could be anywhere between 0.0. and 0.2. For instance, if we can recreate your situation with the following code
Vector3 v1 = new Vector3(0.04f, 0.5f, 0.8f);
Vector3 v2 = new Vector3(0.06f, 0.5f, 0.8f);
Vector3 delta = v2 - v1;
Debug.Log("v1: " + v1 + "\n"+
"v2: " + v2 + "\n"+
"delta: " + delta + "\n" +
"delta.x == 0.0: " + (delta.x==0.0f)+"\n"+
"delta.x == 0.02: " + (delta.x==0.02f));
The printout is
v1: (0.0, 0.5, 0.8)
v2: (0.1, 0.5, 0.8)
delta: (0.0, 0.0, 0.0)
delta.x == 0.0: False
delta.x == 0.02: True
Which shows
1. v1.x is printed out as 0.0 even though the actual value is 0.04
2. v2.x is printed out as 0.1 even though the actual value is 0.06
3. delta.x is printed out as 0.0 even though the actual value is 0.02Sat, 14 Nov 2015 17:01:58 GMTmaccabbe