Visualization Riddle/Experiment

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.

  1. Start anywhere X,Y, leave a dot
  2. Randomly select one of the three points. (A, B or C)
  3. Move halfway between wherever you are and that point and leave a dot.
  4. Then randomly select one of the three points again.
  5. Move halfway between your current position and that point and leave another dot.
  6. 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.

Hi

If you like maths, maybe you should have a look at my source code, I need someone to check if I have not forgotten something…

I think I can guess what it would look like.