Search
Write a publication
Pull to refresh
-9
0

Software Engineer

Send message

Нужно больше разных Blur-ов

Reading time5 min
Views15K
Размытие изображения посредством фильтра Gaussian Blur широко используется в самых разных задачах. Но иногда хочется чуть большего разнообразия, чем просто один фильтр на все случаи жизни, в котором регулировке поддаётся только один параметр — его размер. В этой статье мы рассмотрим несколько других реализаций размытия.


Читать дальше →

Как нарисовать чёрную дыру. Геодезическая трассировка лучей в искривлённом пространстве-времени

Reading time14 min
Views50K
«Это легко. Берём метрику Шварцшильда, ищем символы Кристоффеля, вычисляем их производную, записываем геодезическое уравнение, меняем некоторые декартовы координаты (чтобы не страдать), получаем большое многострочное ОДУ — и решаем его. Примерно так».



Теперь ясно, что чёрные дыры меня засосали. Они бесконечно увлекательны. В прошлый раз я разбирался с визуализацией геометрии Шварцшильда. Меня поглотила проблема точного представления, как кривизна такого пространства-времени влияет на внешний вид неба (поскольку фотоны из удалённых источников движутся вдоль геодезических линий, изогнутых чёрной дырой) для создания интерактивного моделирования. Вот результат (работает в браузере). Хитрость в максимально возможном предрасчёте отклонения световых лучей. Всё работает более-менее нормально, но конечно, такая симуляция далека от идеала, потому что в реальности там не производится никакой трассировки (для неспециалистов: восстановление назад во времени местонахождения световых лучей, падающих в камеру).

Мой новый проект исправляет этот недостаток, отказавшись от эффективности/интерактивности самым простым образом: это рейтрейсер чисто на CPU. Трассировка выполняется максимально точно и максимально долго. Рендеринг изображения вверху занял 15 5 минут (спасибо, RK4) на моём ноутбуке.
Читать дальше →

Классические алгоритмы и структуры данных на JavaScript

Reading time2 min
Views95K
Привет Всем! Я недавно запустил на GitHub проект JavaScript Algorithms and Data Structures, который содержит примеры классических алгоритмов и структур данных написанных на JavaScript с объяснениями, примерами и ссылками для дальнейшего изучения (в частности на соответствующие YouTube видео).

Основная задача проекта — помочь программистам в изучении и применении алгоритмов и сделать это на JavaScript-е.
Читать дальше →

Символы, генераторы, async/await и асинхронные итераторы в JavaScript: их сущность, взаимосвязь и варианты использования

Reading time23 min
Views34K
Сущность и предназначение множества возможностей JavaScript вполне очевидны. А вот некоторые, вроде генераторов, могут, на первый взгляд, показаться странными. Такое же впечатление способны вызвать и, скажем, символы, которые похожи и на значения примитивных типов, и на объекты. Однако, язык программирования — это целостная система, одни возможности которой полагаются на другие. Поэтому обычно нельзя в полной мере понять что-то одно, не разобравшись со всем тем, с чем это связано, от чего зависит, и на что влияет.

image

Материал, перевод которого мы сегодня публикуем, направлен на разъяснение таких механизмов и конструкций JavaScript, как символы, известные символы, итераторы, итерируемые объекты, генераторы, механизм async/await, и асинхронные итераторы. В частности, речь здесь пойдёт о том, почему они появились в языке, и о том, как ими пользоваться. Надо отметить, что темы, которые будут здесь подняты, рассчитаны на тех, кто уже имеет некоторое представление о JavaScript.
Читать дальше →

Найден третий препарат для лечения андрогенетической алопеции (облысения)

Reading time3 min
Views80K

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

Химики и биологи много лет работают над поиском эффективных средств для регенерации волосяного покрова. Возможно, на эти цели в мире тратится больше денег, чем на космическую программу. В настоящее время создано два препарата для лечения облысения (андрогенетической алопеции) — это миноксидил и финастерид. К сожалению, у обоих препаратов есть побочные эффекты, и они не гарантируют положительный результат.
Читать дальше →

Планетарный ландшафт

