The solver approach also gives p4 = (-.409, .555). I modified the distEQ from my previous post and it converged pretty much immediately.
Not sure what Wolfram Alpha uses but e-15 looks an awful lot like C++'s double epsilon value, meaning it it likely hitting limits of the precision an 8-byte floating point number can handle.
Technically, no, because it’s overdetermined as Jared (and you) said…
… but, I purposely picked distance values that make all 3 circles have a common intersection point (to several decimal digits), so in that sense it is solvable for a unique solution.
EDIT:
Hey Gus, welcome to the gawk club! It’s my go-to tool for data munging and quick math stuff.
I’m not nearly as good at math as a lot of you so maybe this doesn’t work? I was trying to find an answer that minimized the error using the equal error method. I put the first three points into SolidWorks and then created three distance lines (I didn’t use circles) from each point. I then created point four and three more lines connecting each distance line to point four (the error lines). Because I was trying to minimize the error using equal error I set three error lines equal to each other.
Then I didn’t know what to do. SolidWorks doesn’t (that I know of) have a way to set the length of a line to it’s minimum acceptable value. So I just started plugging in numbers, a number larger than the minimum error would be accepted, a number smaller would make the sketch unsolvable. So I started hopping between two numbers, averaging them, getting a new domain, averaging them, etc. I did like 20 iterations of this, eventually working with numbers that were ten decimals long. Then I finally noticed something interesting, as the error became closer to the minimum value the lines became closer and closer to being co-linear.
So I scrapped dimensioning the error lines and just set each error line as co-linear with its respective distance line. This generated the final position of my point four. Which I got to be (-.50036693, .54231098) with an error length of .09102222. This was a different location than Ether’s so I tried plugging in his point for equal error. When I did this the minimum error I could get was .118118 (coincidence? I think not).
Ether is a lot smarter than I am, and he actually used math so I’m assuming I just couldn’t get SolidWorks to get a smaller error using his point. So what I want to know is what is the error for Ether’s calculation and is it actually smaller than mine (I assume so)?
The answer you get depends on what you’re trying to minimize and what constraints you impose.
As Jared posted earlier in this thread:
You added the constraint that the magnitude of the residuals had to be equal, so you got a different solution. Your solution is valid, given that extra constraint.
I minimized the sum of the squares of the errors (SSE), with no residual equality constraint, so my solution has a smaller SSE than yours.