Форум программистов, компьютерный форум, киберфорум
Matlab
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
1 / 1 / 0
Регистрация: 02.12.2020
Сообщений: 83

Дракон Хартера-Хайтвея

24.11.2021, 18:31. Показов 1163. Ответов 1

Студворк — интернет-сервис помощи студентам
Решил для примера разобрать фрактал. Понять хотя бы общую часть построения на основе книги Кроновера. Нашел один код для матлаба, подправил там некоторые ошибки. Однако сейчас выводит одну, которую исправить не получается, а именно: Недостаточно входных аргументов в строке 13. Понимаю, что Lmax не имеет значения, исходя из кода, но не разберусь, что вводить.
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
function [X,Y]=Dracon(Lmax)
% функция, возвращающая изображение дракона
%  -- порЯядок дракона
%Lmax= 'FX';
%Lmax= 'F';
Axiom='FX';
Newf='F';
Newx='X+YF+';
Newy='-FX-Y';
teta=pi/2;
alpha=0;
p=[0;0];
p=Coord(p,Lmax,Axiom,Newf,Newx,Newy,alpha,teta);
% обращение к функции, возвращающей координаты угловых точек дракона
M=size(p,2);
X=p(1:1,1:M);
% создание вектора, содержащего Х-е координаты угловых точек дракона
Y=p(2:2,1:M);
% создание вектора, содержащего Y-е координаты угловых точек дракона
plot(X,Y,Color,k);
set(gca,xtick, Ytick,[]);
set(gca,XColor,w,YColor,w);
function z=Coord(p,Lmax,Axiom,Newf,Newx,Newy, alpha,teta)
% функция, возвращающая координаты угловых точек дракона
Rule=DraconString(Lmax,Axiom,Newf,Newx,Newy, 1, '') ; % задание L-системы
M=length(Rule);
for i=l:M
Tmp=p(1:2, size(p,2) :size(p,2));
if Rule(i)==F % шаг вперед
R=[cos(alpha);sin(alpha)];
R=R/(2^Lmax);
p=cat(2,p,Tmp);
end;
if Rule(i) == '+' % увеличение угла, задающего направление движения
alpha=alpha+teta;
end;
if Rule(i) == '-' % уменьшение угла, задающего направление движения
alpha=alpha-teta;
end;
end;
z=p;
function z1=DraconString(Lmax,Axiom,Newf,Newx,Newy,n,tmp)
% функция, возвращающая L-систему
if n<=Lmax
if n==1
tmp=Axiom;
end;
M=length(tmp);
tmpl= '';
for i=l:M
if tmp(i)==X 
    tmpl=streat(tmpl,Newx); end;
 
if tmp(i)==Y
    tmpl=streat(tmpl,Newy); end;
if not(tmp(i)==F) &&not(tmp(i)==X) &&not(tmp(i)==Y) 
    tmpl=strcat(tmpl,tmp(i));
end;
tmp=tmpl;
n=n+l;
tmp=DraconString(Lmax,Axiom,Newf,Newx,Newy ,n, tmp);
end;
end;
z1=tmp;
Добавлено через 1 час 10 минут
Видимо поторопился. Просто нужно было числовое значение вместо Lmax подставить
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.11.2021, 18:31
Ответы с готовыми решениями:

Фрактал Дракон Хартера-Хейтуэя
Возник вопрос по поводу рекурсии в matlab, требуется построить фрактал &quot;Дракон Хартера-Хейтуэя &quot;. Нашел код на Pascal program...

GUI: фрактал Дракон Хартера-Хейтуэя
Вот программа. Должен строиться фрактал Дракон Хартера-Хейтуэя. function =Dracon(Lmax) % функциЯ, возвращающаЯ изображение дракона ...

Дракон Хартера-Хайтвея(Кривая дракона)
Объясните как рисовать Дракона Хартера-Хайтвея(не с закруглёнными, а с ровными линиями). У меня в задании его нужно брать с конца,...

1
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
24.11.2021, 22:01
Лучший ответ Сообщение было отмечено StudyT как решение

Решение

Модификация
https://habr.com/ru/post/328568/
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.11.2021, 22:01
Помогаю со студенческими работами здесь

Дракон хартера-хейтуэя
Здравствуйте! Кто то умеет переводить программы с Делфи на С++, у меня что то плохо получается! Кода очень мало, но некоторые моменты мне...

Фрактал Кривая Хартера-Хейтуэя (Дракон)
1. Написать программу для визуализации фрактала &quot;Кривая Хартера-Хейтуэя&quot;. 2. Предусмотреть возможность масштабирования, изменение глубины...

Анимация Кривой Дракона (фрактала Хартера-Хейтуэя)
Помогите сделать так, чтобы можно было изменять количество изломов с помощью клавиатуры. #include &lt;gl/glut.h&gt; void...

Дракон на Андроиде
Автор Никалий Ивиницкий 27 сентября 2015 г. 21:27:00 http://analyticls.ru/---8 И индроид тоже! ...

Обсуждение ИС Дракон
Учитывая интерес (как собственный, так и сообщества) к данному средству, решил вынести в отдельную тему, т.к. вобсуждении статьи очень...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере нетипового документа выдачи шин для спецтехники с табличной частью, разработанного в конфигурации КА2. Номеклатура. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru