<MyRusakov.ru />

Написание лайфхаков на Python

Написание лайфхаков на Python

Данный курс научит Вас автоматизировать самые разные задачи на языке Python, благодаря чему Вы сэкономите на рутине тысячи и тысячи часов своей жизни. Курс состоит из 20 примеров в различных областях: файлы и директории, медиа-файлы, Интернет, Web-мастеринг, Unreal Engine. Каждый пример упрощает ту или иную задачу в своей области, при этом каждый из них создаётся прямо на Ваших глазах и тщательно комментируется.

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

Подробнее
Подписка

Подпишитесь на мой канал на YouTube, где я регулярно публикую новые видео.

YouTube Подписаться

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Зачем Вы изучаете программирование/создание сайтов?

Canvas и JavaScript. Кривые

Canvas и JavaScript. Кривые

В canvas можно нарисовать квадратичную кривую и кривую Безье. Скоро вы узнаете, что отличает эти кривые друг от друга, прочитав статью до конца.

Квадратичная кривая

Для рисования квадратичной кривой в canvas используется метод quadraticCurveTo(). Сделаем необходимую заготовку из HTML / CSS кода.

<canvas id="curve" width="600" height="300"></canvas>

#curve {
    width: 600px;
    height: 300px;
    margin: 40px;
    background-image: url(grid.png);
}

Квадратичная кривая состоит из координат начальной точки, точки искривления и конечной точки.

Принцип построения квадратичной кривой

let canvas = document.getElementById('curve');
let ctx = canvas.getContext('2d');

ctx.beginPath(); // начало нового пути
ctx.lineWidth = 7; // толщина обводки
ctx.strokeStyle="green"; // цвет обводки
ctx.moveTo(75, 150); // координаты начальной точки
ctx.quadraticCurveTo(150, 0, 300, 150); // координаты точки искривления и конечной точки
ctx.stroke(); // команда обводки


Canvas и JavaScript. Кривые.

Пример квадратичной кривой

let canvas = document.getElementById('curve');
let ctx = canvas.getContext('2d');

ctx.beginPath();// начало нового пути
ctx.lineWidth = 7; // толщина обводки
ctx.strokeStyle="green"; // цвет обводки
ctx.moveTo(75, 75); // координаты начальной точки
ctx.quadraticCurveTo(100, 150, 300, 50); // координаты точки искривления и конечной точки
ctx.stroke();


Canvas и JavaScript. Кривые.

Кривая Безье

Кривая Безье строит не одну точку искривления, а две точки. Исходя из того, что у одной точки две координаты (X,Y), то для построения двух точек искривления потребуется четыре координаты. Эта особенность позволяет построить более сложную кривизну и отличает ее от квадратичной кривой. Для создания кривой Безье, воспользуемся методом bezierCurveTo().

Принцип построения кривой Безье


Canvas и JavaScript. Кривые.

Пример кривой Безье

let canvas = document.getElementById('curve');
let ctx = canvas.getContext('2d');

ctx.beginPath();// начало нового пути
ctx.lineWidth = 7; // толщина обводки
ctx.strokeStyle="green"; // цвет обводки
ctx.moveTo(100, 150); // координаты начальной точки
ctx.bezierCurveTo(150, 50, 340, 10, 400, 200); // координаты точки искривления и конечной точки
ctx.stroke();


Canvas и JavaScript. Кривые.

Пример рисования фигуры сердце

let canvas = document.getElementById('curve');
let ctx = canvas.getContext('2d');

ctx.beginPath();
ctx.fillStyle="red"; // цвет заливки
ctx.moveTo(75, 40);
ctx.bezierCurveTo(75, 37, 70, 25, 50, 25);
ctx.bezierCurveTo(20, 25, 20, 62.5, 20, 62.5);
ctx.bezierCurveTo(20, 80, 40, 102, 75, 120);
ctx.bezierCurveTo(110, 102, 130, 80, 130, 62.5);
ctx.bezierCurveTo(130, 62.5, 130, 25, 100, 25);
ctx.bezierCurveTo(85, 25, 75, 37, 75, 40);
ctx.fill();


Canvas и JavaScript. Кривые.

Итоги

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

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (0):

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.