Not really a riddle but for those who know or find out, do not post the solution!
Here we go
Imagine you have 3 points that form an equilateral triangle.
http://code.newrog.com/examples/equilateral.png
Point A, B and C.
- Start anywhere X,Y, leave a dot
- Randomly select one of the three points. (A, B or C)
- Move halfway between wherever you are and that point and leave a dot.
- Then randomly select one of the three points again.
- Move halfway between your current position and that point and leave another dot.
- Repeat steps 4 and 5 at least 10,000 times
What is the shape that you get?
Try to visualize it internally
If you already know what this is, don’t say anything please:)
example code snippet solution
Random r = new Random();
Point[] xy = new Point[10000];
Point[] triP = { new Point(50, 450), new Point(300, 10), new Point(550, 450) };
public void init() {
xy[0] = new Point(r.nextInt(800), r.nextInt(800));
for (int i = 1; i < xy.length; i++) {
int pickPoint = r.nextInt(3);
xy[i] = new Point(Math.abs((xy[i - 1].x + triP[pickPoint].x) / 2), Math.abs((xy[i - 1].y + triP[pickPoint].y) / 2));
}
}
public void render(Graphics g) {
for (int i = 0; i < xy.length; i++) {
g.drawLine(xy[i].x, xy[i].y, xy[i].x, xy[i].y);
}
}
Edit: If you run the code, mangle it around to utilize different shapes(square, octagon, etc…) and try to create new things and see their results. Some are expected, some are not.