To answer this question precisely, you would first need to understand the concept of light as energies. Now, the atoms can only absorb a discrete amount of energy. Which means it can only absorb and emit energy at a fixed amount. Anything lower than this amount could not be absorbed. If the energy transmitted is high enough, it will excite the atoms to a higher energy level. Whether the photons have enough energy or otherwise, is determined by its FREQUENCY, not INTENSITY. This is a very important concept. Hence, some materials might be opaque to visible light, but transparent in IR. It’s the same reason why X-rays can see through materials that appear opaque to visible wavelengths.
When an atom is excited by a photon, and subsequently drops back to its ground state, it will re-emit photons at a lower energy, and we call this “fluorescence” (Simple way to illustrate this is to shine UV light on a fluorescence ink. UV has higher energy, but is less visible to our eyes, the resulting light reemitted is usually around the yellow-green frequency band, which has lower energy, but appears brighter because it is in the visible frequency range). When photons gets absorbed, the material’s lattice vibrates (becomes phonons ← a particle like photon, but used for vibrations in atoms), causing it to heat up a little (Now, recall that heat is basically energetic vibration at atomic scale… the hotter the material, the stronger they are vibrating in atomic scale…). Now, if the structure of the material is such that light could be absorbed, remitted, and reabsorbed, eventually, the photons loses energy and doesn’t get reemitted again, and the material heats up a little instead. When this happens, the material appears to be black. This is also the reason why black objects heats up easily when exposed to sun light, compared to a shiny one.
What happens when the band gap of the material is wide enough? (i.e. in the case of most dielectrics ← insulators in layman’s term, though not entirely accurate) The photons could not be absorbed, and hence, could pass through the material. Thus, the material appears to be transparent. BUT not so fast, when it goes into the material, the photon slows down, due to the index of refraction of the material. The index of refraction is affected by the material’s Permittivity (Or relative permitivity). When it slows down, the light gets refracted. At a certain critical angle, light can get reflected internally. This phenomenone is known as Total Internal Reflection (Google it, or recall from your highschool science class). Of course, some photons may still be absorbed by the material, and re-emited at the same wavelength. In short, most photons will pass through, but some will get reflected.
If a material doesn’t have a bandgap, most likely it will appear shiny and reflective. As this is the case with most metals. In metals, the atoms share their electrons will all their neighbours, forming a ‘sea’ of electrons. When a photon hits any one of them, It’s energy is quickly re-emitted. Hence, it is reflective. The angle of the reflection is dependant on the angle of which the light hits. Therefore, if the surface is rough, the light reflection appears to be scattered.
Now, why is carbon black? Well, I think you should rephrase that… ‘Carbon’ is not ‘black’ but graphite is. So are many allotropes of carbon, such as Carbon nanotubes, amorphous carbons and fullerenes. Why do they appear black? The same reason aluminum or iron powder appears black: Lights are being absorbed and re-emitted constantly by the atoms until the lost energy and become heat (Or shifted out of our visible wavelength, into the IR region). In the case of graphite, it is not entirely ‘black’ but in fact, if you get a pristine sample of graphite, some parts may even appear metallic (Due to the fact that graphite is a conductive semi-metal).
Now, most natural occuring graphite are not as pristine as the ones show here. Coal, for example, has a some hydrogen content, and pencil graphite and charcoal have some misoriented grains, all which will cause light to be absorbed, and not reflected. In fact, vertically aligned carbon nanotubes are so good at trapping photons, that they are dubbed the blackest black (search Vantablack)
Diamond, on the other hand, is an electrical insulator. Hence, it has a large bandgap. When it is cleaved properly, the angles of the diamond facets causes total internal reflection (explained in the introduction above) to happen, hence, diamonds appears lustrous.
For most people, this is where you will stop reading… But if you are interested to know WHY diamond has larger band gap, but not graphite, then read on!
Diamonds are formed when each carbon atoms forms a covalent bond with 4 other carbon atoms. This means that ALL of the electrons are fixed in place in the crystal lattice. This is called the sp3 bond. Again, search ‘sp3’ or ‘bond hybridization’ if you are really interested in this subject.
In graphite, graphene, Carbon nanotubes, and the rest of the sp2 bond family, each carbon atoms are bonded with 3 other carbon atoms. This means that there’s one extra electron that is shared among 6 carbon atoms in an ‘aromatic’ ring.
I couldn’t find a picture showing delocalization in graphene, but basically if you imagine that each hexagon of the graphitic carbon crystals are as shown, and that the delocalized orbital cloud is shared acros the whole sheet, you’ll get the idea.
Notice how all other allotropes of carbon are basically made out of hexagons, except diamond. If you think about it, carbon nanotube is just a rolled up sheet of graphene, fullerene is but graphene folded into a ball, and graphite is just stacks of graphene.
That, ladies and gentlemen, is why other carbon appears black, and diamond appears to be lustrous!
P.S. Then why is graphene transparent? Simply because it is a single atom thick, and photons are small enough to pass through the ‘holes’ in the middle of the hexagon’s rings. 😉