Сидим с кенгурой под горой, запекаем текстуры...
{ программирование, процедурная генерация, графика, аудио, образование и немного про специфичные игры }
https://gostrobrod.dev
https://boosty.to/gostrobrod
Post #95
204
Screenshot 2025-06-21 at 20.56.00.png419.7 KB
Screenshot 2025-06-21 at 20.01.16.png363 KB
L-система - одна из разновидностей фракталов на основе грамматик строк. Состоит из алфавита возможных элементов, инициирующего состояния и набора правил, какие элементы что порождают. На каждой итерации к каждому элементу текущего состояния применяются соответствующие правила (если они есть). Примеры:
Треугольник Серпинского
алфавит:
инициирующее состояние:
правила:
параметры:
Кривая Дракона
алфавит:
инициирующее состояние:
правила:
параметры:
Растения и деревья
Море их - даже описывать не буду.
При построении фигуры элементы могут быть использованы как операции отрисовки, так и просто как вспомогательные элементы между итерациями. На самом деле тут не стоит привязываться к графике и фигурам - хотя изначально L-системы пошли из ботаники и форм растений, они прежде всего про строки.
Треугольник Серпинского
алфавит:
F G + −инициирующее состояние:
F−G−Gправила:
F → F−G+F+G−FG → GGпараметры:
угол=120°F и G рисуют отрезок, + поворачивает на право, - поворачивает на лево.Кривая Дракона
алфавит:
X Y F + −инициирующее состояние:
FXправила:
X → X+YF+Y → −FX−Yпараметры:
угол=90°F рисует отрезок, + поворачивает на право, - поворачивает на лево.Растения и деревья
Море их - даже описывать не буду.
При построении фигуры элементы могут быть использованы как операции отрисовки, так и просто как вспомогательные элементы между итерациями. На самом деле тут не стоит привязываться к графике и фигурам - хотя изначально L-системы пошли из ботаники и форм растений, они прежде всего про строки.


