Как стать автором
Поиск
Написать публикацию
Обновить
8.65

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

SVG и компания

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

Как создать собственный шрифт

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров41K

В этом месяце я решил узнать, как создать шрифт, который буду использовать в своём комиксе hakum. Раньше я рисовал текст в цифре на своём планшете. Результат оказывался хорошим, но иногда трудночитаемым (размер текста часто скакал на одной странице). Мне не хотелось использовать готовый шрифт, поэтому я решил создать собственный на основе своего рукописного текста. Шрифт повысит читаемость текста и сделает его однородным.

Примечание: это моя первая проба создания шрифта. Я не дизайнер, не освоил создание шрифтов в совершенстве и не специалист по программе FontForge. Возможно, существуют способы получше добиться того же результата. В этой статье я опишу свой процесс, который, вероятно, поможет другим начинающим создать свой первый шрифт (для личного пользования). Моя цель заключалась в создании шрифта TTF для применения в веб-публикациях с ограниченным набором символов (без полужирного и курсивного написания).

Читать далее

АСМОграф — замена Microsoft Visio, MapInfo и в какой-то мере даже AutoCAD

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров9.5K

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

Читать далее

Как сделать рамку редактирования как в Figma-е

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

Привет, хабр. В этой статье я бы хотел рассказать, как построить рамку редактирования, наподобие той, которая есть в редакторах figma, adobe illustrator и во множестве других графических редакторах. В основном рамка редактирования является составной частью графического редактора. Она может изменять расположение объекта, его масштаб и угол поворота.

Читать далее

Начинаем работать с цифровыми картами (ГИС)

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров22K

Обзорная статья, которая поможет разобраться с базовыми понятиями, познакомит с основами, даст общее представление о принципах работы цифровых карт и геоинформационных систем (ГИС). Будет полезно тем, кто только начинает работать с картами и хочет начать в этом разбираться.

Читать далее

3D видеокарта-«декселератор» из 90-х. Как работала S3 ViRGE «под капотом»?

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров18K
image

Друзья! Многие ли из вас застали такую легендарную видеокарту, как S3 ViRGE? Когда-то этот GPU стоял чуть ли не в каждом втором офисном компьютере: благодаря дешевизне и заявленной поддержке 3D-ускорения, эту видеокарту просто сметали с полок магазинов. Далеко не все могли себе позволить ATI Rage, Riva TNT и уж тем более 3dfx Voodoo и очень разочаровывались в свежекупленной видеокарте, когда пытались поиграть в новомодные игры тех лет. На момент написания статьи, в сети слишком мало материала о том, как работали видеокарты 90-х «под капотом», однако мне удалось найти даташит на видеочип, SDK для программирования 3D-графики специально под него и некоторую документацию. Я решил исправить это недоразумение и начать развивать отдельную рубрику о работе старых видеочипов: начиная от S3 ViRGE и заканчивая GPU PS2 и PSP. Сегодня мы с вами: вспомним о S3 ViRGE, узнаем о том, как работали видеокарты в 90-х годах, затронем 2D и 3D режим и почему они тесно связаны между собой, посмотрим на проприетарное графическое API S3 ViRGE и раскроем причину, почему же этот GPU был таким медленным!
Читать дальше →

Сам написал, сам погонял: как я написал 3D-гонки «на жигулях» за неделю, полностью с нуля?

Уровень сложностиСредний
Время на прочтение28 мин
Количество просмотров38K
image

Статьи про инди-разработку игр — это всегда интересно и занимательно. Но статьи про разработку игр с нуля, без каких-либо игровых движков — ещё интереснее! У меня есть небольшой фетиш, заключающийся в разработке минимально играбельных 3D-демок, которые нормально работали бы даже на железе 20-летней давности. Полтора года назад, в мае 2022 года, я написал демку гоночной игры с очень знакомым всем нам сеттингом — жигули, девятки, десятки, и всё это даже с тюнингом! В этой статье я расскажу вам о разработке 3D-игр практически с нуля: рендерер, менеджер ресурсов, загрузка уровней и граф сцены, 3D-звук, ввод и интеграция физического движка. Интересна подробнейшая хаброторная статья о разработке игры с нуля? Тогда добро пожаловать!
Читать дальше →

