Чтобы добавлять сообщения и комментарии, .

@OCTAGRAM:
OCTAGRAM

Всемирный Банк берет под контроль всю пресную воду планеты
Начитались, похоже, Дюн, Чиполлино и Беляевых, теперь воплощают

@OCTAGRAM:
OCTAGRAM

Начинает проясняться, как закольцовывать гиперболические плоскости и пространства. Пишут об этом, например, тут и тут. Пишут, что quotienting аналогичен тору, но представить это тяжело, поскольку числа у них получаются гигантские. Охватить разумом стыковку сотни тысяч клеток сложно, а меньше этого зациклить не получится. Глядя на {5,4}, хочется состыковать по прямым линиям, но с одной стороны прямая, а с противоположной — две пересекающиеся. Где здесь тор?

Проблема первая, — это то, что в вершинах сходится нечётное количество сторон, и нет явных прямых. Если есть явная прямая, то она делит гиперболическую плоскость на две части, и можно просто закрыть одну половину и не думать, как там ведут себя соседи соседей. Очень просто они себя ведут. Либо это соседи соседей на том участке, который просчитан перебором, либо прошло через прямую, и она как зеркало, там, по ту сторону всё аналогично.
Проблема вторая, — это то, что количество сторон многоугольников нечётное. Из-за этого нельзя пристыковать одну сторону к противоположной, как в торе. А если взять два пятиугольника, то сторон получается 6, но у противоположных сторон разная длина. И только если взять четыре пятиугольника, образующие вместе восьмиугольник, только тогда можно разглядеть тор.

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

Если для обычного тора состыковать несколько его основ, например, из четырёх квадратов сделать квадрат больше, это основа для тора побольше. В гиперболическом пространстве примерно так же, только у тора ещё увеличивается количество дырок. И так, стыкуя основы тора с малым количеством дырок вместе и получая основы торов с большим количеством дырок, можно ввести иерархическую разметку на гиперболических плоскостях и полях, впрочем, тут, возможно, я что-то упускаю. Как я понимаю, основы торов стыкуются более предсказуемым образом по сравнению с «нехорошими» многоугольниками.

@OCTAGRAM:
OCTAGRAM

Всё думал, как можно в космическом симуляторе сделать горизонт пространства Лобачевского. Может быть, пожертвовать реализмом (оставить без ответа вопрос, как оно так чётко выстроилось?) в пользу зрелищности. Горизонт пространства Лобачевского ведёт себя способом, очень похожим на масштабирование, и так я прихожу к идее сделать его фракталом. Во фракталах — самоподобие, а в пространстве Лобачевского — трансляция. Предположительно, так будет интересно находиться во всех точках пространства.

Аналогия, конечно, не полна. Если не делать выделенное направление, в пространстве Лобачевского лететь-то можно в любую сторону, и горизонт впереди будет разъезжаться, обтекать вокруг и сжиматься сзади. Вот и как тут сделать снежинку Коха или остров Госпера? Они дружат с масштабированием, но не с проективной геометрией.

Некоторую подсказку тут дают некомпактные замощения правильными многогранниками. Это когда многогранник уходит за горизонт во Вселенную де Ситтера, например, так. Видите, в горизонте есть что-то фрактальное. Другие некомпактные замощения часто изображаются только горизонтом: тут, тут или тут. И там в аккурат вместо масштабирования, как в обычных фракталах, — трансляция. Правда, в таком виде, как тут, это не со всех точек выглядит зрелищно, поскольку у многогранников есть полости, и если в них залететь и лететь, лететь и лететь, то всё некомпактное замощение сожмётся в малую точку на горизонте, и будет видно только пустоту.

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

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

@OCTAGRAM:
OCTAGRAM

pp.userapi.com

@OCTAGRAM:
OCTAGRAM

При помощи avconv разделил avi на один wav и кучу bmp, загнал в MathCAD, там нетривиально обработал, получил другую кучу bmp, склеил avconv обратно.

Вообще, задумка была в том, чтобы смоделировать подлинную поддержку стерео в операционной системе или хотя бы телевизоре/ТВ-приставке. Я хотел заснять скринкаст, как я меняю размеры окна плеера, и там подставить отмасштабированную стереокартинку, как оно должно быть при той поддержке, как я хочу. А как я хочу — это чтобы инвариантом были точки на горизонте, а не на поверхности, как это обычно делается (по моему мнению, неправильно) в тех стерео 3D плеерах, что я видел. А если можно это делать, то в UI гипотетического телевизора можно показывать в ряд корректно уменьшенные каналы.

Также в стерео 3D можно физически корректно вращать картинку вокруг горизонтальной оси. И это тоже можно применить в UI, сделав Coverflow, как в iTunes, но вертикальный. Ещё подумал на тему некоторых физически некорректных операциях, которые, тем не менее, могут быть корректны в стерео. Coverflow-то по-хорошему горизонтальный! И места по горизонтали больше. Может быть, вместо честного поворота по горизонтали, который для стерео невозможен, сделать такое подобие «поворота», чтобы по горизонтали пиксели нелинейно сжимались/разжимались, а по вертикали оставались нетронутыми, а потом обрезать лишнее и вписать в рамку. Насколько это будет выглядеть естественно? Может быть достаточно, чтобы реализовать в реальном ТВ.

В качестве сырья выбрал Duke Nukem 3D, только не в режиме анаглиф, а в режиме Crystal Eyes VR. Пожалел потом об этом. Вообще, хотелось записать Дюка в цветном стерео 3D, для зрелищности, но геморроя получилось прилично. В анаглифе Duke Nukem 3D кадры по сути в 16 градациях серого, но зато они синхронны, а в Crystal Eyes VR они чередуются. Захватывал DOSBox'ом, он захватил в 61fps всяких разных кадров, но из них много бракованных, когда одна половина кадра отрисована, а другая — нет. И сами кадры для левого и правого глаз меняются по очереди где-то с частотой 21 кадр в секунду (то есть, 10fps в одном ракурсе), при этом то один, то другой отстаёт от другого, и смотреть на отдельные кадры тяжело, они не сходятся, но в движении получается ещё терпимо. Пока больше всего времени потратил именно на преобразование кривых 61fps в нормальные 24fps так, чтобы отслеживать не изменившиеся кадры, браковать плохие, и из оставшихся хороших делать по возможности когерентное видео. До поворотов дело так и не дошло.

@OCTAGRAM:
OCTAGRAM

Захват и отображение в VR сферического светового поля.
Обратите внимание на отражение небоскрёба в окне слева, когда оператор качает головой.
Пленоптические окна, стены и решётки из них. В оригинале — «голографические пиксели», звучит не очень. Рендерят сцену с кучей деталей в высоком качестве в решётку светового поля, получают гигантский объём данных, зато после этого можно быстро крутить сцену со всех сторон, смотреть, что получается. Некоторые вещи можно предварительно отрендерить дополнительными слоями, чтоб потом по щелчку ставить/убирать. Kак я понимаю, это нечто вроде дополнительных каналов после ARGB. Например, статическое освещение и объекты.
Объём данных там гигантский. Походит для фильмов и игр следующего поколения с потрясающей кинематографичностью, где обычные видеокарты не справляются, зато есть подходящий жёсткий диск.
Пленоптические дисплеи — 3D без очков — говорят, для хорошего ощущения 3D им хватает 16 ракурсов (4x4)

Теперь перейдём к ещё более бюджетным решениям. С точки зрения физики, стереопанорама (VR панорама, 3D стерео 360°) — это разрыв шаблона. Либо 360° из одной точки, либо 3D стерео из двух точек, либо 4D световое поле из двухмерной поверхности. А 3D стерео 360° — это вообще как? А это хак. Делаются отдельные ракурсы, чем больше, тем лучше, потом швы склеиваются. И этот хакерский формат даже поддерживается в YouTube.

Летсплееры экспериментировали с VR, но это ощущение так и осталось только у них. Если у зрителя тоже есть шлем VR, хотя бы Cardboard, то тогда ещё можно залить стерео, но это очень некомфортно, — видеть движения не своей головы, и оптика аппаратуры отличается. Зато если отрендерить стереопанораму, то с некоторой потерей свободы движений можно-таки погрузиться в мир чужого прохождения. Вот, как это делается в Unity.

От себя добавлю, что это может быть интересно, даже если не под запись. VR страдает от плохого качества картинки из-за требования делать 60fps в оба глаза. Особенно, как я понимаю, страдает платформа PlayStation VR. Отказавшись от возможности покачивать головой и видеть объём на полу и потолке, можно взамен повысить качество графики. Рендерим стереопанораму в низком fps, потом на её основе рендерим VR в высоком. Также можно в таком режиме играть на маломощных ПК.

@OCTAGRAM:
OCTAGRAM

Движение по инерции в эллиптическом пространстве создаёт инерциальную силу, сдавливающую объект в стержень. Однако, как выясняется, объект может полностью отменить действие этой силы, вращаясь с той же частотой, что и двигается в пространстве. Траектории всех деталей объекта образуют фрагмент расслоения Хопфа и являются геодезическими линиями. Кроме того, длина полного пути по любой такой траектории одинакова, поэтому вперёд или назад их тоже не тянет. Расслоение Хопфа при таком движении переходит само в себя. По всем признакам такой объект не должен чувствовать движения.

Напрашивается идея о том, что синхронное движение + вращение — это вообще универсальная операция, то есть, её можно применить к пространству-времени без видимых изменений, и тогда можно утверждать, что нет выделенной системы отсчёта. Однако, похоже, без дополнительных модификаций это не так. Если внутрь одного объекта, закрученного в одну сторону поместить объект, закрученный в другую сторону, они оба отменят для себя силы инерции, но с точки зрения внешнего внутренний вращается вдвое быстро и не чувствует инерции, а в покоящейся системе отсчёта быстро вращающийся объект будет разрываться силами инерции.

Пока что единственный известный мне способ получить симметричное пространство-время с эллиптическим пространством — это Вселенная де Ситтера.

@OCTAGRAM:
OCTAGRAM

id Tech 4 / Doom 3 Is Being Rewritten In Ada

@OCTAGRAM:
OCTAGRAM

Заходил сегодня в сыроедческий магазин. Продают они кучу разных вариаций масел, и вот заинтересовало меня, почему животный жир заменить пальмовым маслом — этого хоть завались, а вот просто так взять — нет. Я готовлю с оливковым маслом, кунжутным, рыжиковым, горчичным, у «Компаса Здоровья» ещё комбинации льняного масла с экстрактами чеснока, черники и всякого разного есть. Почему бы в следующий раз не масляничная пальма? Казалось бы.

Говорят, они нашли, но цена была не интересной. Удешевить «молокосодержащие» и «творожные» продукты таким маслом не получится, а то, что на самом деле вбухивают в эти продукты, — это тогда что? Почему это нечто принято считать «пальмовым маслом», ещё большой вопрос. Излишне успокаивающее название.

@OCTAGRAM:
OCTAGRAM

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

Была мысль, что надо как-то замостить плоскость или пространство правильными многоугольниками или многогранниками, и внутри многогранников ввести координаты с плавающей точкой, а сами многоугольники/многогранники идентифицировать строками, длина которых растёт в зависимости от удалённости. И даже можно понять, как это сделать. Вводим на плоскости две матрицы поворота, одна — поворот вокруг начала координат (в пространстве нужно два поворота), другая — перемещение вдоль одной из осей вперёд так, чтобы начало координат перешло в соседнюю ячейку. Произведения этих матриц вида ABBBABBAB — это и есть искомые строки. В этой схеме получаются синонимы, в одну и ту же ячейку можно добраться разными путями. В тех гиперболических играх, что я видел, перебираются разные варианты в пределах некоторого удаления, полученные координаты сравниваются, погрешность не успевает стать значительной, и потом составляется карта всех ячеек. Каким-то образом, пишут, что похоже на тор, но мне пока не понятно, кусок плоскости замыкается на себя, и так получается замкнутое пространство, где все такие ячейки просто пронумерованы. Недостаток — малые линейные размеры. Что-то порядка миллиона ячеек при радиусе 13 получается, и чем больше радиус, тем хуже.

Вот этот скромный радиус и смущает. Если я, допустим, хочу делать не лабиринт, не судоку и не RPG, где нужно держать в памяти игровое поле, а что-нибудь космическое, мне какие координаты применять лучше? Долго напрашивался вариант с бесконечноугольниками. Они похожи на деревья, а пути в деревьях похожи на строки. То есть, если в каждой точке сходятся три стороны бесконечноугольников, на каждом шаге можно пойти направо или налево, и это можно описать битовой строкой, а дальше, добравшись до одной из сторон бесконечноугольника, можно двумя вещественными числами указать оставшиеся координаты. И из одной точки, заданной такими координатами, можно добраться до другой по примерно понятной схеме. Если они достаточно далеко, то с большой точностью разность путей по деревьям и будет указывать на кратчайший путь. Когда корабль пролетает мимо объектов, можно точно показывать направление и расстояние до них. Но по большому счёту офигеть можно всё это делать, тем более, если в 3D.

Какое-то время поразмышляв, начал приходить к мысли, что координаты из модели гиперболоида не так уж плохи, если запахать для них длинную арифметику. При радиусе 13 количество ячеек — миллион и с увеличением радиуса растёт по экспоненте, а количество операций для умножения таких длинных чисел растёт всего лишь квадратично. Радиус окружности на модельном гиперболоиде в аккурат совпадает с радиусом окружности в пространстве, и если на разных удалениях поддерживать одинаковое разрешение координат (без плавающей точки), то и гиперболическое пространство на удалении будет иметь примерно такое же разрешение, как и в начале координат. Меня смущало то, что при этом на удалении ещё и радиус начинает иметь экспоненциально хорошее разрешение, что некрасиво, несимметрично и выглядит как что-то лишнее. А теперь я ещё об этом подумал, и решил, что зато становится понятно, как делать все операции. На практике может оказаться, что на удалении надо наращивать память для хранения чисел в обе стороны от точки. Всё равно тогда рост квадратичный.

@OCTAGRAM:
OCTAGRAM

Мифы про виртуальные частицы:
The Vacuum Fluctuation Myth
The Physics of Virtual Particles
Misconceptions about Virtual Particles
Vacuum Fluctuations in Experimental Practice

@OCTAGRAM:
OCTAGRAM

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

Занимается человек саморазвитием. Администрирование Линукса осваивает. Идеями безопасного программирования проникся, даже учителя ищет. С головой в учёбу ушёл, некогда ответить.

@OCTAGRAM:
OCTAGRAM

Пытаюсь запустить Continuation Passing C
cpc.native.exe завершается с ошибкой: Программа "cpc.native.exe" не работает. Возникшая проблема привела к прекращению работы программы. Windows закроет эту программу, а если есть известный способ устранения проблемы, уведомит вас об этом.
cpc.byte.exe создаёт файл, который его просят, но виснет.

Почему-то типично для всяких Аллегро Лиспов и Окамлей

@OCTAGRAM:
OCTAGRAM

Китайцы перестали издеваться над иностранцами требованием нестандартной справки
Теперь у «Physical Examination Record for Foreigner» стоит Mandatory — NO! Правда, проверить не могу. У меня уже заявка отправлена, и этот раздел схлопнут.

@OCTAGRAM:
OCTAGRAM

О русском гимне и других темах
С гимнами и в самом деле что-то непростое случается в последнее время

@OCTAGRAM:
OCTAGRAM

Обнаружил у «Русского мира» теле- и радиоканалы. Подумал, а что, интересное дополнение к Russia Today Документальному может быть. Послушал, и уши начали сворачиваться в трубочку.
В эфире попалась в записи программа «Десятая муза: кинокритика как образ жизни».
На 10й минуте гость Егор Москвитин рекомендует второй хороший фильм «Хороший мальчик». Думаю, ну ни хрена себе вы какую гниль в гости привели. Неужели правда тот самый «Хороший мальчик»? Значит, с Константином Хабенским, говорите. Да, тот самый.

Это ведь иностранцы, которые интересуются Россией, идеями справедливости и русского мира, именно в «Русский мир» пойдут. И там их встретят вот такие вот кинокритики. Мне за то, что свои процессоры еле начинаем производить, так не стыдно, как за такой «Русский мир».

@OCTAGRAM:
OCTAGRAM

Сделайте так, чтобы ваши друзья вас узнавали.
В отрыве от контекста звучит очень забавно

@OCTAGRAM:
OCTAGRAM

Перекидываю в Китай видео из youTube в WeChat. Всмотревшись в список форматов, узнал, что, оказывается, формат 22 — это не то же самое, что 136+140. В 140 аудио 128Кбит/сек, а в 22 — 192Кбит/сек. А других вариантов получить 192Кбит/сек m4a нету. Опа-на!

В моём текущем случае видео хочется, но не так, чтобы очень, а аудио можно и получше, поэтому беру видео в формате 160+22. То есть, качаем здоровенный файл 1280x720, видеодорожку выбрасываем нафиг и подставляем 256x144. Получается 300Кбит/сек файл, из которых 192Кбит/сек — аудио, 112Кбит/сек — видео.

@OCTAGRAM:
OCTAGRAM

Страницы истории отечественных ИТ
Книга «Страницы истории отечественных ИТ» – совместный некоммерческий проект группы компаний АйТи и «Виртуального компьютерного музея». 
Эта книга о тех, кто в 1940-1980 гг. закладывал основы отечественной информатики и вычислительной техники, о тех, кто стоял у истоков сегодняшнего российского рынка информационных технологий, о тех, кто создавал первые советские ЭВМ и уникальные информационные системы.

И видео (не связанное с конкретными книгами): Российские Процессоры — история развития

@OCTAGRAM:
OCTAGRAM

Смотрел одного летсплеера, он играл, играл, и тут у него игра вылетела. И прямо такое неподдельное удивление. Игра на консоли — и вылетает! Ну надо же, какой нежданчик! И у яблочников такое удивление встречал. Надо же, на Макосе программы тоже глючат и падают! И на Линуксе, представьте себе. Уж их собирали-собирали, в репозитории пакетов отправляли-отправляли. Как только над ними ни колдовали, какой только хренью, кроме того, что действительно поможет, ни занимались, а они всё равно падают и глючат.

Пользователей пека через уязвимости в программах, написанных на C и C++, имеют в хвост и в гриву двадцать лет, и всем плевать. А что, на игровых консолях в ходу какие-то другие языки разработки? Или, может, на Макинтошах Objective-C штурмует высоты безопасной разработки, конкурируя с Ada, Cyclone и Rust? Я что-то не слышал таких новостей. Так откуда эти завышенные ожидания? Можно только поздравить маркетологов, которые продают консоли и макинтоши как будто это философский камень, на котором программы на C и C++ чудесным образом начинают работать как-то не так, как обычно.