Pull to refresh
78
0

Пользователь

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

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



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

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

NASA выпустила браузерное 3D приложение “Eyes on the Solar System”

Reading time 1 min
Views 3.1K


Вероятно, большинство хабражителей поняло, о чем идет речь, уже после прочтения названия программы. Действительно NASA выпустила браузерное приложение, показывающее трехмерную модель нашей Солнечной системы. При желании вы можете переместиться в любую точку модели, если любопытно видеть, что же находится в определенной точке пространства. Кроме того, приложение позволяет и «ускорять» время, наблюдая за движением планет, их спутников и искусственных объектов, созданных человеком.

Читать дальше →
Total votes 42: ↑41 and ↓1 +40
Comments 33

Linaro анонсировала дешевую плату для opensource разработчиков

Reading time 1 min
Views 1.2K


Плата основывается на процессоре Exynos 4210 от samsung, который является двухядерным процессором arm cortex-a9.
На борту присутствуют 1Gb оперативки ddr3, HDMI выход, usb2.0, wifi, bluetooth, sd слот, коннекторы для камеры и lcd экрана и пр.
Заявленная стоимость устройства 199$, время openmoko resurrection?

UPD1: ссылка на заказ платы, описание и цены, спасибо Myp.
UPD2: Заявлена поддержка hd 1080.
UPD3: Хороший конкурент pandaboard, спасибо rule.
Total votes 65: ↑60 and ↓5 +55
Comments 56

Расписание выхода статей на Хабре (на любую неделю)

Reading time 2 min
Views 22K
Понедельник
  • Новости: ученые изобрели машину времени, вышел новый ноутбук толщиной 80 нанометров, Google покупает Microsoft, Facebook увольняет 1000 программистов.
  • Вылез стартап. Попиарился, лёг под хабраэффектом, встал, собрал замечания, поблагодарил, пропал навсегда.
  • Вышла новая версия третьего слева линукса. Качать срочно.
  • Я негодую — счет за телефон оператор округлил до кратности числу Пи.

Вторник
  • Опровержение новостей: ученые изобрели всего-лишь более точные часы, 80 нанометров — это техпроцесс, а не толщина ноутбука, Google покупает какой-то стартап, который отказался купить Microsoft, Facebook набирает 5000 программистов.
  • Начало холивара, модного на этой неделе (чай vs кофе, бинокль vs подзорная труба, черное vs белое)
  • Очень важный технический ресурс (ЖЖ, порнолаб, Sony Network) взломан (заДДОСен, конфискован УБОПом). Паника и отчаяние.

Читать дальше →
Total votes 432: ↑418 and ↓14 +404
Comments 57

Как не вытоптать дорожки в парке

Reading time 4 min
Views 1.5K

Размышления о движении, или за что страдают газоны


image
Эта статья-приглашение к обсуждению. Я уверен, что есть профессионалы в этой области и они могут сказать что-то интересное. Я же даю свой взгляд на проблему с точки зрения дилетанта и моя основная цель – напомнить читателям о том, что многие аспекты психики человека неявным образом влияют на мир вокруг нас.

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

Давайте с этим разберемся.
Читать дальше →
Total votes 33: ↑31 and ↓2 +29
Comments 23

Атипичные клавиатуры

Reading time 7 min
Views 17K
Говорят, что обычная QWERTY-клавиатура была изобретена с целью уменьшить скорость набора, потому что у слишком быстрых машинистов первые машинки клинили. Не знаю, сколько в этом утверждении правды, но то, что раскладка далеко не идеальна — факт. Факт также то, что разрабатывалась она для печати десятью пальцами на больших клавишах размещенных в три ряда.

В неизменном виде она перекочевала на электрические пишущие машинки, а затем и на компьютерные клавиатуры, где все стало ещё удобнее — теперь клавиши срабатывали от легкого нажимания, и по ним не приходилось лупить со всей дури.
Все было бы просто отлично, если бы не страсть к минимизации. Ноутбуки, нетбуки, классические смартфоны (не «тачфоны») — QWERTY-клавиатура стремительно уменьшалась в размерах, сохраняя при том свою сущность. Для некоторых таких творений впору вести набор спичками. Были и неплохие инженерные решения — например на Sony-Ericsson M600i клавиши-качели содержали по две-четыре символа, и они выбирались в зависимости от способа нажима.

Но когда это добро перекочевало на экраны… возьмем в качестве образца айфон(да, исторически первым [массовым] тачфоном все-таки было яблоко): три с половиной дюйма диагонали, отношение сторон — 2:3. Кто помнит теорему Пифагора, какова ширина экрана?
x² + (3x/2)² = 3,5²
x² = 49/13
x ≈ 1,94" ≈ 49,3мм.
Итак, ширина экрана — меньше 5 сантиметров. В ряду — 10 клавиш. Получается — около 5 мм на клавишу, и это включая промежутки между ними. Не знаю как у вас, а меня пальцы ощутимо шире, да и печатать на приборе таких размеров я могу только одним, ну максимум двумя большими пальцами одновременно. Ну не могу я печатать на ЭТОМ, при всей его умности! Хватит обратной совместимости! Я печатать вслепую научился за неделю, так дайте мне клавиатуру, где не придется целится в клавиши! Я её изучу! Я хочу комфортно и быстро печатать!

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

Их я и попытаюсь сегодня осмотреть.
Читать дальше →
Total votes 161: ↑148 and ↓13 +135
Comments 157

ПО для взаимодействия ПК и смартфона

Reading time 7 min
Views 435K
С момента покупки смарта на Android меня заинтересовало его функциональное наполнение. На практике оказалось, что Android способен выполнять практически любую задачу, решаемую на обычном ПK, только медленнее и не всегда удобнее. Зато дополняет ПК он прекрасно, и механизмов использования возможностей смарта на ПК и возможностей ПК на смарте — уйма.

Статья ориентирована в основном на формирующихся и будущих пользователей Android-смартфонов; надеюсь, что продвинутые пользователи также найдут в ней что-то новое и/или внесут свою лепту. Под катом по пунктам, в вопрос-ответном стиле.
Читать дальше →
Total votes 136: ↑127 and ↓9 +118
Comments 60

И снова про сортировки: выбираем лучший алгоритм

Reading time 9 min
Views 143K
Недавно на хабре в очередной подняли тему алгоритмов сортировки, а именно был хорошо описан метод Timsort.

Он, имея сложность не более O(n log n), ускоряется в случае сортировки частично упорядоченных данных и имеет сложность O(n), если данные изначально отсортированны. Но это не единственный алгоритм с такими заявленными свойствами. Существует еще как минимум два более-менее известных метода с похожей сложностью — это Smoothsort и сортировка Шелла.

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

Читать дальше →
Total votes 117: ↑114 and ↓3 +111
Comments 32

Влияние сохранение и загрузки игрового состояния на игровой процесс

Reading time 5 min
Views 7.1K

Введение


Несмотря на то, что функция сохранения (save) и загрузки (load) игрового состояния (game state) относится скорее к системному функционалу, в определённых случаях их можно рассматривать и в разрезе игрового дизайна, как влияющие на механику игрового процесса.

Главное, что можно сказать об этих функциях это то, что они непосредственно влияют на способности принимать правильные решения, без получения штрафов (penalties). В полной мере контролируя эти функции игрок может идеально пройти всю игру, не получив ни одного повреждения, ни потеряв ни одной жизни, копейки денег и тому подобное. Таким образом можно сказать, что сохранение и загрузка влияют как на сложность, нивелируя все опасности и штрафы, так и на эффективность, если игра ведётся на время и состояние времени также сохраняется и восстанавливается.

Кроме того, сохранение и загрузка позволяет в принципе избежать такого состояния как проигрыш (game over). Имеется ввиду, конечно, не проваленная попытка, а невозможность выиграть, не начиная сначала. От смерти в результате падения в яму сохранение и загрузка не спасают.
Читать дальше →
Total votes 66: ↑52 and ↓14 +38
Comments 51

Учимся считать в hex, или реверс-инженеринг будильника

Reading time 13 min
Views 53K

Введение


