Distància

  1. Dissenya la funció dist2(x1,y1,x2,y2) que donades les coordenades cartesianes de dos punts del pla (x1,y1) i (x2,y2) retorna la distància euclídea entre els dos punts, és a dir, \(\sqrt{(x1-x2)^2 + (y1-y2)^2}\)

    >>> round(dist2(1,3,5,2),4)
    4.1231
    >>> round(dist2(0,0,4,10),6)
    10.77033
    >>> round(dist2(1,1,1,1),2)
    0.0
    
  2. Dissenya la funció dist3(x1,y1,x2,y2) que donades les coordenades cartesianes de dos punts del pla (x1,y1) i (x2,y2) retorni la distància en norma 3 entre els dos punts. Aquesta distància es defineix com: \(\sqrt[3] { \left| x1-x2 \right| ^3 + \left|y1-y2 \right| ^3 }\)

    >>> round(dist3(1,3,5,2),4)
    4.0207
    >>> round(dist3(0,0,4,10),5)
    10.20894
    
  3. Dissenya la funció dins_circumferencia (x1,y1,x2,y2,r,eps) que donades les coordenades d’un punt del pla (x1,y1), les coordenades del centre d’una circumferència (x2,y2), el radi r i una tolerància eps, retorni True si el punt es troba exactament a sobre de la circumferència i False en cas contrari. Les comparacions s’han de fer respecte la tolerància donada.

    >>> dins_circumferencia(4.2,2.725,0,0,5,0.1)
    True
    >>> dins_circumferencia(4.2,2.725,0,0,5,0.01)
    True
    >>> dins_circumferencia(4.2,2.725,0,0,5,0.001)
    False
    >>> dins_circumferencia(2.723,2.45,1,3.25,1.9,0.1)
    True
    >>> dins_circumferencia(2.723,2.45,1,3.25,1.9,0.01)
    True
    >>> dins_circumferencia(2.723,2.45,1,3.25,1.9,0.001)
    True
    >>> dins_circumferencia(2.723,2.45,1,3.25,1.9,0.0001)
    False
    

Solució

Disposeu de solucions al fitxer distancies.py