]> SALOME platform Git repositories - modules/smesh.git/blob - src/Tools/blocFissure/gmu/distance2.py
Salome HOME
Allow saving groups with non-ascii names.
[modules/smesh.git] / src / Tools / blocFissure / gmu / distance2.py
1 # -*- coding: utf-8 -*-
2
3 import logging
4
5 # -----------------------------------------------------------------------------
6 # --- calcul de distance carree entre deux points, jeux de coordonnees x,y,z
7
8 def distance2(xyz1, xyz2):
9   """
10   carré de la distance entre deux points donnés par des triplets [x,y,z]
11   """
12   #logging.info("start")
13   
14   d2 = 0
15   for i in range(3):
16     d2 += (xyz1[i]-xyz2[i])*(xyz1[i]-xyz2[i])
17   logging.debug('d2=%s', d2)
18   return d2
19
20 # -----------------------------------------------------------------------------
21 # --- test unitaire
22
23 import unittest
24 class Test_distance2(unittest.TestCase):
25
26   def setUp(self):
27     self.a=[0, 0, 0]
28     self.b=[3, 4, 5]
29     self.c=[-5,-4,-3]
30     
31   def test_calcul(self):
32     self.assertEqual(distance2(self.a, self.b), distance2(self.b, self.a))
33     self.assertEqual(distance2(self.a, self.b), distance2(self.a, self.c))
34     self.assertEqual(distance2(self.b, self.b), 0)
35     self.assertEqual(distance2(self.a, self.b), 50)
36