how to show a picture on monitor through VGA from basys3
Broad question. A quick summary:


Whatever image you want to render, you represent that as a pool of digital data , pixel by pixel (known as frame-buffer) in some memory. 
VGA Controller (which you have to design in VHDL/Verilog) will process that data, convert it into R-G-B digital data and generate the corresponding sync signals. Resolution of the image, how many bits representation is needed for one pixel, etc will come into the picture here.
Finally to drive the VGA display you need a Video-DAC, which converts the RGB digital data from VGA Controller to RGB analog at proper voltage levels. Basys-3 board already has one on it. Refer to the data sheet. You just need to connect the display to the VGA port of Basys-3 then. The display should be supporting the resolution and the sync signals polarity and timing should be correct.