7

first question to StackOverflow, please be gentle.

  • I am trying to find the equation (and then the algorithm for) the center point of three different points on a 2D cartesian plane, given a certain magnitude or "signal strength". These signal strengths are all on a scale relative to each other, but shouldn't necessary be conflated with "radius" of a circle.

Wikipedia entry on trilateration: http://en.wikipedia.org/wiki/Trilateration

I've also checked out this thread, but it's a little different than what I need Trilateration using 3 latitude and longitude points, and 3 distances

A general equation is nice, but I'll provide some sample data points here for testing:

P1: X,Y = 4153, 4550 // Magnitude or Signal strength = 143
P2: X,Y = 4357, 4261 // Magnitude or Signal strength = 140
P3: X,Y = 4223, 4365 // Magnitude or Signal strength = 139

My general sense is that these points need to be translated to be on the same scale (the signal strengths and the points), but I could be wrong.

Thoughts? TIA

Community
  • 1
  • 1
YakShaving
  • 73
  • 1
  • 5
  • so the "strength" is similar if it was 3 springs attached to the middle point and the three other points? – Keith Nicholas Aug 12 '10 at 22:27
  • I think I know how to go about solving it, but need to draw a picture! :) – Keith Nicholas Aug 12 '10 at 22:41
  • The Wiki you linked to describes the equations for finding the 2 intersection points of 3 spheres. How is this related to your problem? Are the signal strength equivalent to the radii of your spheres? – ysap Aug 12 '10 at 22:47
  • ysap, Yes, this is a sphere in 3d, and I need a circle (2D), you are correct. Essentially, the signal strength is a measure of sphere size, however I do not have the exact radius (circle) size. Thanks for responding! – YakShaving Aug 13 '10 at 12:50
  • I think you need to specify the nature of the "signal". For example, if the signal emanates from a point source into 3-D space, then the strength degrades by 1/(distance**2). However, if it emanates from a point source into 2-D space, then it degrades by 1/distance. – mbeckish Aug 13 '10 at 12:57

3 Answers3

2

You have to first normalize the strengths, so that their sum becomes 1 (resp. a constant).

Each of the corner points would be the resulting point if their normalized strength were 1 (and thus the others 0). If this strength were 0, on the other hand, the resulting point would lie on the line between the two others. In between, it lies on a parallel to that line with a relative distance of the strength. Calculate this distance for two of the strengths, and the result point is found. The third strength is redundant (it goes into the calculation through the normalization).

Edit: You can calculate this simply by adding the vectors scaled by the normalized strengths. That gives (4243.7344 4393.187) for your example.

Svante
  • 50,694
  • 11
  • 78
  • 122
  • 1
    This sounds suspiciously like barycentric interpolation. – Victor Liu Aug 12 '10 at 22:55
  • @Svante how could one modify this for the 3D case, taking into account that signal strength would degrade by distance^-2 as per mbeckish's comment above? – cmbuckley Aug 03 '12 at 18:03
1

Could the Magnitude / Signal strength be compared to a mass?

In this case, compute your center point like a center of mass.

julien
  • 898
  • 3
  • 17
  • 32
0

Find the center of the triangle....

normalize the signal strengths by turning them into percentages of the max.

for each point offset the center by the proportional value of the normalized strength by the length of the line a point makes intersecting the line the other two makes :)

Keith Nicholas
  • 43,549
  • 15
  • 93
  • 156