Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Мультимедиа в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.05.2009, 18:51   #1
Сергей089
Форумчанин
 
Регистрация: 22.09.2008
Сообщений: 214
По умолчанию L-система "Цепочка"

Здравствуйте. Скажите, пожалуйста, как вычислить начальный угол и длину отрезка для L-системы "Цепочка"?

axiom: F+F+F+F
newf: F+b-F-FFF+F+b-F
newb: bbb
Сергей089 вне форума Ответить с цитированием
Старый 11.05.2009, 19:07   #2
DomiNick
Студент, не
Старожил
 
Аватар для DomiNick
 
Регистрация: 29.01.2009
Сообщений: 2,067
По умолчанию

Насколько я помню, их устанавливает пользователь.....
I am the First of Cyber Evolution...
I am the First to Program your Future...
DomiNick вне форума Ответить с цитированием
Старый 11.05.2009, 20:29   #3
Сергей089
Форумчанин
 
Регистрация: 22.09.2008
Сообщений: 214
По умолчанию

А можно ли их как-нибудь просчитывать для каждого порядка?
Например, как для L-системы "Остров"
Код:
             axiom:='F+F+F+F';
             newf:='F+F-F-FFF+F+F-F';
             newx:='';
             newy:='';
             newb:='';
             alfa:=0;
             teta:=pi/2;
             a:=image1.width/3;
             b:=a;
             r:=a;
             for i:=1 to p do
               begin
               alfa:=alfa+arctan(1/4);
               r:=r/4;
               end;
alfa - начальный угол
r - длина одного отрезка
p - порядок L-системы
a, b - координаты начала
А то у меня рисунок постоянно уезжает за границу image.
Сергей089 вне форума Ответить с цитированием
Старый 11.05.2009, 21:17   #4
DomiNick
Студент, не
Старожил
 
Аватар для DomiNick
 
Регистрация: 29.01.2009
Сообщений: 2,067
Хорошо

Цитата:
Сообщение от Сергей089 Посмотреть сообщение
Здравствуйте. Скажите, пожалуйста, как вычислить начальный угол и длину отрезка для L-системы "Цепочка"?

axiom: F+F+F+F
newf: F+b-F-FFF+F+b-F
newb: bbb
Странный какой-то фрактал получается... "Цепочка" ж вроде так должна выглядеть:
Код:
axiom: F
newf: FbF
newb: [-F+F+F]+F-F-F+
Кстати, в "Острове" может так лучше будет:
Код:
newf:='F+F-F-FF+F+F-F';
Практически то же самое...

Цитата:
"координаты начала" и "начальный угол" обычно подбираются вручную для каждого фрактала, плюс пользователю даётся возможность изменять их...
Исходная "длина одного отрезка" также обычно подбирается вручную.
Для каждого порядка берётся своя "длина отрезка" равная Power(Z,N), где Z - исходная длина; N - порядок.
А вот чтоб программа автоматически вычисляла их для каждого порядка - не видел...
I am the First of Cyber Evolution...
I am the First to Program your Future...

Последний раз редактировалось DomiNick; 11.05.2009 в 21:19.
DomiNick вне форума Ответить с цитированием
Старый 11.05.2009, 21:49   #5
Сергей089
Форумчанин
 
Регистрация: 22.09.2008
Сообщений: 214
По умолчанию

Ну да, больше на остров похожа, но в учебнике Кроновера она называется "Цепочка", может это из-за звеньев?
Цитата:
А вот чтоб программа автоматически вычисляла их для каждого порядка - не видел...
Жалко, что никто такого не делал. У меня только для 13 L-систем получилось такое реализовать. Осталась "Цепочка" и пользовательская L-системы. Сижу с ними уже больше месяца, че-то с геометрией туго.
Сергей089 вне форума Ответить с цитированием
Старый 11.05.2009, 22:40   #6
Сергей089
Форумчанин
 
Регистрация: 22.09.2008
Сообщений: 214
По умолчанию

Сейчас сделал алгоритм для "Цепочки". Наверное это самых худший, т.к. перебирает всевозможные варианты, а их 216000000 .
Может у кого есть какие-нибудь идеи, скажите, попробую их реализовать
Сергей089 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
блок "cont" с права не принимает значение "margin: 10px;" которое описано в body tabikA HTML и CSS 5 24.02.2009 21:50
Под прикрытием "кризиса" наши доблестные "управители" хотят утопить нас в радиоактивных отходах mihali4 Свободное общение 1 17.01.2009 01:43
Информационно-поисковая система "Библиотека" (С++) natasha_s Помощь студентам 10 12.11.2008 21:27
если пользователь наберет какой-то другой символ не "y" или "n" и нажмет enter, программа проигнорирует skobets Общие вопросы C/C++ 2 03.06.2008 06:51
Создаю диаграмму "Bar". Подскажите как убрать растояние между "столбами" MAcK Компоненты Delphi 11 24.10.2007 10:49