Сам написал, сам поиграл: как я написал 2D-игру для Android полностью с нуля, весом менее 1мб?

Уровень сложностиСредний
Время на прочтение20 мин
Количество просмотров31K
image

Многие программисты так или иначе имеют тягу и интерес к разработке игр. Немалое количество спецов было замечено за написанием маленьких и миленьких игрушек, которые были разработаны за короткое время «just for fun». Большинству разработчиков за счастье взять готовый игровой движок по типу Unity/UE и попытаться создать что-то своё с их помощью, особенно упорные изучают и пытаются что-то сделать в экзотических движках типа Godot/Urho, а совсем прожжённые ребята любят писать игрушки… с нуля. Таковым любителем писать все сам оказался и я. И в один день мне просто захотелось написать что-нибудь прикольное, мобильное и обязательно — двадэшное! В этой статье вы узнаете про: написание производительного 2D-рендерера с нуля на базе OpenGL ES, обработку «сырого» ввода в мобильных играх, организацию архитектуры и игровой логики и адаптация игры под любые устройства. Интересно? Тогда жду вас в статье!
Читать дальше →

Как показать миллион зданий на карте — и не сломать браузер

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

В 2ГИС мы аккумулируем огромное количество геоданных, с которыми взаимодействуют миллионы пользователей ежедневно. Анализируя их, мы можем получить ценную информацию и найти важные идеи для развития городов. Эти данные также полезны организациям.

Чтобы помочь бизнесу и муниципальным организациям, мы решили создать 2GIS PRO — инструмент для GPU-аналитики, с возможностью визуализации огромного количества данных на карте в виде диаграмм и графиков.

Расскажем, как мы получаем такую картинку, как это всё работает под капотом, и посмотрим, на что способен ваш браузер, ведь ему предстоит отображать сотни тысяч объектов одновременно.

Расскажем, как мы получаем такую картинку, как это всё работает под капотом, и посмотрим, на что способен ваш браузер, ведь ему предстоит отображать сотни тысяч объектов одновременно.

Читать далее

Как начертить диск энкодера (или черчение кодом)

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

В машиностроении есть такие детали, которые очень утомительно чертить вручную. Это, например, шестерни или диск оптического энкодера. Не всякий бесплатный софт способен сгенерировать симметричный и предсказуемый паттерн по кругу.

Однако есть языки программирования для черчения. Вот, например, Asymptote: The Vector Graphics Language отличный вариант для авто генерации чертежей.

Читать далее

Форматы векторной графики. Замена «толстому» SVG

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров18K
Векторизация растровой графики, источник

Все знают стандарт векторной графики SVG (Scalable Vector Graphics). Великая вещь, которая незаменима в веб-дизайне. Но этот формат до сих пор полностью не поддерживается ни в одном браузере по одной простой причине: он невероятно сложный. Если посмотреть на спецификации, там более 200 подпунктов в 27 разделах (около 900 страниц на бумаге). Только оглавление занимает 19 экранов. Мягко говоря, это перебор.

К счастью, SVG — не единственный формат векторной графики. Есть более эффективные и минималистичные альтернативы.
Читать дальше →

Как сделать внешнюю обводку у полигона

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

Привет, Хабр. Я хотел бы поделиться своим опытом, как сделать внешнюю обводку у полигона. Проблема заключается в том, что имеется полигон, который нужно обвести внешней обводкой и при этом обводка может не касаться граней полигона. В этой статье разбирается алгоритм по обводке, и предоставляется код на js для подтверждения работы алгоритма на практике. В результате работы алгоритма должна получиться разноцветная обводка у полигона.

Читать далее

Преобразуем карты DOOM в SVG для лазерной резки

Время на прочтение6 мин
Количество просмотров2.8K
Я много слышал о формате данных классического Doom, поэтому решил написать код на Rust для извлечения его карт и преобразования в векторную графику для лазерной резки.

В статье я опишу процесс: извлечение данных, воссоздание геометрии и вывод SVG для лазерной резки; также я поведаю о геометрическом тупике, в который я с энтузиазмом залез, когда пытался просмотреть результат при помощи bevy.

