I would like to know how to make straight textures using 2D noise, to make stone squares of irregular sizes all jointed together (same as pic1): If there is a mathematical way to quantize 2D noise into orthogonal straight noise or jointed stone squares, please tell me the trick! (for a graphics shader brick wall texture generator)
if it is a mathematical impossibility, please tell me why?

You could try using 2D noise, but sampling adjacent points as though it was 1D noise, getting a series of strips of values. Then break those values into discrete groups, and whenever you run into a difference in group number, there's your break between bricks. And you would always have breaks between each horizontal strips.