I know that the color of a body depends upon the color that it reflects. What causes some bodies to be transparent, others translucent still others to be opaque?
There are many factors involved, but the main one is scattering of light. A material with no scattering can be transparent, one that scatters a little is translucent, and one that scatters a lot is likely to be opaque. And the amount of scattering depends on various material properties such as surface roughness, homogeneity of the material, changes of index of refraction within the material, etc. Also, another important factor is the amount of light absorbed. Something that doesn’t scatter at all, but absorbs 100% of the incident light, will also be opaque.