Почему снег белый, а лёд прозрачный?

Лёд - это монолитный кристалл, структура которого очень стабильна и однородна. А снег - это куча мелких кристаллов - снежинок, форма которых сама по себе гораздо сложнее.

Свет представляет из себя пучок фотонов, каждый из которых может иметь свой цвет. Вообще свет - это и волна и частица одновременно, но это отдельная тема. Если в наш глаз попадает такой пучок всех цветов радуги, то мозг интерпретирует это как белый цвет. Мы будем рассматривать ситуацию, когда на снег или лёд падает именно белый свет.

Вот представим чистый кусок льда. На него падает пучок белого света. Т.к. у льда однородная структура, то этот пучок может дружно приломиться в одном направлении, и так же дружно выйти наружу. Таким образом свет сохранит свою структуру и мы видим, что там находится за льдом, а значит он прозрачный.

В снегу же каждая снежинка уже не такая прозрачная, но ещё они хаотично накладываются друг на друга, а также между ними есть воздушные прослойки. Пучок фотонов входит в такое месиво из кристаллов, а дальше каждый отдельный фотон может отразиться или приломиться в своём отдельном направлении из-за кучи препятствий в виде отдельных кристаллов на своём пути. Поэтому на выходе получается куча фотонов, которые хаотично поменяли своё исходное направление и летят абсолютно в разные стороны.

Но тем не менее все цвета сохранились - они просто вперемешку. Всё это попадает в глаз и мозг так же объединяет это в один белый цвет. Но уже ничего не видно за снегом, т.к. исходная структура пучка света утеряна.