Nerd Puzzle
October 18th, 2005 by Ivo
Ok, this post has no use whatsoever, but I need to get this out of my system. I was in an incredibly dull meeting the other day, and at one point, I had on my sheet of notes 3 randomly placed dots:
.
.
.
For some reason, I don't know why, I started to wonder if there would be one or more circles that have an outline that touches these 3 dots. Yes I am a nerd (just imagine how boring the meeting was).
To put this puzzle in other words: is there, for any given set of 3 points, a 4th point that has an equal distance to the first 3 points?
My preliminary conclusion is that for each three points, there is exactly 1 circle that has a matching outline, unless the 3 points are positioned exactly in one line. I lack the mathematical background however to prove/disprove this in theory. I discussed this with a fellow nerd and he also concluded that there should be exactly 1 circle for each set of 3 points (as long as they are not in a straight line).
Now I'm curious. Am I right in the 'exactly 1 circle' assumption? If so, what would be the optimal way of determining the center of the circle? In other words, how would you implement:
/** * Determine the center point of a circle whose outline strikes 3 given points. * @param Point $a * @param Point $b * @param Point $c * @return Point The center point of the circle outlining point $a, $b and $c */ function centerpoint($a, $b, $c) { .... return new Point($x, $y); }
On to something else. The rumours of the Zend Framework are spreading quickly. I haven't been contacted by Zend so it's not going to be Zend ATK.
I'm wondering what it is though. Whether it's anything like a business framework, or more of an IDE kind of thing, or just a set of classes providing some API.
Finally an update on ATK: we're wrapping up RC1 of ATK 5.3. It should be out real soon now.