|
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
|
|||||||||||
Баг в коде Reaction Diffusion Gray-Scott model11.12.2020, 02:04. Показов 5309. Ответов 47
Изначально первоисточник формул https://www.karlsims.com/rd.html
Как сделать тоже самое в коде С++ получить значение цвета параметр “c” из кода javascript. Пытаюсь сделать этот код Reaction Diffusion Gray-Scott model https://youtu.be/BV9ny785UNc?t=2315 что за
это типа нормализация? А где поиск макс мин значения во всем массиве значений? Как это вообще возможно. Или это обрезка значений? https://www.arduino.cc/referen... constrain/ x: if x is between a and b. a: if x is less than a. b: if x is greater than b. Тогда работать по идее не должно вообще. Вроде что-то рисует но проблема с окрасом. Нужен окрас всем каналам float от 0 до 1. Самое забавное что делал сам другой алгоритм с просто описания из Cyclic_Symmetric_Multi-Scale_Turing_Patterns.pdf Один паттерн Тьюринга,перевод гугла. «В этой модели есть только одно« вещество », которое играет роль пигментации, активатор и ингибитор. Он представлен одним числом с плавающей запятой для каждого элемента прямоугольный массив. Элементы массива можно рассматривать как эквивалентные ячейкам в дискретном модель, предложенная Тьюрингом в его статье. Число с плавающей запятой, представляющее концентрацию вещество становится значением пикселя в результирующем изображении шкалы серого. Распространение моделируется с помощью среднее значение определенной области вокруг каждого элемента, меньшей площади для активатора и большей область для ингибитора. Простое правило итеративно применяется ко всем элементам массива для (обычно) сотен временных шагов: если средняя концентрация в меньшей области больше, чем средняя концентрация в большей области, увеличьте значение на небольшую величину, в противном случае уменьшите значение на небольшую величину. В на каждом временном шаге полученные значения повторно нормализуются в несколько произвольный диапазон от -1,0 до 1,0, чтобы избежать "убегай". Чтобы избежать краевых эффектов, накладываются периодические граничные условия ». Сделал две свертки там с ядрами 3х3 и 5х5 Что –то рисовало. А этот код вроде намного проще и ядро всего 3х3, и на сайте большое разнообразие форм.Не знаю как исправить код.
1
|
|||||||||||
| 11.12.2020, 02:04 | |
|
Ответы с готовыми решениями:
47
Heat equaton, thermal diffusion equation, теплопроводность Создание input с привязкой к ng-model программно(в коде функции) Баг в коде |
|
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
|
|||
| 16.12.2020, 03:32 [ТС] | |||
|
Главное что пашет, осталось только разбираться с этим всем. Скините проект где эти шейдеры? Есть vs2012 и vs2008.
0
|
|||
|
6353 / 3524 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
|
||||
| 16.12.2020, 09:24 | ||||
|
Папка с шейдерами у вас уже есть.
0
|
||||
|
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
|
||
| 16.12.2020, 12:44 [ТС] | ||
|
Сделал 1.bat рядом с exe main.exe --skip-frames 10000 На вашем компе меняется скорость роста визуально сильно? Может это новый баг? Может скобки нужны, а вообще зачем там принимать команды от строки? Хватит в шейдерах задать это.
0
|
||
|
6353 / 3524 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
|
|||
| 16.12.2020, 14:06 | |||
|
Обычный режим (skipFrames = 1): 1 проход вычислений (feedbackPass)Пропуск 1000 кадров (skipFrames = 1000): 1000 проходов вычислений (feedbackPass)Т.е. грубо, на 1000 команд рисования, в первом случае - на высисление тратится только половина, а во втором - практически все команды это вычисления.
0
|
|||
|
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
|
||||||||
| 16.12.2020, 14:38 [ТС] | ||||||||
|
Если пропуск =20000 то заполнение экрана должно быть мгновенно либо упираться в скорость железа. Вот в этой проге Баг в коде Reaction Diffusion Gray-Scott model int iterNoRender=3;//сколько итераций без рендера пропускать, //ускорение анимации Означает пропуск N итераций без рендера. Между фреймами. Запустите и поменяйте iterNoRender =1 или iterNoRender =4. Разница видна визуально в анимации. Добавлено через 8 минут Может кто знает что это получилось за алгоритм? Это эксперименты с самодельной реакцией диффузии по описанию в тексте Баг в коде Reaction Diffusion Gray-Scott model Сильно меняется форма рисунков от параметров.
0
|
||||||||
|
6353 / 3524 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
|
|||
| 16.12.2020, 14:38 | |||
По умолчанию 1. В исходниках можете посмотреть, как работает.Кстати об исходниках, если у вас трудности со сборокой и линковкой, то вот простой проект CMake, исходники GLFW внутри. Там же "видео" инструкция, как собрать проект в пару кликов для студии вместе с библиотекой. Вам понадобится CMake Всё просто.
2
|
|||
|
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
|
|
| 16.12.2020, 14:54 [ТС] | |
|
Вот в чем дело, в старой версии такой баг. В новой пашет. Причем пашет только скип 1000 странно.
Добавлено через 7 минут Вот еще в чем дело, у меня указан пропуск между кадрами который 60 раз в сек идет, а у вас пропуск каждую секунду. Поэтому у меня плавно идет.
0
|
|
|
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
|
|
| 24.12.2020, 21:26 [ТС] | |
|
Похоже на диффузию только немного угловатая. Наверно это ее какой-то подвид. Может размыть и будет похоже.
Cделал вращение ядер свертки как функция от X строки и интерполяцию ближайшего соседа. Я думал если крутануть ядро то эти отростки линий будут под разными углами идти но не совсем так. Сильно мутирует форма. Вот нет вращения ядер. Вот крутит за проход строки из 200 значений до 0.05 от полного оборота. Слева направо угол поворота мал и округление не искажает ядро потому выглядит как вращения нет, дальше угол проходит некоторый порог и искажается форма ближе к правому участку. Похоже причина в самом методе интерполяции, ядро часто читает повторные ячейки массива и сильно искажается все из-за округления ближайшего соседа. Вот тут наглядно видно, поворот ядра 5х5 на 360. Получается далеко не квадратное ядро + повторное чтение неправильных ячеек свертки. Отсюда сильная мутация формы. Вот полный оборот ядра. Сейчас как эксперимент доделываю билинейную интерполяцию. Она должна быть по идее намного лучше т.к. ядро должно быть стабильно по форме. Не получается сделать утолщения линий в процессе рисования, единственно сильно влияет множитель суммы компонентов ядра t2=1.25. Если менять его в процессе итераций то срабатывает утолщение t2=1.15 но потом когда ставлю норма t2=1.25 чтобы не залило все толстыми белыми кусками алгоритм пожирает все утолщения и снова превращает все в узкие полосы…Хз как можно сделать. На этапе дебага ошибочно плюсовал разные компоненты ядра повторно...это приводило к утолщению полос но не могу повторить теперь =)). Рисует бывает наоборот утончая линии, какие-то разводки дорожек микросхем. А хотелось бы плавные линии и колебания толщин линий. Может нужны опыты с реакцией диффузии.. хз. Мне тут понравилось что алгоритм быстрый и рисует сложные лабиринты. Может сделать вести типа кисть концентрации и алгоритм по идее будет расти за кистью.
0
|
|
| 24.12.2020, 21:26 | |
|
баг в коде или уязвимостьо Непонятный баг в правильном коде Баг в коде (статическая структура) Баг stm8s003 или ошибка в коде? Не могу найти баг в своем коде Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман.
Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
|
|
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
|
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
|
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ
Основная суть и тезисы по измерениям:
0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема.
Объект не может перемещаться в 0D.
1D (Первое измерение):. . .
|
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek
ВВЕДЕНИЕ
Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
|