Войти
ПрограммированиеФорумГрафика

Ночная морская поверхность в псевдографике

Страницы: 1 2 Следующая »
#0
(Правка: 14:31) 14:29, 14 апр. 2019

Хочется сделать сабж. То есть в консольном окошке чтоб имитировать поверхность моря ночью при луне - чтоб сразу было понятно, что это именно поверхность моря.

Какие процессы учесть, чтоб было похоже? Если просто параллельные ряды ярких символов, уходящих от нижнего края к линии горизонта с обратнопропорциональной скоростью - совсем непохоже на волны, да и к горизонту накапливается плотность яркости, что не очень соответствует действительности, особенно ночью, пусть даже при луне.

Может быть знает кто-нибудь псевдографические достоверно выглядящие демки, чтоб взглянуть?


#1
14:53, 14 апр. 2019

Типа как тут, но хз, будет ли оно в ascii так же выглядеть

#2
(Правка: 15:08) 15:08, 14 апр. 2019

nes
Блин, я 100 лет не видел этого фона! Прямо как в детство вернулся)

#3
(Правка: 15:42) 15:33, 14 апр. 2019

На вскидку)) Сам решай насколько это похоже.

                                                  О
                                             

___________________________________
—-——--  -————- -————- -00000—  -—
____  ____  ____  ____  ____  0000  ____ 
                                              0000
__  __  __  __  __  __  __  __  _000_  __  __
                                                00
                                                00
- - - - - - - - - - - - - - - - - - - - - 0 - - -  - - -

Принцип, наверное, понятен: чем дальше к горизонту, тем чаще линии и тем длиннее из них штрихи.

#4
16:29, 14 апр. 2019

https://rextester.com/KSP42681

#5
17:39, 14 апр. 2019

FordPerfect
ничотак.

#6
23:01, 14 апр. 2019

nes, именно эта дендюковская картинка с этой музыкой и высплывала в голове :)

FordPerfect, ага, каждый кадр по-отдельности весьма недурно выглядит. Я правильно понял, что там по центру нормальнораспределенная вероятность нижнего подчеркивания с шириной колокола в зависимости от y и отклонения x от средней линии, а в остальных местах - пустота или дефис с нормальнораспределенной вероятностью в зависимости только от Y? Уж больно много магических констант в коде, понять тяжело. Особенно величину r.

Но в динамике, скажем, кадра 4 в секунду - как-то совсем уж хаотично :( . Я поэтому и думал про то, чтоб как-то неспешное движение волн изобразить.

Хотя, если волны пустить не по Y, как изначально хотел, а по X и со скоростью в зависимости от дальности - то наверное будет смотреться неплохо.

Dmitrrr
> чем дальше к горизонту, тем чаще линии
Ага. Правда из демки FordPerfect получается, что нет особого смысла менять расстояние по вертикали, получается, что вполне достаточно играться длиной/вероятностью по горизонтали, рисуя на каждой строчке.

#7
(Правка: 0:37) 0:34, 15 апр. 2019

Dmitry_Milk
> там по центру нормальнораспределенная вероятность нижнего подчеркивания с шириной колокола в зависимости от y и отклонения x от средней линии
Да.
> а в остальных местах - пустота или дефис с нормальнораспределенной вероятностью в зависимости только от Y
Экспоненциальнораспределённой, хотя возможно пофиг. Оба распределения - от фонаря.
> Уж больно много магических констант в коде, понять тяжело. Особенно величину r.
Величина r - это ширина лунной дорожки по горизонтали на данном y. Тупо линейно зависящая от y.
> Но в динамике, скажем, кадра 4 в секунду - как-то совсем уж хаотично :( . Я поэтому и думал про то, чтоб как-то неспешное движение волн изобразить.
Была мысль генерировать не символы, а горизонтальные пары. И бликать между "- " и " -".
Ну а вообще, можно тупо синус от времени, с рандомной фазой, зависящей от координат (и опционально, чуть разброс периодов); ну и амплитуда смещения - как выше. Или квадратную волну со скважностью, зависящей от той экспоненты (и рандомной от координат фазой).

#8
1:36, 15 апр. 2019

Если усложнить, то можно и такие символы добавить █▓▒░

#9
(Правка: 2:26) 2:04, 15 апр. 2019

console_moonlight

+ Показать
#10
4:10, 15 апр. 2019

FordPerfect
магические константы без названий

#11
21:52, 15 апр. 2019

Suslik
Поназывал:

+ Показать
#12
2:34, 16 апр. 2019

Спасибо всем откликнувшимся, особенно FordPerfect за предоставленную рыбу.

Используя идею перевода плавающего значения в вероятность появления символа удалось сделать даже вот такие горизонтальные волны (чем больше размер консоли, тем лучше, конечно):

+ Код
#13
4:58, 16 апр. 2019

Dmitry_Milk
скриншот давай

#14
7:56, 16 апр. 2019
Night Sea | Ночная морская поверхность в псевдографике
Страницы: 1 2 Следующая »
ПрограммированиеФорумГрафика