I have tree vector A, B, and D. Is there a way to determinate how close vector D is to A, B and C and represent it in value from 0 to 1? Also compare results (A to D, B to D, and C to D) should sum to 1.
All vectors are normalized end represent direction.

If I understand you correctly I think there are two options
You forget about them summing up to
1and rather simply ask "How much does each individual vector match the given result vectorD?"For this something like the following should do it.
Vector3.Dotfor each vector againstD-1 | 1into the range0 | 1Something like
You might get a result like e.g.
[0.7, 0.5, 0.2]Or you actually want as a result an array of probabilities or in simple words: "Which vector matches with the given vector
Dthe most?"For this basically do the same as before but additionally
100%(1)This would mean what you get as results are probabilities not actually degree of equality, you just get the vector which is "closest" to D
For the same values as above you might get something like
[0.5, 0.357, 0.143]What I tried to say before is:
Let's assume you get some really bad matching vectors like e.g. first method would return
the second method would return e.g.
so this would make you assume that
Bis a pretty good match while actually it is only the less bad match between three really bad matches.