Geogram puzzle

Sorry, your browser does not support the Canvas element. Sorry, your browser does not support the Canvas element.
distance1: distance2:  distance3:.

Geograms are location-based messages and an alternative for accounts (with the endless list of passwords you have to store and remember).

Three transmitters send a randomize set of pixels to the location of a person (a location marked with a red stick figure); The location of the three transmit towers and the location of the receiver, combined together, form an image on the canvas.

You can move the red objects (ie. the receiver and one transmitter). As you change the three distances between receiver and senders, the symbolon -a segmented logo- in the canvas changes:

Can you find the correct distances to see the logo? Send your solution (what the logo represents) and how you found it to [email protected]

Use math below to solve this puzzle

There are 320 pixels in the logo and three towers that send the image in three parts:
  1. The first hundred pixels are sent by tower 1; It sends the distance of pixels (x1:100,y1:100) to points P(0,0) and Q1(d1,0).
  2. The next hundred pixels are sent by tower 2 ; It sends the distance of pixels (x100:200,y100:200) to points P(0,0) and Q2(d2,0).
  3. The pixels 200 to 320 are sent by tower 3 ; It sends the distance of pixels (x200:320,y200:320) to points P(0,0) and Q3(d3,0).
The image has a center of gravity, point (35.5, 30.6); the pixels are not send in order, so the center of gravity is that same point for all three transmitters.

You need to find distance d1, d2 and d3 to complete the symbolon. These distances are send modulo 16 (lamda1) and modulo 17 (lambda2), called its 'phase' - click here to read more on 'phase ranging'.

So, each pixel is encoded with four phases ("phase_p1","phase_p2","phase_q1","phase_q2"), representing two distances for each pixel. The two distances of each pixel create circle-circle intersection points for that pixel. Here are the phases for each pixel, for each wavelength:lambda1 (modulo 16) and lambda2 (modulo 17) . Each record is a pixel in the csv file below, the first column is not used: