Обновить
32K+

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

SVG и компания

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

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

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

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

Читать далее

Новости

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

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

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

Читать далее

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

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

Однажды 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.4K

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

Алгоритм 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.4K

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

Читать далее

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

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

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

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

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

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

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

TL;DR

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

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

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

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

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

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

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

Читать далее

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

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

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

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

Читать далее

SVG-меры в Power BI

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

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

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

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

Читать далее

Облачные сервисы на Tcl/Tk

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

С момента написания на tcl/tk удостоверяющего центра CAFL63 и утилиты cryptoarmpkcs для работы с электронной подписью меня не покидала мысль, что неплохо бы оформить их как облачные сервисы. Я постоянно смотрел в сторону проекта CloudTk.

Читать далее

Математика и веб-разработка: как мы добавили интерактивную кривую Безье в редактор изображений

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

Добрый день, меня зовут Богдан, я фронтенд-разработчик в компании iSpring. В статье расскажу про интерактивную стрелку в редакторе изображений. Вы узнаете: как строятся кривые Безье и какие полезные свойства имеют; как вычислить кривую Безье, проходящую через заданные точки; как найти ограничивающую площадь этой кривой. Рассмотрим плюсы и минусы реализаций на Canvas и SVG.

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