Сборка и наладка компьютера «Ленинград 48k» (клон ZX Spectrum)
Расширение памяти компьютера до 128k, подключение контроллера дисковода на КР1818ВГ93 и подключение музыкального сопроцессора AY-3-8910 (YM2149F).
Я расскажу о том, как получить невероятно сложные и красивые фракталы, как замоделировать молнию, рост плесени и броуновское движение, а также расскажу, по каким правилам растут папоротники. Уверяю: это перевернёт ваше представление о природе!
Для построения множества Жюлиа понадобится небольшая формула над комплексными числами! Вместо того, чтобы сразу разбирать полную формулу, я предлагаю сначала занулить константу C.
Понятно, что если точки находятся внутри единичного круга, то они должны притянуться к центру. Точки, которые находятся вне единичной окружности будут отдалятся от нуля.
Точки, находящиеся на границе окружности, будут оставаться на границе.
Нас интересуют только такие точки плоскости, которые не уходят на бесконечность. Понятно, что для данной формулы множество таких точек – это круг радиуса 1.
А что теперь будет, если в формулу добавить очень маленькую константу C и постепенно увеличивать её по модулю. Если немного подождать, то мы увидим уже знакомое нам множество Мандельброта. При некоторых параметрах фрактал разделяется на небольшие островки, которые то образуются, то опять комбинируются в единое целое.
Увеличивая границу этого множества, мы будем видеть все больше и больше мелких деталей. Каждая отдельная часть содержит бесконечное множество вариаций исходного фрактала.
Одна компактная формула способна породить целую вселенную с бесконечно сложными циклонами, причудливыми иглами, острыми вилами, полувилами, супервилами, тайфунами, небоскребами, океанами, долинами морских коньков и долинами слонов.
Вместо второй степени можно выбрать любую: третью, четвёртую, пятую, восьмую и даже дробную.
Фракталы можно строить в трехмерном, четырёхмерном или даже в пятисотмерном пространстве.
Для более высоких размерностей используют уже не комплексные числа, а, например, кватернионы. Это не пары чисел, а группы по 4 числа.
Каждый трехмерный фрактал, полученный той или иной формулой, – это сечение четырёхмерного множества. Для алгебры октав или Клиффорда эта область математики на данный момент изучена мало.
Во многих областях физики можно встретить фракталы. Один из самых известных примеров – движение Броуновской частицы. Если подождать достаточно долго, то можно увидеть, что траектория движения броуновской частицы самоподобна.
На этом фрактальность не заканчивается. Представьте теперь, что частицы движутся и могут прилипать к статичной затравочной частице в центре. Сначала мы с некоторого радиуса с произвольной стороны выпускаем частицу. Если она оказалась рядом с затравочной, то она к ней прилипнет. После этого мы опять выпускаем частицу и ждем её прилипания.
Постепенно налипает все больше и больше частиц. Образуется структура, называемая кластером.
Частицы, двигаясь по фрактальным траекториям, прилипают друг к другу и образуют фрактальный кластер.
Можно ввести вероятность прилипания и сделать её тем выше, чем больше соседей вокруг.
Забавная структура, да ещё и очень похожа на то, что мы наблюдаем в реальном эксперименте при химической агрегации DLA кластеров.
Коронный разряд — очень красивое явление, которое тоже является фракталом! С помощью уравнения Лапласа можно смоделировать распространение молнии.
При изменении свойств среды, в которой распространяется молния, изменяется ветвистость структуры.
Возьмем три любые точки на плоскости. Теперь нужно выбрать произвольную точку и много раз делать простую процедуру. Выберем одну из трех зафиксированных нами точек и сместимся в её сторону на половину расстояния до неё.
Так мы будем делать снова и снова. Получившаяся фигура называется треугольником Серпинского: это один из самых популярных фракталов.
То есть мы случайно смещались в сторону одной из вершин треугольника и получили такой фантастический результат.
Это работает не только с треугольником.
Можно задать другое правило: en.wikipedia.org/wiki/Barnsley_fern
Если запрограммировать это правило, то получится папоротник Барнсли. Каждое из этих четырех правил отвечает за рост его отдельных частей.
Достаточно четырёх преобразований для хранения всех возможных комбинаций папоротников.
Поэтому фракталы уже давно применяют в компьютерной графике для генерации миров в играх. Они получаются очень интересными и разнообразными.
Вот такая интересная бывает математика.
Огромная благодарность всем моим спонсорам на patreon!
Привет!
Сегодня второй выпуск про наследие советских инженеров бытовой компьютер БК0010-01. И на этот раз мы попробуем запрограммировать управление внешними устройствами с помощью ассемблера (господи, какая ж это боль). То есть попробуем общаться с процессором компьютера напрямую. Вообще не завидую программистам 80-х. Мы взяли различные Arduino-модули — поиграли светодиодами, запрограммировали 7-сегментные индикаторы Мало того! Мы напишем собственную игру! А результаты будем выводить на физический внешний счетчик. Может быть кому-то наш ролик покажется излишне сложным. Пишите — поняли ли вы чегой-то или вообще ничего!
Привет, Вектозаврики! В прошлом видео я рассказал о том, как используя C и библиотеку SFML я написал свой 3D онлайн шутер от первого лица. Ролик вам очень понравился и быстро набрал просмотры.
Сегодня я расскажу о том, как я поменял текстуры, реализовал пол и возможность смотреть вверх-вниз. А также мы поиздеваемся над игрой и проведем несколько прикольных экспериментов.
Приятного просмотра!
По этой игрушке я планирую выпустить ещё одну серию, а что будет дальше – посмотрим. Судя по всему, вам понравились такие проекты, а значит такой контент будет появляться дальше.
Уже есть идеи разработки настоящего 3D движка или, например, движка воксельной графики.
Предлагайте свои идеи, и я с радостью их учту и попытаюсь реализовать.
Отдельное спасибо моим спонсорам на patreon. Очень сложно выпускать ролики вообще без поддержки, и я рад, что вы есть!
Подписывайтесь на канал чтобы не пропустить новых выпусков!
Привет, вектозавры! Сегодня я покажу 3 очень интересных эксперимента по оптике и попытаюсь объяснить вам физику наблюдаемых явлений.
Первый эксперимент называется сладкий мираж. Это очень интересное явление, из-за которого в пустынях и на дорогах возникают миражи.
Первое, что мы сделаем – это наполовину заполним небольшую ванну чистой водой. После этого, нужно добавить в аквариум немного соли, тем самым увеличив плотность воды. Когда вся жидкость перемешалась, нужно аккуратно заполнить оставшуюся часть аквариума чистой водой.
Мы получили устойчивую границу 2х сред с разными плотностями. Устойчива она потому, что снизу находится более тяжелая, солёная вода, которая не дает легкой воде сверху проникнуть вниз и перемешаться.
А теперь сам эксперимент. Возьмём лазер и под углом посветим на границу раздела солёной и чистой воды. Мы видим очень интересный и удивительный результат: лазер отклоняется от прямой траектории и изгибается так сильно, что из аквариума выходит уже под совсем другим углом.
Вопрос: почему так происходит?
Второй эксперимент мне описал мой учитель по электродинамике и оптике. И это один из моих самых любимых экспериментов.
Давайте возьмем аквариум из предыдущего эксперимента и теперь уже доверху заполним его чистой водой. После этого, нужно добавить в воду немного молока или сливок, а за аквариумом поставить светлый экран. Теперь нужно найти мощный фонарь, дающий чистый белый свет. Выключаем люстру и светим на аквариум. Мы видим, что он начинает светится красивым голубым светом. Но как так? Фонарь то был белый! А если посмотреть на экран, то становится вообще не понятно, что происходит: на экране образовалось красное-желтое пятно. диафрагма — это просто популярное слово, вдруг поможет :)
Уж очень напоминает это небо и солнце, ведь небо тоже нам кажется синим, а солнце – красно-желтым. Судя по всему, аквариум с молоком – это аналог атмосферы, а фонарик – солнца.
А теперь вопрос: что вообще происходит и почему?
И наконец, третий эксперимент. Он связан с лазером и о нем точно слышал любой физик. Возьмем обычный лазер и поставим перед ним светлый экран. Включаем лазер и на экране появляется точка. А теперь самое интересное. Что будет, если этим лазером светить через узкую щель? Самый логичный ответ – точка просто станет немного бледней и все. Но на самом деле, все намного интересней!
Сегодня я расскажу, как я сделал свою версию игровой приставки gameboy с помощью arduino, языка программирования C, джостика и дисплея, а потом запустил на ней pseudo3D шутер от первого лица, змейку и flappyBird, только с вектозавром. Приятного просмотра!
В одном из своих предыдущих роликов я уже рассказывал, что все компьютеры на фундаментальном уровне работают абсолютно одинаково: передают нолики и единички из одной части в другую. Самая важная часть компьютера – процессор. Именно там происходят математические операции и вычисления.
В обычном компьютере к процессору подключены разные периферийные устройства, которыми он управляет. Например, видеокарта, оперативная память или жесткий диск.
Но это вовсе не значит, что все компьютеры должны иметь именно такую конфигурацию. Оперативная память может быть расположена внутри процессора, а видеокарты может вообще не быть.
Готовое устройство должно иметь небольшой экран, на который мы будем выводить изображение геймплея. Для того, чтобы рисовать фигуры или писать текст, нужно во первых, подключить его контакты к нужным пинам компьютера, а во вторых, скачать специальную библиотеку, которая будет управлять дисплеем на низком уровне.
Я решил использовать высокоуровневую библиотеку adafruit, которая с помощью интерфейса I2C осуществляет взаимодействие с пикселями на экране.
Первое, что я сделал, это вывод небольшого логотипа с названием канала. Сразу после я переписал псевдо-3д движок на язык СИ, а так же попытался максимально упростить код.
Необходимо добавить небольшое меню, в котором можно будет выбирать игру. Я решил, что элементов управления должно быть по минимуму: только джостик. Наклоном джостика игрок будем перелистывать библиотеку и управлять игровым процессом, а центральной кнопкой выбирать игру и выходить из игры в главное меню.
Следующая игра — змейка. Пожалуй, она самая простая в реализации. Идея максимально проста: змейка — эта массив двумерных точек. Каждый шаг мы смещаем голову (то есть самый первый элемент) в строну взгляда, а каждый следующий на место своего соседа (начиная с конца). Когда змея сьедает яблоко, мы увеличиваем длину змейки на единицу. Джойстиком меняем направление взгляда.
3-я игра — Flappy Bird. Она достаточно простая в реализации, но очень интересная и сложная в игровом процессе.
Я решил использовать алюминиевый корпус. В комплекте идут две лицевые стороны, которые скрепляются между собой боковыми крышками. Крышки крепятся с помощью небольших болтиков. Выглядит такое решение куда более надежно и красиво.
Для того, чтобы сделать геймбой максимально компактным и надежным, нужно сделать плату, на которой будут крепиться все компоненты. Из готовых элементов я собрал схему, которую потом развел в готовую плату. Тут ничего сложного и я уже подробно показывал этот процесс в своем видео про самодельный компьютер с нуля.
В этот раз я решил, что не хочу ждать плату целый месяц, и решил все таки попробовать лазерно-утюжную технологию (ЛУТ). В любом случае, интересно попробовать разные методы разработки.
Для питания я решил использовать небольшие аккумуляторы 3.7 V. Я буду использовать два таких аккумулятора, подключенных последовательно.
Получившийся геймбой работает замечательно, имеет малый вес и удобно сидит в руке. Есть огромные возможности для расширения функционала прошивки и модернизации устройства. Заряд держит приблизительно 2 дня активной игры. Я полностью доволен работой, именно этого результата я хотел добиться.
Моя любимая игра, безусловно, «flappyZavr». В нее не надоедает играть и она постоянно держит в напряжении. В змейку я бы, возможно, в будущем добавил возможность изменения уровня сложности, а в 3D игру можно было бы добавить врагов.
Лекция 1 | Курс: Архитектура ЭВМ и основы ОС | Лектор: Кирилл Кринкин | Организатор: Computer Science Center
Смотрите это видео на Лекториуме: lektorium.tv/lecture/14649
В данном видео я расскажу, как устроены старые игры с псевдо-3d графикой, вроде Wolfenstein 3D или Doom!
Все мы помним старые добрые игры, вроде Doom или Wolfenstein 3D, которые в своём жанре были первооткрывателями трёхмерных игр. Сейчас такая графика, кажется, уже совсем устаревшей, ведь в современных играх она настолько реалистичная, что иногда сложно отличить компьютерную игрушку от фильма. Для создания фотореалистичной графики используется очень много крутых и сложных приёмов, позволяющих сделать красивое освещение, реалистичные тени, отражения и много других деталей. Все эти вычисления позволяют сделать мощные современные видеокарты.
Но раньше компьютеры не имели возможности даже близко подобраться к таким показателям. Поэтому приходилось придумывать методы создания 3D изображения, не требующие больших вычислительных затрат. Привет, ребят, с вами канал ilinblog и сегодня я расскажу вам о том, как были устроены старые игрушки с псевдотрёхмерной графикой.
Приятного просмотра!
★ Заказать печатные платы jlcpcb.com/ ★
Сегодня мы с вами сделаем гигантский светодиодный куб под управлением Arduino! Куб имеет размеры 8x8x8, и для максимальной компактности я сделал для него печатную плату.
Заказать зажигалку и др.: boomstarter.ru/projects/Levsha/mini-fabrika_levsha
************************************************************
Сегодня я сделаю уникальную бензиновую зажигалку с шахматной вставкой. Материал вставки, благородные сорта дерева бук и граб. Основной корпус выполнен из латуни. Надеюсь результат вам понравится!
Приятного просмотра!
************************************************************
Приветствую Вас на моём канале «Левша», где я показываю, как изготавливать различные самоделки из дерева, металла и не только. Игрушки, сувениры, сложные и простые механизмы, оригинальные подарки девушкам и парням. Вы также можете предложить свою идею, а я, по возможности, воплощу её в моих самоделках!
Если вы любите самоделки, если вам нравятся оригинальные идеи, вы креативный человек или просто начинающий «самодельщик», тогда этот канал для Вас!
************************************************************
Мой канал: www.youtube.com/channel/UCQpB...
Группа вконтакте: vk.com/club23756609
Паблик Вк: vk.com/veniaminlevsha
Этот канал для порядочных: за мат, оскорбление и «троллинг» — Бан!
#самоделки#левша#diy#зажигалка