Читать дальше →

Обмануть меня не трудно... Я сам обманываться рад

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров5.7K

Начало положено.

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

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

Очень мне хотелось, чтобы меня удивили, чтобы я с таким же таинственным взглядом как Вилли Вонка перестала быть скептиком и уверовала.

Но уже после первой пробы мне стало ясно, что волшебной палочки не существует и «не так страшен чёрт, как его малюют». Простые запросы выдавали банальные сюжеты - в буквальном смысле визуальный мусор.

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

В моих экспериментах было сложно выдавить хоть какие-то эмоции у персонажа. И после многочисленных попыток я ментально устала играть в эту рулетку. 

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

Читать далее

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

Как рисовать красивые соединения с помощью SVG

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

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

Читать далее

Рисуем верёвку в формате SVG при помощи JavaScript

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

Сегодня я расскажу о процессе, который я придумал для преобразования SVG‑контура в векторный рисунок верёвки.

Вы узнаете, как превратить показанный слева контур в верёвку справа:

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

Стоит учесть, что это не туториал по кодингу, а подробный обзор каждого из этапов. Но не беспокойтесь, код полностью доступен.

Замысел

Взглянув на это фото верёвки, вы заметите, что она состоит из множества переплетённых друг с другом прядей. Визуально они делят верёвку на сегменты. 2D‑проекция каждого сегмента напоминает изогнутый многоугольник.

Наша задача будет заключаться в создании этих многоугольников при помощи JavaScript.

Читать далее

Изготовление Макета для Прототипа (или Как Буравить Пластмаски)

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

При разработке прошивок микроконтроллеров приходится отлаживаться на прототипах. Прототип это просто набор отладочных плат соединенных перемычками.

Далее следует инструкция как сделать качественное основание для прототипа.

Читать далее

Библиотека компонентов для дизайнеров приложений

Время на прочтение4 мин
Количество просмотров5.6K

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

Читать далее

Топ 15 Free программ для видеомонтажа или полный пайплайн загрузки видео на YouTube

Время на прочтение9 мин
Количество просмотров8.1K

Важно: Если вам интересны именно бесплатные программы, то я советую посмотреть мой видеоролик ниже по ссылке - это "байт" на комментарии, лайки и подписку на канал))) Я попробовал сделать максимально не скучный ролик с 2д и 3д анимациями, анимированными титрами, переходами, 5-10 секундными вставками из различных видео и фильмов в качестве смешных перебивок, а так же самих шуток.

Если же вам интересен именно процесс создания данного видео, написание сценария, съёмка, монтаж, озвучка, создание 2д и 3д эффектов, поиск перебивок, а так же создание превью и заставок к видео, загрузка видео на ютуб, его оптимизация, простановка тегов и прочее - советую прочитать именно текстовую статью ниже. Если же вам интересно и то и другое - советую начать с видео))

Читать далее

Добавление расчёта пути к схеме метро Москвы из Википедии

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров3.3K

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

Для этого решил адаптировать не алгоритм к схеме, а схему к алгоритму. Поскольку алгоритм BFS использует перебор массивов станций, координат линий и пересадок, то нужно было распарсить схему из Википедии в массивы: для этого я написал различные варианты CSS-селекторов.

Читать далее

Масштабируемая векторная графика. Простой SVG-редактор. Памяти Матса Бенгтссона

Время на прочтение9 мин
Количество просмотров7.9K
imageВсё началось, когда вышла очередная версии TkProE — интегрированной среды разработки программ на tcl/tk. Мне очень пришлось по нраву наличие в ней встроенного графического редактора. Но этот редактор не работает с векторной графикой и отсюда все его недостатки.

В процессе модернизации TkProE я познакомился с проектом tkpaint. Более того какие-то идеи я позаимствовал у него и добавил в графический редактор в TkProE.

Но tkpaint это тоже графический редактор растровой графики со всеми присущими ей недостатками, особенно при работе с изображениями (прозрачность, деформация, градиентная заливка).
Читать дальше →

Вклад авторов