Reading time51 min
Views22K
Трудно поспорить, что ландшафт — неотъемлемая часть большинства компьютерных игр на открытых пространствах. Традиционный метод реализации изменения рельефа окружающей игрока поверхности следующий — берем сетку (Mesh), представляющую из себя плоскость и для каждого примитива в этой сетке производим смещение по нормали к этой плоскости на значение, конкретное для данного примитива. Говоря простыми словами, у нас есть одноканальная текстура размером 256 на 256 пикселей и сетка плоскости. Для каждого примитива по его координатам на плоскости берем значение из текстуры. Теперь просто смещаем по нормали к плоскости координаты примитива на полученное значение(рис.1)


Рис.1 карта высот + плоскость = ландшафт

Почему это работает? Если представить, что игрок находится на поверхности сферы, и радиус этой сферы чрезвычайно велик по отношению к размеру игрока, то искривлением поверхности можно пренебречь и использовать плоскость. Но что если не пренебрегать тем фактом, что мы находимся на сфере? Своим опытом построения такого рода ландшафтов я хочу поделиться с читателем в данной статье.
Читать дальше →

Личность и звук: Фриц Зеннхайзер — победа, начавшаяся с поражения

Reading time6 min
Views14K
Первоначально, я хотел приурочить пост ко дню рождения немецкого изобретателя и бизнесмена, но публиковать статью о немце 9-го мая, было бы не слишком корректно ввиду непредсказуемой реакции некоторых представителей российской общественности. Благодаря этому человеку мир получил одну из лучших радиотехнических компаний мира, производящую профессиональную и бытовую аудиоаппаратуру. Сегодня сложно представить себе человека, интересующегося аудио, который так или иначе не знал бы о компании, которую создал герой этого поста.



Интересная жизнь инженера и ученого Фрица Зеннхайзера не всегда была лёгкой. Забегая немного вперед, отмечу, что создание компании волей случая было предопределено поражением Германии во Второй Мировой. Изобретательность и плодовитость инженера заложили базис для длительной и успешной работы. Сегодня, созданная им компания производит известные во всем мире наушники, микрофоны, системы связи, радиосистемы, авиационное оборудование и многое другое.
Читать дальше →

Эзотерические сортировки Дэвида Морган-Мара

Reading time6 min
Views28K


Планировал написать про чё-нибудь эдакое мегаумное, если не про чётно-нечётную сортировку слиянием Батчера, то, на худой конец, про сортировку декартовым деревом. Но потом вспомнил, что грядёт череда торжеств, а значит стоит предложить что-нибудь праздничное, я бы даже сказал — легкомысленное.

Сплошная алгоритмическая эзотерика

Спросите Итана №84: откуда взялся первый свет?

Reading time5 min
Views18K

До формирования первых звёзд Вселенная была уже заполнена светом. Но как?


Свет считает, что он быстрее всех, но он ошибается: неважно, как быстро летит свет — темнота уже на месте и дожидается его.
— Терри Пратчетт

Если мы смотрим на Вселенную, мы видим точечки света, рассыпанные по огромной пустой темноте неба: звёзды, галактики, туманности и так далее. Но в далёком прошлом было время, до того, как все эти объекты сформировались и незадолго до Большого взрыва, когда Вселенная была заполнена светом. На этой неделе профессор химии Фабио Гоччо не смог ответить на один вопрос и отправил его в нашу рубрику:

Я пытаюсь держать студентов в курсе происходящего, используя материалы вашего блога. Недавно во время обсуждения Большого взрыва был задан хороший вопрос: откуда в КМФИ взялись фотоны? Как я понимаю, они появились в результате аннигиляции пар частиц/античастиц, получившихся в результате квантовых флюктуацию после инфляции. Но не должна ли была эта энергия «вернуться», поскольку они изначально были «взяты взаймы» для создания пар частица/античастица?

Некоторые вещи в вопросе Фабио очень точно сформулированы, но в нём есть и заблуждения. Давайте для начала рассмотрим КМФИ и вопрос его происхождения в далёком прошлом.


Читать дальше →

Логика сознания. Вступление

