An algorithm that uses self assembling tile set to draw Sierpinski triangles using OpenGL implemented in Java