Обновить
8K+

Векторная графика *

SVG и компания

0,2
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

Как я сделал AiRevit: от обычного текста до BIM-модели в Revit б без LLM

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели7.7K

Сейчас в тренде - внедрение ИИ вообще в любой проект, в любой чайник или пылесос. Я давно ковыряюсь в проектировании и Revit, и меня стабильно бесило одно и то же: куча рутины, одинаковых действий, которые можно было бы спокойно автоматизировать. Глядя на то, какие чудеса сейчас творят языковые и диффузионные LLM, генерируя целые детализированные миры, очень хочется сделать тоже самое в строительной сфере.

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

Я решил собрать свой вариант и назвал его AiRevit. Это не чатик с LLM поверх Revit. Тут вообще не предполагается использования такой архитектуры, которая бы основывалась на угадывании токена (нам не нужно ничего угадывать, нужно соблюдать строгие строительные правила). Это детерминированный pipeline, где текст сначала превращается в структурированный program_graph, потом в layout_solution, а уже потом в реальные элементы Revit через Dynamo и Python-скрипты. В репозитории это разложено на Node 3, Node 4 и Node 5, чтобы не было каши и чтобы каждый кусок отвечал за свою часть работы. (https://github.com/Rearks/AiRevit)

Читать далее

Новости

Программисты рисуют и травят: от штриховой векторизации к офортам Меллана

Уровень сложностиПростой
Время на прочтение12 мин
Охват и читатели11K

Не умея рисовать, организовал три персональные выставки портретов и картин с января по май в разных городах России. 21-й век на дворе. Программист нажимает кнопку, а робот рисует простой шариковой ручкой на простой бумаге. Как? Об этом в статье.

Читать далее

Как я потратил полгода на «покажи чертёж нормально»

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели15K

Уж казалось бы, онлайн гляделок dxf — пруд пруди. Но кто сталкивался с удивительным форматом dxf знают — сколько вьюеров, столько и вариантов отображения. К тому же, большинство таких гляделок используют бэкенд для рендера. Но зачем, неужели так сложно отобразить 2D‑чертёж в браузере? Насколько это может быть сложно?

Читать далее

Что не так с SVG-файлами в Tcl/tk?

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели13K

В версии tcl/tk-9.0 добавлена возможность создавать изображения image из SVG-файлов (а значит и сохранять их в png-формате). Всё было хорошо до тех пор пока мне для статьи на сайте Tcler's Wiki ни потребовался флаг США для кнопки переключения языка интерфейса:

Читать далее

Что SVG-пеликаны говорят о способностях ИИ-моделей?

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели7.2K

Однажды Cаймон Уиллисон (создатель фреймворка Django) придумал проверять все новые LLM промптом «сгенерируй SVG пеликана на велосипеде». Поначалу этот тест казался просто шуткой, но в итоге его результаты довольно любопытные.

Мы уже писали на Хабре про серьёзные бенчмарки, а в эту пятницу разберёмся, что можно заметить по такому забавному эксперименту. И заодно перепроверим Уиллисона: а что получится, если вместо пеликанов написать на русском «сделай SVG котика, который кодит»?

Читать далее

Почему animated SVG не работает во Flutter «как в браузере» — и как я попытался это исправить

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели11K

Почему SVG, который работает в Chrome, часто становится статичным или ломается во Flutter? Разбираю проблему animated SVG, SMIL, CSS keyframes, path morphing, фильтров и рассказываю, как из этой боли появился full_svg_flutter — SVG-рендерер для Flutter с более браузерным подходом к рендерингу.

Читать далее

Облако своими руками для расчета пространственных стержней методом конечных элементов на Node js, React js и Three js

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели6.7K

В данной статье (а возможно цикле статей) речь пойдет о собственной разработке облачного SPA приложения по моделированию пространственных стержневых систем методом конечных элементов с численно-аналитическим решением для инженеров-проектировщиков в основе которого математическая модель Эйлера-Бернулли, вариационные принципы и итерационный метод сопряжённых градиентов применяемый для большеразмерных СЛАУ с разреженной матрицей жёсткости с одной стороны, и JavaScripts экосистема облака, выполненного в стеке Node js, Express js бэкенд части, и React js, MobX, Three js, glsl shaders фронтенд части с другой стороны. Отображение эпюр усилий в пространственных стержневых элементах реализовано на шейдерах vertexShader и fragmentShader. Это позволяет вычислять эпюры для каждого стержня на лету и выполнять отображение графиков (в общем случае полиномов 5 степени) в пространстве мгновенно.

Читать далее

5 старых шрифтов и история их создания

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели5.5K

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

Читать далее

Почему ваш монитор не умеет показывать бирюзовый (и ещё 65% цветов)

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели32K

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

Нормальный человек сказал бы «плохая типография» и пошёл дальше. Но у меня профдеформация, я полез дебажить цвет. И через пару вечеров кроличьей норы и экспериментов на коленке я знал о мониторах столько, что мне стало физически некомфортно на них смотреть.

Читать далее

Slug — GPU‑рендеринг шрифтов из кривых Безье лицензирован MIT

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели8.4K

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

Для всех юридических экспертов, читающих это: моя компания подала форму SB/43 в USPTO и оплатила пошлину за отказ от конечной части срока действия патента № 10 373 352, действующий с 17 марта 2026 года.

Читать далее

Десять лет алгоритму Slug

Время на прочтение7 мин
Охват и читатели7.7K

Алгоритм Slug, используемый для рендеринга на GPU шрифтов непосредственно из кривых Безье, был разработан осенью 2016 года, а значит, в этом году мы отмечаем десятилетие его рождения. В середине 2017 года я опубликовал в JCGT статью об этой методике, а вскоре после этого моя компания продала первую лицензию на версию 1.0 Slug Library. С тех пор Slug многократно лицензировался разработчиками видеоигр, а также компаниями, специализирующихся в научной визуализации, CAD, редактировании видео, медицинском оборудовании и даже создании планетариев. Среди наших клиентов Activision, Blizzard, id Software, 2K Games, Ubisoft, Warner Brothers, Insomniac, Zenimax и Adobe. Slug оказался моим самым успешным программным продуктом.

Изначально я создавал Slug с целью улучшения рендеринга текста в C4 Engine, шрифты которого должны выглядеть идеально не только в GUI, но и внутри игровых уровней, где они могут быть очень крупными и отображаться под разными углами. Недавно я использовал Slug в создании редактора формул Radical Pie, в котором, разумеется, необходим крайне качественный рендеринг шрифтов, а также векторной графики для таких обозначений, как скобки, знаки корня и чисто графических элементов наподобие стрелок и выделения математических выражений. Кроме того, Slug используется для рендеринга всего интерфейса пользователя внутри основного окна редактирования и всех диалоговых окон.

В этом посте я расскажу об изменениях в методике рендеринга с 2017 года, когда была опубликована научная статья и выпущена первая версия Slug Library. Завершается статья важным объявлением для тех, кто захочет реализовать алгоритм Slug в собственных проектах.

Читать далее

Алгоритм мягкой обводки текста

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели13K

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

Пример кода в проекте сделан на Flutter, но сама идея не привязана к Dart.

Весь код и текст этой статьи можно найти тут на GitHub.

Как это сделать

LaTeX. Пакет, о котором должен знать каждый математик. Изометрические кубики, «змейки» из квадратиков. Часть 4/4

Уровень сложностиСредний
Время на прочтение2 мин
Охват и читатели14K

Меня зовут Виталий и я пишу уже который год самую большую книгу по математике для 4 11 классов, а так же автор поста (рекомендую почитать) о ней. Пишу я ее в LaTeX и считаю, что современный учебник не должен быть черно-белым, а так же должен быть удобен для использования и учеником и учителем.

Хочу поделиться моей находкой --- пакет `ProfCollege`. Компиляция ТОЛЬКО Lualatex. Как обычно прикладываю полный код в тексте.

Первая часть тут, вторая часть тут, третья часть тут

Читать далее

Ближайшие события

DeepSeek + Unity: Как заставить ИИ рисовать схемы и не сойти с ума от веселья

Уровень сложностиПростой
Время на прочтение14 мин
Охват и читатели12K

Приветствую. Решил в данной статье поделиться информацией относительно приложения, которое я пишу на UNITY. Как-то запала мне мысль...

От детского конструктора до симуляции лампового усилителя за три минуты и одну шутку

Читать далее

Хаос, фракталы и голограммы

Уровень сложностиСредний
Время на прочтение17 мин
Охват и читатели7.5K

Мои наблюдения окружающего мира навели меня на мысль о том, что имеют место глубокие аналогии в структурах трех вещей: пластинки с записью голограммы изображения, живые многоклеточные организмы и изображения фракталов. Любая часть, раздробленных голографической пластинки, фрактала и живая клетка организма несут в себе содержательную информацию о первичном исходном объекте. Осколок разбитой пластинки с голограммой при прохождении через него лазерного луча восстанавливает полное исходное изображение; отдельная живая клетка, помещенная в соответствующую среду, обеспечивает воссоздание полного организма; выборка даже очень малой части фрактала – самоподобна всему фракталу. Некоторые отличия заключаются в форме представления такой информации.
Здесь, возможно, следует еще упомянуть и структуру Вселенной (мироздания), но это обдумано мной в меньшей степени.
С указанной аналогией я не буду заходить слишком далеко, а остановлюсь лишь на некоторых известных фактах – примерах.

Читать далее

Как создать ключевые знаки для необычного лада

Время на прочтение3 мин
Охват и читатели7.4K

Необычный лад это лад построенный не на натуральном звукоряде. Для кого-то необычные лады могут быть обычным явлением. Те кто имеет дело с сочинением блюза постоянно ими пользуются.

Для записи нот с применением необычного лада обычно рекомендуют использовать «случайные» знаки альтерации в каком-нибудь мажоре или миноре.

Но можно создать ключевые знаки для любого мыслимого лада.

Лад содержит звуки расположенные в определённой последовательности интервалов между ними. Обычно так их и запоминают. Но есть возможность не мучить себя формулами тон-полутон-полтора тона…

Для того чтобы построить тональность (лад с указанием тоники) можно применять программные графические средства.

Попробуем создать ключевые знаки для минорного блюза от ноты Фа-диез.

В качестве инструментов применим векторный редактор Inkscape и клавиши, чтобы прослушать то, что получилось.

В векторном редакторе предварительно создадим нотное поле и трафареты для работы с ним.

Читать далее

Подготовка макетов для типографии: исчерпывающее руководство для заказчиков и их дизайнеров

Уровень сложностиПростой
Время на прочтение11 мин
Охват и читатели9.3K

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

Читать далее

Я выполнил реверс-инжиниринг веб-обфускации Amazon, потому что приложением Kindle пользоваться невозможно

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели21K

TL;DR

• Я впервые купил на Amazon электронную книгу

• Android-приложение Kindle самой компании Amazon было очень забагованным и часто вылетало

• Попробовал скачать мою книгу, чтобы читать её в реально работающем приложении для чтения

• Осознал, что Amazon больше не позволяет этого делать

• Решил назло выполнить реверс-инжиниринг её системы обфускации

• Обнаружил множество слоёв защиты, в том числе рандомизированные алфавиты

• Победил их все при помощи колдунства с сопоставлением шрифтов

Читать далее

Как я парсил схемы Visio

Уровень сложностиСредний
Время на прочтение19 мин
Охват и читатели6.8K

Привет, Хабр! Меня зовут Алексей Грохотов, я разрабатываю продукт Сфера.Архитектура в ИТ‑холдинге Т1. Перед нашей командой стояла задача перенести документы из Orbus iServer в Сфера.Архитектуру. Iserver — это набор инструментов для описания, поддержки и трансформации архитектуры предприятия. Он в значительной степени интегрирован с Microsoft Office, например, все схемы в этом инструментарии создаются в Visio.

Я должен был проанализировать схемы Visio и извлечь необходимую информацию из этих документов. Объекты, соответствующие «прямоугольничкам и стрелочкам» Visio, уже хранились у нас в базе. Мне нужно было соотнести их с фигурами и стрелками схемы, записать для этих объектов геометрическое и текстовое содержание фигур, а также некоторые их специфические свойства. Ещё нужно было определить порты — «стыковочные места» по периметрам фигур, к которым присоединяются стрелки, а также найти надписи у стрелок и фигур. И после этого сохранить в базу данных всю найденную информацию.

Читать далее

SVG-меры в Power BI

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели4.5K

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

SVG-изображения вычисляются динамически с помощью DAX: каждая строка таблицы получает собственную визуализацию на основе контекста фильтров. Это делает SVG-подход гораздо более вариативным, чем статические картинки, загруженные вручную.

Далее — немного теории, а затем практический пример с разбором кода.

Читать далее
1
23 ...