Matrices can be your friends (2002)
Матрицы — это мощный инструмент, а не просто набор чисел. Первые девять элементов матрицы представляют поворот объекта. Например, первые три элемента первой колонки (m[0], m[1], m[2]) — это направление оси X после преобразования. Аналогично, следующие три (m[4], m[5], m[6]) — это новая ось Y, и так далее.
Вместо того чтобы выполнять множество отдельных операций (вращение, масштабирование, перемещение), можно просто применить одну матрицу, которая объединяет все эти преобразования. Это эффективно: один вызов к glMultMatrixf() заменяет множество вызовов других функций.
Например, чтобы повернуть объект на 45 градусов вокруг оси Z и переместить его на 10 единиц по X и Y, можно использовать матрицу, где первые три элемента первых двух столбцов — это косинусы и синусы угла, а последние элементы первого и второго столбца — это координаты перемещения. Это не только проще мысленно, но и эффективнее для процессора.
Таким образом, матрицы — это не просто математическая абстракция, а практический инструмент для эффективного и интуитивного управления преобразованиями в 3D-графике.
Комментарии (87)
- Обсуждение развернулось вокруг того, как именно представлять и обсуждать матрицы: какие обозначения и соглашения используются, как они влияют на понимание и как они связаны с тем, как мы привыкли думать о линейных преобразованиях.
- Участники обсуждали, что в разных областях (математика, компьютерная графика, машинное обучение) используются разные соглашения, что может вызывать путаницу.
- Обсуждались различия между подходами "row-major" и "column-major", а также то, как разные ПО и языки программирования (например, C vs. FORTRAN) влияют на то, как мы представляем и обсуждаем матрицы.
- Также обсудили, что важно различать матрицы как сетку чисел и как линейное преобразование, и как это влияет на то, как мы думаем о таких понятиях как повороты и масштабирование.
SGI demos from long ago in the browser via WASM
Аккаунт sgi-demos на GitHub содержит коллекцию демонстрационных проектов, связанных с графикой и технологиями Silicon Graphics. Эти материалы представляют историческую ценность, демонстрируя передовые для своего времени визуальные эффекты и интерактивные приложения. Многие примеры иллюстрируют ранние достижения в трёхмерной визуализации и компьютерной анимации.
Проекты включают исходный код и исполняемые файлы, что позволяет изучать архитектурные решения и технические подходы 1990-х годов. Сохранение такого наследия важно для понимания эволюции компьютерной графики и вдохновляет современных разработчиков на эксперименты с низкоуровневыми оптимизациями.
Комментарии (60)
- Участники отмечают схожесть интерфейса демо SGI с меню выбора файлов в Super Mario 64 и предполагают историческую связь через партнерство Nintendo и Silicon Graphics.
- Воспоминания о работе с оборудованием SGI (Indy, O2, Octane, Onyx) и различных демо, таких как Flight, jello, bounce, fsn (3D-файловый менеджер), и их влиянии на современные технологии.
- Обсуждение технических аспектов: нестандартное соотношение сторон экранов SGI, использование неквадратных пикселей, проблемы с отображением ссылок и производительностью в браузере.
- Ностальгические истории о розыгрышах с помощью удаленного воспроизведения звука (telnet, команда say) и случайном показе изображений от предыдущих пользователей на SGI O2.
- Упоминание культурного влияния SGI, включая отсылку к фильму "Парк Юрского периода" ("Это же UNIX!") и роль компании в развитии компьютерной графики и игровой индустрии.
Meschers: Geometry Processing of Impossible Objects
Мешеры: геометрия невозможного
Кратко
Невозможные объекты — рисунки, которые мозг воспринимает, но в 3D не существуют. Раньше их «впихивали» в 3D: резали или гнули. Резка портит геометрию, гнутье мешает освещению и ломает алгоритмы (расстояния, диффузия и т.д.).
Мешер — новая сетка: у каждой вершины только 2D-координаты экрана, а у рёбер — разница глубин. Сумма этих разниц по циклу может быть ≠ 0; в этом вся «невозможность». Построено на дискретном внешнем исчислении.
Что умеет
- Сглаживание, диффузия тепла, геодезические расстояния.
- Инверсный рендеринг: из 2D-фото невозможного треугольника восстанавливаем мешер.
- Легко менять освещение, не портя форму.
Демо
Слева — сглаживание 2D-координат, в центре — сглаживание глубин, справа — всё вместе.
Из обычного тора оптимизацией получаем настоящий невозможный Penrose-треугольник.
Код и статья — на сайте проекта.
Комментарии (5)
- Авторы фактически оцифровали «трюки Эшера»: в 3D-модели хранят только x, y и разность z между концами рёбер, вместо полных z-координат.
- Это превращает невозможные геометрии в «возможные» для нашего зрения, обманывая 2.5-D «прошивку» мозга.
- Комментаторы спорят: обман ли это или топологическая, неевклидова интеграция, которую приматье зрение легко переваривает.
Genie 3: A new frontier for world models 🔥 Горячее 💬 Длинная дискуссия
Genie 3 — возможности:
Ниже — записи реальных взаимодействий с Genie 3.
Моделирование физических свойств мира
Передает природные явления (вода, свет) и сложные взаимодействия среды.
- Промпт: Вид от первого лица — робот с шинами едет по вулканическому полю, избегая лавовых луж. Виден дым и потоки лавы, синее небо, вокруг лишь черные скалы.
- Промпт: Вождение гидроцикла во время фестиваля огней.
- Промпт: Прогулка по набережной во Флориде во время шторма: ветер гнет пальмы, волны хлещут через перила, сильный дождь, плащ-дождевик, впереди мост.
- Промпт: Быстрая съемка за медузой в темных глубинах между каньонами с мидиями и крабами; вдали гидротермальные источники с ярко-синим дымом.
- Промпт: Пилот вертолета маневрирует над прибрежным утесом с водопадом.
Симуляция природного мира
Генерирует экосистемы: поведение животных и детальную растительность.
- Промпт: Забег вдоль ледникового озера, лесные тропы, брод через горные ручьи среди заснеженных вершин и сосен, богатая фауна.
- Промпт: Реальная трекинг-съемка: заплыв через темные океанские каньоны среди огромной стаи медуз, биолюминесценция.
- Промпт: Фотореалистичный дзен-сад на рассвете: белый песок с узорами, пруд с лилиями, камни с мхом, каменный фонарь и кэрн, забор из бамбука.
- Промпт: Густая листва с каплями воды и пятнистым светом; влажный, спокойный воздух, мягко размытый фон.
Моделирование анимации и вымысла
Создает фантастические сцены и выразительных персонажей.
- Промпт: Яркий 3D-стиль: пушистое существо с ушами, как у овчарки, мчится по радужному мосту среди парящих островов и светящейся флоры; свет теплый и радостный.
- Промпт: Ящерица в стиле оригами.
- Промпт: Широкий план: зачарованный лес в сумерках; игрок управляет крупной светлячком, пролетающим сквозь крону с пестрой листвой.
Комментарии (481)
- Обсуждение посвящено Genie 3 от Google DeepMind: впечатляющая реалтайм-генерация интерактивных миров (720p) с устойчивостью во времени, но крайне мало технических деталей и доступа для публики.
- Технические спекуляции: возможен видео-генеративный подход с 4x временным даунскейлом в VAE и управляющими сигналами (направление/угол обзора), заметны артефакты (скачки текстур, проблемы с текстом, редкие люди в сценах).
- Часть сообщества критикует отсутствие статьи/отчета и закрытость веса модели; другие отмечают, что прогресс согласуется с намёками Demis и является эмерджентным эффектом масштабирования.
- Споры о подходе: «мир-модель как видео» vs классический графический конвейер (меши/анимации/рендер), вопрос о пригодности для игр, VR/XR и робототехники; звучит запрос на VR-вывод и интеграцию со звуком.
- Реакции варьируются от восторга и ощущения «холодека»/диссоциации до обеспокоенности влиянием на творчество и смыслы; некоторые видят в этом шаг к embodied AI и бесконечному синтетическому датасету.
- Практические ожидания: ускорение прототипирования в геймдеве, обучение навыкам через ИИ-NPC и терапию; скептики считают демо «бережным» и сомневаются в масштабируемой пользе без перехода к 3D-структурам.
- Вопросы остаются: архитектура, вычислительные затраты, форматы объектов/интеграция, сроки публичного доступа и реальная применимость за пределами демонстраций.