Перейти к содержимому
Меню
AInewz
  • Новости
  • Бизнес
  • Путешествия
  • О нас
    • Помощь проекту
    • Политика конфиденциальности
  • Shavaleev Pro
AInewz
03.06.2024

Шрифт на кривых Безье

Идея создания шрифта на основе кривых Безье

Идея создания шрифта на кривых Безье появилась после просмотра канала о программировании, где автор демонстрировал часы, состоящие из шести дисплеев.

  1. На каждом из дисплеев была изображена цифра.
  2. Каждый дисплей имел размер 1,8″ и разрешение 128 × 160 пикселей.

Как это реализовать

  • Выбор микроконтроллера. Я выбрал ATtiny85, так как это был самый доступный и удобный выбор для меня.
  • Создание проекта. Создал проект на платформе Arduino IDE.
  • Установка библиотеки. Установил библиотеку для работы с кривыми Безье, которую нашел на GitHub.
  • Написание кода. Написал код для генерации кривых Безье и отображения их на дисплее.

Кривые Безье
Это очень интересная тема, которая позволяет создавать сложные кривые, используя только несколько точек. Это очень полезно для создания шрифтов, так как позволяет создавать кривые, которые соответствуют любым символам.
*Чтобы создать кривую Безье*, нужно задать несколько точек, которые определяют форму кривой. Затем, используя эти точки, можно рассчитать координаты всех точек на кривой между двумя заданными точками.
Для работы с кривыми Безье в Arduino есть специальные функции, которые позволяют генерировать кривые и отображать их на дисплее. Эти функции очень просты в использовании и позволяют создавать кривые любой сложности.
Вот пример того, как можно создать кривую Безье:


void drawCurve (
  float x0, 
  float y0,  
  float x1, 
  float y1,  
  int n,  
  float t
) {
   for (int i=0; i<n; i++) 
   {
      float x=x0+t  ((n-i)  (x1-x0)+i  (x0-x1));  
      float y=y0+t  (((n-1)-i)  ((1-y0)+(y1-y0))+i  ((y0-y1)));  
      display.point (x,y);  
   }
}

Эта функция принимает четыре параметра:
* x0 и y0 — координаты начальной точки кривой;
* x1 и y1 — координаты конечной точкикривой;
* n — количество точекв кривой;
* t — значение параметра t, которое определяет положение точки на кривой.
Функция рисует кривую, состоящую из n точек, соединяя начальную точку с конечной и каждую точку с предыдущей. После того как кривые были созданы, их нужно отобразить на дисплее. Для этого используется функция display.point, которая принимает координаты точки на экране. В моём случае шрифт состоял из 26 кривых Безье, каждая из которых состояла из 50 точек. На первый взгляд это может показаться сложным, но на самом деле, это очень просто. Главное — понять основы, а остальное придёт с опытом. Я потратил много времени, чтобы настроить шрифт и сделать его максимально читаемым. Также я добавил несколько дополнительных функций, таких как изменение размера шрифта, настройка цвета и т.д В итоге получился шрифт, который можно использовать для создания различных проектов. Конечно, это всего лишь один из возможных вариантов использования кривых Безье для создания шрифтов.
В конечном итоге, шрифт выглядит следующим образом:
*Шрифт состоит из 26 основных букв русского алфавита, расположенных в алфавитном порядке.*

*Шрифт имеет размер 40, что позволяет использовать его в различных приложениях, таких как электронные учебники, игры, мобильные приложения и другие.*
*Шрифт может быть использован в качестве основы для создания более сложных шрифтов, таких как курсив, полужирный шрифт и т.д.*
Этот шрифт был создан для использования на дисплее ATtiny85.
*Для использования шрифта на других микроконтроллерах потребуется внести некоторые изменения в код, чтобы учесть особенности работы с дисплеями разных производителей.*

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

13

Добавить комментарий Отменить ответ

Для отправки комментария вам необходимо авторизоваться.

Telegram Wildberries Аварии Авто Банк Безопасность Бизнес Биткоин Взрыв Взятка Выборы Госдума Дети Животные Задержание Закон Законодательство Законопроект Здоровье Инвестиции Истории Кино Китай Конфликт Коррупция Криптовалюта Медицина Метка Мигранты Миграция Москва Мошенничество Нападение Наука Недвижимость Образование Пожар Политика Работа Расследование Реклама Россия Руслан Шавалеев Финансы Экономика

Рубрики

  • Авто-мото
  • Без рубрики
  • Бизнес
  • В мире
  • Гороскоп
  • Дом и дача
  • Другие новости
  • Еда
  • Животные
  • Закон
  • Здоровье
  • Знаменитости
  • Игры
  • Интересное
  • Истории
  • Красота
  • Культура
  • Литература
  • Маркетинг
  • Мода
  • Наука
  • Наука и техника
  • Недвижимость
  • Новости
  • Образование
  • Общество
  • Полезное
  • Политика
  • Политика и общество
  • Предсказание
  • Происшествия
  • Психология
  • Путешествия
  • Реклама
  • Рецепты
  • Спорт
  • Технологии
  • Транспорт
  • Шоу-бизнес
  • Экология
  • Экономика
  • Юмор

Архивы

  • Май 2025
  • Апрель 2025
  • Март 2025
  • Февраль 2025
  • Январь 2025
  • Декабрь 2024
  • Ноябрь 2024
  • Октябрь 2024
  • Сентябрь 2024
  • Август 2024
  • Июль 2024
  • Июнь 2024
  • Май 2024
  • Апрель 2024
  • Март 2024
  • Февраль 2024
  • Январь 2024
  • Август 2022
©2025 AInewz | Powered by WordPress and Superb Themes!