Adobe Flash
Программирование
Читальный зал
Комментарии 20
0
Спасибо большое за статью.
Первый раз вижу код на флеше, кстати. Интересненько.
0
Он чем-то похож на С++ и Джаву, без переусложненностей джавы и шаблонов сиплюсплюса. Что интересно, третья (она же последняя, похоже) версия куда как серьезнее уклоняется в ООП, чем вторая и тем более первая.
0
Началось всё с того, что на форуме Kongregate.com, где я в то время активно тусил, один из участников предложил посостязаться в процедурной генерации чего-либо, первой темой стал «Лес».


В итоге Вы выиграли состязание? :)
0
Нет, но где-то третье место занял. Может, четвертое. Победитель сгенерировал лес из 4 двухмерных слоев с красивыми шапками, который не требовал слишком больших затрат на рендер и как следствие был пригоден к чему-либо ещё, кроме как покрасоваться.
-1
Да, потом вспомнил. В их сторону и не смотрел, потому что они детерминированы, а мне нужно было, чтобы результат был случайным, но «похожим на дерево». Спасибо все равно.
+1
L-системы не обязательно должны быть детерминированы, вся суть сводится к рекурсивной замене отдельных символов в строке (палочек веток) на подстроки (ветви). Что на что заменять описывается правилами, которые могут быть какими угодно, например заменить одну палку на три случайной длины под случайными углами, либо выбрать случайную ветвь из заранее подобранных комбинаций.
Собственно, коммерческие решения вроде SpeedTree примерно так и делают.
0

Фракталы "родились" из необходимости сгенерировать изображения ландшафтов максимально похожих на настоящие.

+1
Там дело не только в языке но и в прекрасном API. Чтобы его спасти, энтузиасты сделали Haxe и OpenFL.org но похоже эти штуки уже не взлетят :(
-2
Не знаю… мне вот этот майкрософтовский привкус не понравился совсем… Но это только мне конечно… Жду реальных применений котлина в ВЕБ…
0
Я пришел к выводу, что нужно как-то уменьшать плотность веток.

Кстати, Леонардо да Винчи в свое время вывел эмпирическое правило:
Толщина всех веток дерева на любой его высоте, сложенная вместе, дает толщину ствола

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

Добавив к этой модели давление ветра, Эллой ввел определенный постоянный показатель его предельной величины, после которой ветви начинают ломаться. Исходя из этого, он произвел расчеты, которые показали бы оптимальную толщину разветвляющихся веток, такую, при которой сопротивление силе ветра было бы наилучшим. И что же — он пришел ровно к той же зависимости, причем идеальное значение той же величины лежало между 1,8 и 2,3.

Подробнее можно почитать здесь: masterok.livejournal.com/2643089.html
0
Любопытная тема. Здесь это, очевидно, не соблюдается, хотя из структуры без толщины можно попытаться вывести толщину каждой ветви. Но что-то мне кажется, что в лучшем случае получится баобаб :) Дело в том, что толщина ветки у меня величина переменная и влиявшая только на отображение, а также мне не был известен закон, по которому у дерева растет толщина ветки, помимо толщины ствола, растущей плюс-минус равномерно. Его и реализовал.
0
Да, любопытные системы. Когда-то интересовался тоже, но не под эту задачу, а просто так.
Только полноправные пользователи могут оставлять комментарии. , пожалуйста.