The landscape that is visible from a certain location is often referred to as a viewshed. You might be more familiar with the idea of a watershed. In the same way that a watershed defines the area or landscape that water drains into, a viewshed defines the landscape can be seen from a location.
Figure 1 shows the basic idea behind how a viewshed is calculated. From any one location, there are some areas of the landscape that can be seen and other areas that are obscured. Areas may be blocked by the terrain, vegetation or by manmade objects.
figure 1 - image source : http://www.innovativegis.com/basis/MapAnalysis/Topic15/Topic15_files/image021.png
In order to make this kind of calculation, we need a model of the terrain or the surface we are trying to analyze. These types of models come in a variety of forms but for the purposes of understanding how they are used for a viewshed analysis, I will only focus on terrain models that represent landscapes as images. An image is basically just a bunch of pixels that are arranged into rows and columns. Now if you imagine that each pixel has an elevation value and imagine that each pixel represents a stack of blocks the same height as the elevation value. So if you were to stand on this image you would see stacks of blocks at various height is all directions. If you were to stand on this image, at any location, you would find that some areas of the image would be visible and some areas would be obscured by stacks of blocks. The visible area is your viewshed at from location. So now that you understand a little more about viewsheds here is how you can make your own.
Google Earth Pro lets you create viewsheds for any point on earth! It is, there are of course a few limitations like that radius of the viewshed is limited to 10km. Read more here