I found this website that is really helpful with clear explanations on the use of the formula.

http://darkvertex.com/wp/2010/06/05/python-distance-between-2-vectors/

From the webpage I learnt the formula for the distance d between points A (expressed as Ax, Ay, Az) and B (expressed as Bx, By, Bz), would be expressed as such:

d = √ Ax-Bx

^{2}+ Ay-By

^{2}+ Az-Bz

^{2}

I was going to use the distance function on an expression in Maya, so I had to write it with MEL commands:

vector $a = `xform -q -ws -a -rp "objA"`;

vector $b = `xform -q -ws -a -rp "objB"`;

// doing the additions and squaring first

$myDist = `pow ($a.x-$b.x) 2` + `pow ($a.y-$b.y) 2` + `pow ($a.z-$b.z) 2`;

// applying the square root

$myDist = `sqrt $myDist`;

I hope you it helps if you are looking for the same information.

Additional notes:

I am writing this a few days after my post because I found a more efficient way to represent the formula.

Instead of using the back ticks "`" for the pow and sqrt, I found that in Maya expressions we can use the equivalent of these commands. They are pow( ) and sqrt( ).

So the shortened single-line expression would be:

$myDist = sqrt(pow(($a.x-$b.x), 2) + pow(($a.y-$b.y),2) + pow(($a.z-$b.z),2))

Assuming Maya has a built-in function to compute the length of a vector, you can write an even shorter line:

ReplyDelete$myDist = length($a - $b);

We can write it this way in MaxScript :p