add loopGenerate3DPosition()