Недавно у меня появилась мысль научиться считать в шестнадцатеричной системе счисления. Так как я человек ленивый, такие способы, как выучить таблицу умножения меня не устраивали. Немного поразмыслив, я вспомнил, что каждое утро решаю (иногда несколько раз) несложный пример, чтобы отключить будильник. Помогает слабо, со временем я начал решать почти не просыпаясь. Так почему бы не совместить полезное с полезным?
Осталось выбрать способ реализации. Так как я не имею не малейшего представления о разработке под андроид (да и вообще с Java не сильно знаком), да и писать свое приложение ради такой мелочи — это стрельба из пушки по воробьям, было решено модифицировать уже имеющийся будильник.

Под катом вы найдете описание инструментов, процесса и результата перевода примера в hex. А также объяснение синтаксиса smali кода (язык опкодов для виртуальной машины dalvik). Картинок почти нет, буков много.
Читать дальше →
Total votes 77: ↑74 and ↓3 +71
Comments 20

ICQ включает интеграцию с Gtalk в официальном клиенте

Reading time 1 min
Views 1.6K
Тихо и незаметно вышла новая версия ICQ под номером 7.6
И вроде бы всем уже все равно. Помянули, перезахоронили, но на официальном сайте теперь новый классный постер.
ICQ
И задорная реклама предлагает нынче оставаться на связи не только с друзьями из ICQ, но и из facebook (ожидаемо) и из Gtalk (неожиданно).
Более того, если обратиться к официальной справке www.icq.com/download/icq/knownissues/ru то выясняется, что аналогичный функционал нынче наличествует в версиях для iOS и Android.
Надеюсь, что умелые руки выяснят в скором времени, через какое место осуществляется интеграция между ICQ и Gtalk и про аську можно будет окончательно забывать, не опасаясь потерять старые контакты из нее.
Total votes 47: ↑39 and ↓8 +31
Comments 121

Нечеткая логика на практике

Reading time 5 min
Views 137K
Стандартная статья о нечеткой логике обычно грешит двумя вещами:

  1. В 99% случаев статья касается исключительно применения нечеткой логики в контексте нечетких множеств, а точнее нечеткого вывода, а еще точнее алгоритма Мамдани. Складывается впечатление, что только этим способом нечеткая логика может быть применена, однако это не так.
  2. Почти всегда статья написана на математическом языке. Замечательно, но программисты пользуются другим языком с другими обозначениями. Поэтому оказывается, что статья просто непонятна тем, кому, казалось бы, должна быть полезна.

Все это грустно, потому что нечеткая логика — это одно из величайших достижений математики XX-ого века, если критерием брать практическую пользу. В этой статье я попытаюсь показать, насколько это простой и мощный инструмент программирования — настолько же простой, но гораздо более мощный, чем система обычных логических операций.
Читать дальше →
Total votes 64: ↑60 and ↓4 +56
Comments 38

Пишем игру для Android c помощью AndEngine. Часть 3

Reading time 4 min
Views 16K
Всем привет!
Вот и долгоданное продолжение цикла статей о том как создать для андроид не очень простую игру с помощью AndEngine.

Уже ознакомились с предыдущими статьями?
Часть 1
Часть 2
Тогда продолжим.
Читать дальше →
Total votes 28: ↑23 and ↓5 +18
Comments 4

Почему девушки не играют в видео игры?

Reading time 11 min
Views 44K
Хотела написать что-то умное, но потом решила схалявить, так что поговорим вот о чём — почему же у нас девушки не играют в компьютерные игры? Нет, некоторые, конечно, могут и сильному полу фору дать в какой-нибудь стрелялке. Но чаще всего это не так. Девушка самозабвено и с предвкушением выбирающая в магазине очередной шутер, или пусть даже РПГ, или вообще какую-то игру — редкое зрелище. Почему?
Мне вот как-то говорили даже, что был такой доклад на КРИ — почему девушки не играют. Сказали, доклад был странный, и какой-то феминистически настроенный, с главным месседжем — девушки не играют потому, что игры делают тупые мужики. Ну это со слов очевидцев, сама я не берусь утверждать, был ли доклад плох или хорош — не присутсвовала.
И всё же подумалось, а кстати, почему не играют? Так я стала раскладывать всё по полочкам, и вырисовалась такая картинка.

