http://fizik-romantik.diary.ru/p129779192.htm 14.10.2010 в 23:38Пишет [J]Заболекарь[/J]:
Расскажу-ка я вам про броуновские деревья.
Вот, например, у нас есть некая частица. Назовём её, ну, не знаю, ядром. Можно ещё центром агрегации назвать. В английском видел название seed, но «семя» не звучит как-то. Вокруг неё блуждают случайным образом другие частицы. Если одна из этих блуждающих случайно прикоснётся к ядру, то прилипнет к нему и тоже станет частью ядра. Теперь в ядре уже две частицы. Если ещё одна блуждающая частица случайно коснётся одной из этих двух частиц, то тоже прилипнет. Будет три частицы. И так далее. И так к этому кластеру постепенно будут прилипать всё новые и новые частицы. Крайне маловероятно, чтобы частицы со всех сторон прилипали абсолютно симметрично, поэтому получится скорее не шарик, а бесформенная хрень с выступами. Новые частицы с высокой вероятностью будут прилипать именно к этим выступам, поскольку блуждают случайно и совершенно не умеют специально выискивать между этими выступами путь к середине кластера. Выступы будут становиться всё длиннее и ветвистее, а кластер всё более похожим на некий диковинный куст. Вот его и называют броуновским деревом.
Именно так оседает медь на катоде при электролизе раствора медного купороса. Электрод (а потом и всё, что на нём осело) - центр агрегации, блуждают частицы потому, что у них тепловое движение, а прилипают потому, что катод заряжен отрицательно, а ионы меди положительно. И так могут получаться медные деревья. А
вот никелевое. По-английски это зовётся diffusion-limited aggregation, русского устоявшегося названия вроде нет (хотя гугль находит агрегацию, ограниченную диффузией, диффузионно-контролируемую агрегацию и ещё несколько вариантов). В пределе для бесконечно маленьких частиц получился бы фрактал, ну а в реальности рано или поздно самоподобие кончается - атом меди ветвиться не может.
Поскольку медного купороса у меня нет (и на химфак ходить влом), а компьютер есть, я решил это всё просимулировать. Ну и просимулировал.
Как выяснилось позже, программу для генерации таких деревьев не написал только ленивый, и нагугливаются они в два приёма. Но самому же интереснее.
В данном случае блуждали просто точки, а прилипшими они считались, если приблизятся друг к дружке на определённое расстояние. Кроме того, здесь у «ёмкости» есть края, в которые ветви рано или поздно упираются. Хинт: когда будете писать сами, не считайте много блуждающих частиц одновременно, одной блуждающей частицы вполне хватит. И появляется эта частица пусть не в случайном месте (иначе она вполне может оказаться внутри кластера, и получится
вот такой лишайник), но и не слишком далеко от кластера (иначе будет очень долго добираться), а на некоем минимальном расстоянии от самой первой частицы. По мере роста кластера это расстояние, конечно, надо будет увеличивать. Ну и позаботьтесь, чтобы точка не упрыгала в неведомые дали.
Здесь вместо точек линии, концы их могут начинать блуждание где угодно. Прилипают они не к ближайшему концу, а к тому из достаточно близких, который прикрепился раньше остальных (поэтому и получаются такие веера а-ля лист трахикарпуса). Это уже не DLA, я не уверен, что кто-то этим занимался, и не уверен, что это чему-то в реальности соответствует.
То же самое, только линии со временем ещё и максимальную длину меняют.
Тоже линии, но такие короткие, что ведут себя практически как точки. Меняют в процессе цвет.
Буквы постепенно обрастают этаким мочалом. Думал было похвастаться, но потом нашёл людей, которые
то же самое делают не просто так через строчки кода и пиксели на экране, а через электрические разряды в оргстекле, и сдулся. Принцип у них другой: источник у них точечный, а не в форме буквы, а форму они придают, каким-то образом маскируя те участки, куда линии добраться не должны. Ещё они рассказывают про фигуры Лихтенберга,
показывают человека, на котором фигуру Лихтенберга оставила молния, сжимают монетки магнитным полем (
вот,
и вот,
и вот) и вообще
не скучают.
URL записи