Skip to content

Instantly share code, notes, and snippets.

@abrahamjso
Created May 14, 2013 19:44
Show Gist options
  • Save abrahamjso/5578877 to your computer and use it in GitHub Desktop.
Save abrahamjso/5578877 to your computer and use it in GitHub Desktop.
def posReceptor(antenas_l, imagen):
global receptor
posX, posY = receptor
d1 = math.sqrt(((posX - antenas_l[0][0])**2) + ((posY - antenas_l[0][1])**2)) #Distancias desde el receptor hasta cada uno de los puntos transmisores
d2 = math.sqrt(((posX - antenas_l[1][0])**2) + ((posY - antenas_l[1][1])**2))
d3 = math.sqrt(((posX - antenas_l[2][0])**2) + ((posY - antenas_l[2][1])**2))
x = ((((d1**2 - d2**2) + (antenas_l[1][0]**2 - antenas_l[0][0]**2) + (antenas_l[1][1]**2 - antenas_l[0][1]**2)) * (2*antenas_l[2][1]-2*antenas_l[1][1])) - (((d2**2 - d3**2) + (antenas_l[2][0]**2 - antenas_l[1][0]**2) + (antenas_l[2][1]**2 - antenas_l[1][1]**2)) * (2*antenas_l[1][1]-2*antenas_l[0][1]))) / (((2*antenas_l[1][0]-2*antenas_l[2][0])*(2*antenas_l[1][1]-2*antenas_l[0][1]))-((2*antenas_l[0][0] - 2*antenas_l[1][0]) * (2*antenas_l[2][1]-2*antenas_l[1][1])))
y = ((d1**2 - d2**2) + (antenas_l[1][0]**2 - antenas_l[0][0]**2) + (antenas_l[1][1]**2 - antenas_l[0][1]**2) + (x*(2*antenas_l[0][0]-2*antenas_l[1][0]))) / (2*antenas_l[1][1] - 2*antenas_l[0][1])
draw = ImageDraw.Draw(imagen)
box = (posX - margen_receptor/2, posY - margen_receptor/2, posX + margen_receptor/2, posY + margen_receptor/2)
draw.ellipse(box, fill=None, outline= (0,0,0))
draw.text((x, y), 'receptor '+str(x)+", "+str(y), fill=(0,0,255))
imagen.save('antenas.png')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment