Начнем же!
Manim - библиотека для создания анимаций. С её помощью можно создавать красивые анимации геометрии, алгебры, графиков... Но сама библиотека не то чтобы лёгкая.
Очевидно, что сначала её надо установить(неожиданный поворот сюжета). Да, снова
Но это не все, необходимо установить LaTeX и ffmpeg. С первым сами разберетесь, а второе это конечно то ещё. Во первых перейдем на официальный сайт, скачаем архив, распакуем. Скопируем путь до папки bin и вставим его в переменную path на вашем компьюторе. Вроде просто...
Обычно программу мы запускаем, используя зелёную стрелочку на панели вашего редактора кода, тут сложнее. Вам необходимо зайти в консоль и написать
Вау, все готово, и это только предварительная настройка.
Переходим к коду:
Дз:
Установить библиотеку и запустить код(из командной строки) .
Manim - библиотека для создания анимаций. С её помощью можно создавать красивые анимации геометрии, алгебры, графиков... Но сама библиотека не то чтобы лёгкая.
Очевидно, что сначала её надо установить(неожиданный поворот сюжета). Да, снова
pip install manim
Но это не все, необходимо установить LaTeX и ffmpeg. С первым сами разберетесь, а второе это конечно то ещё. Во первых перейдем на официальный сайт, скачаем архив, распакуем. Скопируем путь до папки bin и вставим его в переменную path на вашем компьюторе. Вроде просто...
Обычно программу мы запускаем, используя зелёную стрелочку на панели вашего редактора кода, тут сложнее. Вам необходимо зайти в консоль и написать
manim -pql путь до файла класс в файле
Вау, все готово, и это только предварительная настройка.
Переходим к коду:
from manim import *
class first(Scene) :
def construct(self) :
star=Star()
self.play(Create(star))
Дз:
Установить библиотеку и запустить код(из командной строки) .
Хмм, все же нужно лекции выпускать пожалуй, давайте, когда кто то зделает дз последнее, я постараюсь как можно быстрее выпустить её. А так я сегодня мб по делаю...
🥰1🤯1🌭1🤪1💊1
Продолжим...
После долгого перерыва, я все же сделаю что-нибудь...
Продолжим последнюю тему, manim позволяет создавать красивые анимации текста, фигур и других объектов, я уже показал, как сделать звезду. Существуют различные анимации появления объектов. Анимация, показанная в последнем примере - это обрисовка объекта по контуру и заполнение его. Но давайте посмотрим на другие анимации появления:
1. FadeIn - просто появление...
Тут все просто
2. add - добавление объекта на сцену без анимации
Существуют remove и fadeOut, они удаляют объекты соответственно...
Также есть всякие growFromCenter, но они очевидно что делают, так что я рассказывать не буду..
Дз:
Сделайте анимацию со всеми этими способами появления, поиграйтесь)))
После долгого перерыва, я все же сделаю что-нибудь...
Продолжим последнюю тему, manim позволяет создавать красивые анимации текста, фигур и других объектов, я уже показал, как сделать звезду. Существуют различные анимации появления объектов. Анимация, показанная в последнем примере - это обрисовка объекта по контуру и заполнение его. Но давайте посмотрим на другие анимации появления:
1. FadeIn - просто появление...
from manim import *
class first(Scene) :
def construct(self) :
star=Star()
self.play(fadeIn(star))
Тут все просто
2. add - добавление объекта на сцену без анимации
from manim import *
class first(Scene) :
def construct(self) :
star=Star()
self.add(star)
Существуют remove и fadeOut, они удаляют объекты соответственно...
Также есть всякие growFromCenter, но они очевидно что делают, так что я рассказывать не буду..
Дз:
Сделайте анимацию со всеми этими способами появления, поиграйтесь)))
❤🔥1🔥1
Всем дратути....
Я сейчас разрабатываю собственный физический движок для создания игр. Хотите ли вы, чтобы я рассказывал как я его делаю тут?
Я сейчас разрабатываю собственный физический движок для создания игр. Хотите ли вы, чтобы я рассказывал как я его делаю тут?
👎2👍1🥰1🍌1
Сегодня написал скрипт получения горизонтального направления, считывая нажатия стрелочек и добавил классу Sprite(это тот, который отвечает за каринку, соответствующую объекту) функцию, которая разворачивает изображение)
🔥2
Задача:
Аня идет по лестнице, каждый шаг она выбирает действие
1. Если ноги у неё на одной ступеньке, шагнуть левой ногой, сложность шага должна быть не больше l1.
2. Если ноги у неё на одной ступеньке, она может шагнуть правой ногой, сложность шага не должна превышать r1.
3.Если ноги у Ани на разных ступеньках, она может поставить одну ногу рядом с другой.
4. Если ноги у Ани на разных ступеньках, она может шагнуть той ногой, которая ниже, ставит её на ступеньку рядом с предыдущей и шагает не более чем на r2 или l2 для правой и левой ноги соответственно. Это происходит за одно действие
Вам даны высоты ступенек, их количество, l1, r1, l2, r2.
Найдите за какое минимальное число шагов обе ноги окажутся на верхней ступеньке.
Аня идет по лестнице, каждый шаг она выбирает действие
1. Если ноги у неё на одной ступеньке, шагнуть левой ногой, сложность шага должна быть не больше l1.
2. Если ноги у неё на одной ступеньке, она может шагнуть правой ногой, сложность шага не должна превышать r1.
3.Если ноги у Ани на разных ступеньках, она может поставить одну ногу рядом с другой.
4. Если ноги у Ани на разных ступеньках, она может шагнуть той ногой, которая ниже, ставит её на ступеньку рядом с предыдущей и шагает не более чем на r2 или l2 для правой и левой ноги соответственно. Это происходит за одно действие
Вам даны высоты ступенек, их количество, l1, r1, l2, r2.
Найдите за какое минимальное число шагов обе ноги окажутся на верхней ступеньке.
Всем здравствуйте, хочу пожелать удачи всем, кто идет сегодня на Олимпиаду по информатике.
Пожалуй один из наиболее обширных алгоритмов - динамика(ну вариаций ±∞) . Мы помним что она бывает двумерной или трёхмерной, а может и одномерной. А так еще важно помнить, что проход по двумерному массиву будет стоить вам произведение его длин, будьте осторожны с двумерной динамикой) Также не забываем про логарифм, это хорошая сложность. Получить её можно, например, используя meet in middle. Ну это как в сортировке слиянием у вас сортируются половинки, а потом их объединение, тут нужно не забыть, что логарифм умножится на сложность на кусочке.
Думаю не нужно объяснять, что писать сортировку на Олимпиаде не нужно, прекрасный c++ умеет сортировать с заданным алгоритмом. В sort есть третий аргумент - функция по которой он определяет что больше другого, она должна принимать два аргумента, возвращать true/false. Хорошо, это неплохо. Замечу, что на Олимпиаде 99% будут графы, DFS и BFS вам в помощь. Это алгоритмы обхода графов, их написание есть тут выше). Не думаю что на муниципе вам попадется Дейкстра какой-нибудь) . Мы не забываем, что существуют жадные алгоритмы, и они иногда работают. Не надо в первой задаче применять три бинпоиска по динамике и после этого получить граф решений по которому надо пройтись.
Даамс, получилось объемнее обычной лекции... Всем удачи)
Пожалуй один из наиболее обширных алгоритмов - динамика(ну вариаций ±∞) . Мы помним что она бывает двумерной или трёхмерной, а может и одномерной. А так еще важно помнить, что проход по двумерному массиву будет стоить вам произведение его длин, будьте осторожны с двумерной динамикой) Также не забываем про логарифм, это хорошая сложность. Получить её можно, например, используя meet in middle. Ну это как в сортировке слиянием у вас сортируются половинки, а потом их объединение, тут нужно не забыть, что логарифм умножится на сложность на кусочке.
Думаю не нужно объяснять, что писать сортировку на Олимпиаде не нужно, прекрасный c++ умеет сортировать с заданным алгоритмом. В sort есть третий аргумент - функция по которой он определяет что больше другого, она должна принимать два аргумента, возвращать true/false. Хорошо, это неплохо. Замечу, что на Олимпиаде 99% будут графы, DFS и BFS вам в помощь. Это алгоритмы обхода графов, их написание есть тут выше). Не думаю что на муниципе вам попадется Дейкстра какой-нибудь) . Мы не забываем, что существуют жадные алгоритмы, и они иногда работают. Не надо в первой задаче применять три бинпоиска по динамике и после этого получить граф решений по которому надо пройтись.
Даамс, получилось объемнее обычной лекции... Всем удачи)
Расскажите что вам показалось самым сложным, можете ещё что-то рассказать про тур
Всем "Hello". Сегодня я хочу рассказать про то, что все использовали хотя бы раз, но, возможно, не знают что это, и как это работает.
Рассмотрим задачу, мы делаем фреймворк и хотим, чтобы мы могли брать код пользователя и его использовать. Например, хотим взять функцию, которая была им написана, и изменить её так, чтобы к её выводу добавилось её название, список аргументов и что то ещё. С этим нам помогут ДЕКОРАТОРЫ.
Декораторы - просто функции, но они принимают как аргумент функцию и возвращают функцию). Рассмотрим пример(мб понятнее станет).
Вывод:
Hello from decorator Hello from function.
Так вот, думаю принцип понятен, давайте, для закрепления пару упражнений, и как только кто-то сделает их, я выпускаю следующий блок)
1. Напишите декоратор, который превращает функцию, возвращающую 5, в функцию, возвращающую 6.
2. Пусть есть глобальная строка s. Функция её выводит. Сделайте декоратор, который заставляет печатать s большими буквами.
Рассмотрим задачу, мы делаем фреймворк и хотим, чтобы мы могли брать код пользователя и его использовать. Например, хотим взять функцию, которая была им написана, и изменить её так, чтобы к её выводу добавилось её название, список аргументов и что то ещё. С этим нам помогут ДЕКОРАТОРЫ.
Декораторы - просто функции, но они принимают как аргумент функцию и возвращают функцию). Рассмотрим пример(мб понятнее станет).
def dec(f) :
def newfunk():
return "Hello from decorator" + f()
# обращу внимание, что тут используется значение функции.
return newfunk
def funk():
return "Hello from function"
funk = f(funk)
funk()
Вывод:
Hello from decorator Hello from function.
Так вот, думаю принцип понятен, давайте, для закрепления пару упражнений, и как только кто-то сделает их, я выпускаю следующий блок)
1. Напишите декоратор, который превращает функцию, возвращающую 5, в функцию, возвращающую 6.
2. Пусть есть глобальная строка s. Функция её выводит. Сделайте декоратор, который заставляет печатать s большими буквами.
🔥2🤓1
Всех С Новым годом! Желаю всем удачи, удачной компиляции кода и высоких баллов на олимпиадах)))
Постораюсь в этом году больше лекций писать)
Постораюсь в этом году больше лекций писать)
🙏1