public Point getPointX(int x, int y) {
        //0 30 60 90 120
        int rangeX = (int) Math.round(side * 1.5);
        int roundedPointX = x / rangeX;
//        System.out.println(roundedPoint);
        int offsetX = x % rangeX;
        int realPointX = (offsetX-(rangeX/2)<0)? roundedPointX*rangeX:(roundedPointX*rangeX)+rangeX;
        //0 10 20 30 40 50
        if (!(((realPointX / rangeX) % 2) == 0)) {
            y += height;
        }
        int rangeY = (int) Math.round(height*2);
        int roundedPointY = y / rangeY;
        int offsetY = y % rangeY;
        int realPointY = (offsetY-(rangeY/2)<0)? roundedPointY*rangeY:(roundedPointY*rangeY)+rangeY;
        if (!(((realPointX / rangeX) % 2) == 0)) {
            realPointY -= 0.5*rangeY;
        }
        return new Point(realPointX,realPointY);
    }