Reading time8 min
Views113K
image В свое время на Хабре был опубликован цикл статей «Логика мышления». С тех пор прошло два года. За это время удалось сильно продвинуться вперед в понимании того, как работает мозг и получить интересные результаты моделирования. В новом цикле «Логика сознания» я опишу текущее состоянии наших исследований, ну а попутно попытаюсь рассказать о теориях и моделях интересных для тех, кто хочет разобраться в биологии естественного мозга и понять принципы построения искусственного интеллекта.

Перед началом хотелось бы сделать несколько замечаний, которые будет полезно помнить во время чтения всех последующих статей.

Ситуация, связанная с изучением мозга, особенная для науки. Во всех остальных областях естествознания есть базовые теории. Они составляют фундамент на котором строятся все последующие рассуждения. И только в нейронауке до сих пор нет ни одной теории, которая хоть как-то объясняла, как в нейронных структурах мозга протекают информационные процессы. При этом накоплен огромный объем знаний о физиологии мозга. Получены очень обнадеживающие результаты с помощью искусственных нейронных сетей. Но перекинуть мостик от одного к другому, пока, не удается. То, что известно о биологических нейронных сетях очень плохо соотносится с созданными на сегодня архитектурами искусственных нейронных сетей.

Не должна вводить в заблуждение распространенная фраза о том, что многие идеи искусственных нейронных сетей позаимствованы из исследований реального мозга. Заимствование носит слишком общий характер. По большому счету, оно заканчивается на том, что и там и там есть нейроны и между этими нейронами есть связи.
Читать дальше →

Спросите Итана №83: что, если тёмная энергия не настоящая?

Reading time7 min
Views22K
Если наши "стандартные свечи" окажутся не очень стандартными, останется ли тёмная энергия?


Одни: «Мир кончится в огне!»
-«Нет, — сгубит лёд!»
Коль страсти пыл известен мне,
Я б предпочёл гореть в огне.
Но если дважды гибель ждёт,
Сколь хрупок мир, могу понять,
Познавши ненависти лёд:
Чтоб мир сломать
И лёд сойдёт.
— Роберт Фрост


Периодически в науке происходят потрясающие открытия, навсегда меняющие наше представление о Вселенной. В конце 1990-х наблюдения удалённых сверхновых чётко показали, что Вселенная не просто расширяется, но что удалённые галактики увеличивают скорость убегания от нас. Это открытие, удостоенное Нобелевской премии, рассказало нам о судьбе нашей Вселенной. Но среди ваших вопросов на этой неделе есть вопрос от Жуана Карлоса, упомянувшего новое исследование, и задавшего вопрос по его поводу:
Я тут прочитал статью на Eurekalert и подумал, что и вам тоже нужно её прочесть. Не могу дождаться ваших комментариев о ней.


Статья была написана по пресс-релизу Аризонского университета – я был там постдоком всего несколько лет назад. В ней говорится следующее:
Читать дальше →

Необъятные масштабы бытия. Часть 1. Межпланетные дали

Reading time11 min
Views33K


Человек издревле пытался понять устройство окружающего его мира и найти свое место в нем. Упорство и изобретательность его разума в течение тысяч лет приближали человека к объективному пониманию мира вопреки закрепленному культурой субъективному (не редко ложному) восприятию. Одной из первых задач к достижению этих целей является определение масштабов окружающего нас мира.

В данном обзоре я ознакомлю вас с историей постижения человеком масштабов мироздания с эпохи изобретательных греков и до современной эры высоких технологий. Вы узнаете, почему «плоская Земля на трех китах» вызывала смех еще у древних римлян, как современники короля-солнце определили межпланетные расстояния и каким образом космические катаклизмы помогают постигать вселенские масштабы.
Читать дальше →

Простейший физический движок

Reading time4 min
Views65K
Вас интересуют игры? Хотите создать игру но не знаете с чего начать? Тогда вам сюда. В этой статье я рассмотрю простейший физический движок, с построения которого можно начать свой путь в GameDev'e. И да, движок будем писать с нуля.
Читать дальше →

Information

Rating
8,081-st
Registered
Activity