Читать дальше →
Total votes 227: ↑192 and ↓35 +157
Comments 158

Женщины и игры. Ключевые моменты

Reading time 6 min
Views 17K
Голая баба. Шутка :)Основной характеристикой игрового продукта является охват аудитории, чем он больше, тем больше потенциальная возможность получить высокие прибыли. Долгое время игровой аудиторией были мужчины, но время идёт и теперь взоры разработчиков игр направлены на перспективную женскую аудиторию.

В этой статье я расскажу о своих наблюдениях и исследованиях женской психологии применительно к играм, будут выделены ключевые моменты и опровергнуты некоторые предубеждения.
Читать дальше →
Total votes 85: ↑74 and ↓11 +63
Comments 80

Почему девушки все же играют в видеоигры

Reading time 3 min
Views 12K
На самом деле девушки не так уж и мало играют в видеоигры. Попробую опровергнуть некоторые высказывания из топика и привести примеры игр, в которые активно играют девушки.

Капитан Очевидность
В школе разделение по половому признаку может и работает, но чем старше становятся девушки, тем меньше это разделение. Кто-то выбирает «мужские» профессии, кто-то разочаровывается в мужчинах, кого-то просто реальность привлекает все меньше и меньше. Женщины, которые, не первый год в браке довольно часто подаются в компьютерные игры чтобы просто разнообразить свой досуг.
Читать дальше →
Total votes 94: ↑67 and ↓27 +40
Comments 45

EchoPrint — открытая система распознавания музыки

Reading time 4 min
Views 247K
Наверняка многие из вас слышали и знают про системы идентификации музыки вроде TrackID, Shazam, MusicBrainz или онлайновой Audiotag.info, позволяющие по записанному отрывку песни узнать ее название. Все они в достаточной степени хороши, но имеют общий недостаток — закрытый код и, соответственно, ограниченную сферу применения. TrackID вы можете использовать только на телефонах Sony Ericsson, Shazam — тоже только на телефонах, хотя и на более обширном списке платформ, а Music Brainz вообще неясно, работает ли вообще.

Ребята же из компании Echo Nest, решили, что распознавание музыки должно быть таким же доступным миру явлением, как электронная почта или DNS :), и выпустили своё детище полностью под MIT License. А детище, надо сказать, у них очень серьёзное — еще бы, если основателями компании являются доктора наук из MIT Media Lab .

Тот зверьфункционал, который они выпустили на свободу, не ограничивается только распознаванием музыки по записанному отрывку, но и позволяет делать такие вещи, как поиски дубликатов музыки, массовое распознавание и заполнение тэгов в музыкальных коллекциях, проверка аудио/видео на содержание того или иного материала, синхронизация коллекций из различных музыкальных пространств (iTunes <-> Last.fm <-> Spotify, например) и много чего еще.

Подробнее
Total votes 89: ↑87 and ↓2 +85
Comments 37

Пишем игру для Android c помощью AndEngine. Часть 2

Reading time 6 min
Views 11K
Всем привет!
Как и обещал, вторая часть статьи.
Во избежание недопонимания, перед прочтением ознакомьтесь с первой частью статьи.
Уже ознакомились? Тогда добро пожаловать под кат где я познакомлю читателя с игровыми объектами.
Читать дальше →
Total votes 37: ↑34 and ↓3 +31
Comments 4

Это должен знать каждый

Reading time 3 min
Views 82K
Спрос на Android-разработчиков весьма велик сейчас. Я решил подготовить список того, что нужно знать каждому разработчику под эту платформу. Это не только то, что вас могут спросить на собседовании, а весь спектр знаний, который скорее всего пригодится в работе. Бонусом идет пара интерсных вопросов про платформу.
Читать дальше →
Total votes 139: ↑124 and ↓15 +109
Comments 21
1

Information

Rating
Does not participate
Location
Зеленоград, Москва и Московская обл., Россия
Date of birth
Registered
Activity