Вечная жизнь и прочие приколюшки (наглядная математика, часть 2)
вот, что у меня выходило.
Прикольно. В какой проге генерили?
В какой то из этих?
http://eax.me/fractal-generators/
[Сообщение изменено пользователем 26.02.2014 23:10]
L
LаnaBel
Честно уже не помню — вреде Хаos... Прога лёгкая, функциональная, генерит быстро. Лежит где то на винте.
Z
Z fernes land (Зануда) Z
Так, забыли про вечную жизнь...
Вот вам новая приколюшка, сделанная по совершенно иному принципу:
Фотография из Фотогалереи на E1.ru
Фотография из Фотогалереи на E1.ru
Чуть позже расскажу, как мы с дочкой такую бадягу замутили.
Вот вам новая приколюшка, сделанная по совершенно иному принципу:
Фотография из Фотогалереи на E1.ru
Фотография из Фотогалереи на E1.ru
Чуть позже расскажу, как мы с дочкой такую бадягу замутили.
A
-= Arbitr =-
Чуть позже расскажу, как мы с дочкой такую бадягу замутили
яростно мониторю!
к
кызылдур, король Гондураса
Вот вам новая приколюшка, сделанная по совершенно иному принципу:
Шоза дифракция Френеля?
G
GigaVolt
A
-= Arbitr =-
Это код QR в действии!!!
666
666
Z
Z fernes land (Зануда) Z
Шоза дифракция Френеля?
Начну издалека...
Много лет назад, во времена СССР, когда я ещё был школьником, выходил такой журнал "Квант". В нём я однажды наткнулся на очень интересную статью, связанную с принципами округления. Поскольку я был уже старшеклассником и имел в школе доступ к компьютеру (Роботрон), я тут же реализовал алгоритм на компе и делал потом распечатки этих "дифракционных узоров" восхищённым девушкам и даже преподавательнице информатики.
В этом году дочка прошла в школе деление с остатком (отошла от целых чисел), поэтому у меня появилась возможность объяснить ей весь алгоритм. Он довольно прост, хоть мне и пришлось поломать голову, вспоминая, что там было написано в "Кванте" 28 лет назад.
Алгоритм такой:
1) Берём координатную сетку с осями X, Y и разбиваем её на квадратики с шагом дельта X и дельта Y.
2) Берём любую функцию Z = f(X,Y) и вычисляем её значение в центре каждого квадратика.
3) Отбрасываем всю дробную часть Z в каждом квадратике и проверяем чётность полученного целого значения. Если чётное - квадрат закрашиваем, если нет - не закрашиваем.
Вот и всё. Проще некуда.
Теперь о том, что показано на выложенных гифках:
1) Область расчётов принята от -10 до 10, как по X, так и по Y.
2) Функция такая: Z = X^2 + Y^2
3) Начальный шаг разбивки равен 0,5 (первый кадр гифки). На втором кадре шаг разбивки равен 0,5 / 1,1 = 0,45 На третьем кадре шаг разбивки равен 0,45 / 1,1 = 0,41. Ну и так далее... Всего в гивке 55 кадров, дальше с дроблением шага сильно выростает время расчётов - лень ждать.
Мы прогнали и другие функции, не менее интересные.
Ещё можно поиграть областью вычислений.
В выходные постараюсь ещё таких шняг накидать по другим функциям.
[Сообщение изменено пользователем 21.03.2014 15:00]
Z
Z fernes land (Зануда) Z
GigaVolt
Это что за картинка?
Z
Z fernes land (Зануда) Z
Я, кстати, не уверен, что воспроизвёл именно тот алгоритм, который был описан в "Кванте". Если кто нибудь помнит ссылку на ту статью, то киньте пожалуйста. Это квант примерно 1986-1988 годов. Точнее сказать не могу. В инете архив кванта выложен только с середины 90-х.
Z
Z fernes land (Зануда) Z
Ох, спасибо!
Сейчас пороюсь...
ЗЫ: Странно, а почему мне поисковики лишь урезанные архивы предлагали?
Z
Z fernes land (Зануда) Z
Сейчас пороюсь...
Вот оно!
http://kvant.mccme.ru/1987/11/matematicheskie_uzor...
"Математические узоры на плоскости"
Примеры узоров:
http://kvant.mccme.ru/1987/11/pti.htm
http://kvant.mccme.ru/1987/11/pot.htm
[Сообщение изменено пользователем 22.03.2014 02:48]
G
GigaVolt
Это что за картинка?
Обложка музыкального альбома Gonjasufi "Sufi And a Killer" 2010 года.
U
Є
Странно, а почему мне поисковики лишь урезанные архивы предлагали?
Наверное, поисковики ко мне неравнодушны, а к вам несправедливы.
U
Є
А если серьезно, то идея сделать движущуюся картинку -- очень хороша. Само то для ребенка. Я вообще считаю, что учить язык надо именно на таких симпатичных задачах. Еще бы цвет добавить.
Z
Z fernes land (Зануда) Z
Еще бы цвет добавить.
В статике уже пробовали разные цвета для деления на 2, 3, 5, 7, 11, 13, ... - получается не так выразительно, как для четное / нечётное.
Для 2,3,4,5,6,... тоже пробовали...
U
Є
Для 2,3,4,5,6,... тоже пробовали...
Так можно нечетные оставлять черными, а четные закрашивать, интенсивность одной из составляющих цвета брать, скажем, равной значению функции в центре квадрата, остальные -- максимальное значение. По крайней мере, для функции, у которой максимум на квадрате не превосходит 255, у вас как раз такая. Да даже не важно какой максимум, брать значение по модулю 255 и все.
Или, допустим, если делится на 3, то одну из цветовых составляющих занулять, если делится на 7, то занулять другую, если делится и на 3 и на 7, то занулять обе, третью оставлять максимальной для контраста с черными квадратиками.
Еще можно менять цвет в зависимости от номера шага. То есть, каждый момент времени картинка двухцветная, но, второй цвет меняется, первый остается черным.
В статике
Обратила внимание на это слово. Почитала пост выше:
дальше с дроблением шага сильно выростает время расчётов - лень ждать
И у меня возник вопрос: каков размер обрабатываемого рисунка?
Z
Z fernes land (Зануда) Z
Начальный шаг разбивки равен 0,5 (первый кадр гифки). На втором кадре шаг разбивки равен 0,5 / 1,1 = 0,45 На третьем кадре шаг разбивки равен 0,45 / 1,1 = 0,41. Ну и так далее... Всего в гивке 55 кадров, дальше с дроблением шага сильно выростает время расчётов - лень ждать.
И у меня возник вопрос: каков размер обрабатываемого рисунка?
На 56 кадре размер рисунка равен 7562 х 7562. Приходится обсчитывать и рисовать 57 миллионов квадратиков.
[Сообщение изменено пользователем 24.03.2014 00:37]
Z
Z fernes land (Зануда) Z
В статике уже пробовали разные цвета для деления на 2, 3, 5, 7, 11, 13, ... - получается не так выразительно, как для четное / нечётное.
Вот в динамике:
Фотография из Фотогалереи на E1.ru
А вот это для функции Z = X^2 * Y - Y^2 * X
Фотография из Фотогалереи на E1.ru
[Сообщение изменено пользователем 24.03.2014 01:10]
U
Є
А вот это для функции Z = X^2 * Y - Y^2 * X
красиво
На 56 кадре размер рисунка равен 7562 х 7562. Приходится обсчитывать и рисовать 57 миллионов квадратиков.
Зачем делать квадратики меньше размера точки выводимого на экран изображения?
Z
Z fernes land (Зануда) Z
Зачем делать квадратики меньше размера точки выводимого на экран изображения?
У меня в проге размер изображения 9924 х 9924. Это для вставки в Е1 мне его приходится ужимать в 16 раз.
Z = X^3 + Y^3
Фотография из Фотогалереи на E1.ru
[Сообщение изменено пользователем 24.03.2014 01:10]
Т
Т Ш
лет 40 назад купил я в магазине что-то типа игрушки - называлась спирограф. Прикольная
U
Є
9924 х 9924
Ну, это дело вкуса, размеры, то есть.
спирограф
Вот, надо теперь Зануде идею подкинуть, чтобы сделал прогу, которая рисует соответствующие кривые. Красиво будет...
Z
Z fernes land (Зануда) Z
Вот, надо теперь Зануде идею подкинуть, чтобы сделал прогу, которая рисует соответствующие кривые. Красиво будет...
В прошлом году купили дочке спирограф и мы с ней вдвоём уже изъелозили его всего. Делать прогу уже не интересно.
Спирографы сейчас продают в любом магазине "школьник".
Авторизуйтесь, чтобы принять участие в дискуссии.