X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FTools%2FblocFissure%2Fgmu%2Fdistance2.py;fp=src%2FTools%2FblocFissure%2Fgmu%2Fdistance2.py;h=acdbbdcea93d34cad4d1d539c3f234340bad05a5;hb=e9e7af000e6d84b90aaa62d06f8c28ab093b0745;hp=0000000000000000000000000000000000000000;hpb=8c0cc49261c88cde61a96c8642ac89e061ff1fd8;p=modules%2Fsmesh.git diff --git a/src/Tools/blocFissure/gmu/distance2.py b/src/Tools/blocFissure/gmu/distance2.py new file mode 100644 index 000000000..acdbbdcea --- /dev/null +++ b/src/Tools/blocFissure/gmu/distance2.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- + +import logging + +# ----------------------------------------------------------------------------- +# --- calcul de distance carree entre deux points, jeux de coordonnees x,y,z + +def distance2(xyz1, xyz2): + """ + carré de la distance entre deux points donnés par des triplets [x,y,z] + """ + #logging.info("start") + + d2 = 0 + for i in range(3): + d2 += (xyz1[i]-xyz2[i])*(xyz1[i]-xyz2[i]) + logging.debug('d2=%s', d2) + return d2 + +# ----------------------------------------------------------------------------- +# --- test unitaire + +import unittest +class Test_distance2(unittest.TestCase): + + def setUp(self): + self.a=[0, 0, 0] + self.b=[3, 4, 5] + self.c=[-5,-4,-3] + + def test_calcul(self): + self.assertEqual(distance2(self.a, self.b), distance2(self.b, self.a)) + self.assertEqual(distance2(self.a, self.b), distance2(self.a, self.c)) + self.assertEqual(distance2(self.b, self.b), 0) + self.assertEqual(distance2(self.a, self.b), 50) + \ No newline at end of file