👉 Overshooting интерполятор
class OvershootingInterpolator : public Interpolator {
public:
int type = Interpolator::TYPE_CYCLE;
float c = 0.5;
virtual float calculate(double time) {
return (c + 1) * pow(time - 1, 3) + c * pow(time - 1, 2) + 1;
}
};
👍1
Media is too big
VIEW IN TELEGRAM
День 20: Заметка 1: Анимация пульсации
Сегодня решил набросать пример пульсирующей точки.
Код анимации прост и состоит из двух частей:
👉 сначала необходимо последовательно расширять круг до целевого радиуса
👉 затем наоборот круг сворачивается обратно в точку.
На каждом цикле отрисовки радиус увеличивается (или уменьшается) на 1 единицу (или с определенным шагом). При уменьшении нужно еще затирать ранее нарисованные окружности, чтобы создавался эффект уменьшения круга.
📷 Демо на видео.
#Arduino
Сегодня решил набросать пример пульсирующей точки.
Код анимации прост и состоит из двух частей:
👉 сначала необходимо последовательно расширять круг до целевого радиуса
👉 затем наоборот круг сворачивается обратно в точку.
На каждом цикле отрисовки радиус увеличивается (или уменьшается) на 1 единицу (или с определенным шагом). При уменьшении нужно еще затирать ранее нарисованные окружности, чтобы создавался эффект уменьшения круга.
📷 Демо на видео.
#Arduino
👍1
Media is too big
VIEW IN TELEGRAM
День 21: Заметка 1: Падающие шарики
👨💻Собрал демо падающих объектов.
👉 Использовал ранее наработанные интерполяторы.
На демо видно, как объекты генерируются рандомно в пределах ширины и высоты панели со случайны радиусом.
Затем вычисляется расстояние, которое они должны пролететь до края панели и применяется bounce интерполятор.
#Arduino
👨💻Собрал демо падающих объектов.
👉 Использовал ранее наработанные интерполяторы.
На демо видно, как объекты генерируются рандомно в пределах ширины и высоты панели со случайны радиусом.
Затем вычисляется расстояние, которое они должны пролететь до края панели и применяется bounce интерполятор.
#Arduino
👍1
Media is too big
VIEW IN TELEGRAM
День 22: Заметка 1: Коллизии для шариков
🤟 Хай, кодерс!
🎯 Так-так-так, катать шарики научился, теперь хотелось бы реализовать коллизии, то есть факт столкновения двух и более шариков в процессе их движения.
👉 Для кружков логика простая: два круга пересекаются, если сумма их радиусов больше расстояние между их центрами.
👉 Вспомним школу: расстояние между точками равно сумме квадратов разниц их координат. Это будем использовать для определения коллизий.
В демо:
👉 реализовано перемещение по экрану (впределах панели) двух шаров
👉 слева сверху есть счетчик столкновений
👉 при столкновении счетчик меняется и меняется цвет шариков
#Arduino
🤟 Хай, кодерс!
🎯 Так-так-так, катать шарики научился, теперь хотелось бы реализовать коллизии, то есть факт столкновения двух и более шариков в процессе их движения.
👉 Для кружков логика простая: два круга пересекаются, если сумма их радиусов больше расстояние между их центрами.
👉 Вспомним школу: расстояние между точками равно сумме квадратов разниц их координат. Это будем использовать для определения коллизий.
В демо:
👉 реализовано перемещение по экрану (впределах панели) двух шаров
👉 слева сверху есть счетчик столкновений
👉 при столкновении счетчик меняется и меняется цвет шариков
#Arduino
👍1
Media is too big
VIEW IN TELEGRAM
День 23: Заметка 1: ArduinoThreads + Коллизии шариков = 💪
🤔 В прошлом сообщении описал реализацию обработки коллизий при движении шариков. Этот код работает, но могут быть проблемы.
🤔 Дело в том, что вся логика: перемещение шаров, проверка коллизий, отрисовка - все происходит в одном основном потоке. Вычисления коллизий может занимать длительное время, если шариков будет много, ведь надо будет посчитать коллизии каждого шарика с каждым.
🎯 Настало время попробовать многопоточность на
Я выделил три потока:
👉
👉
👉
Для наглядности собрал демо, чуть пободрее работает в случае нескольких потоков.
Кажется неплохо.
#Arduino
🤔 В прошлом сообщении описал реализацию обработки коллизий при движении шариков. Этот код работает, но могут быть проблемы.
🤔 Дело в том, что вся логика: перемещение шаров, проверка коллизий, отрисовка - все происходит в одном основном потоке. Вычисления коллизий может занимать длительное время, если шариков будет много, ведь надо будет посчитать коллизии каждого шарика с каждым.
🎯 Настало время попробовать многопоточность на
Arduino. Я выделил три потока:
👉
movingThread - отвечает за перемещения шариков на экране, то есть смещение во времени координат шарика с определенной скоростью👉
collisionSolvingThread - отвечает за просчет коллизий между шариками, если коллизия найдена, то меняет цвет шариков и увеличивает счетик👉
drawingThread - отвечает за отрисовку всего на экране.Для наглядности собрал демо, чуть пободрее работает в случае нескольких потоков.
Кажется неплохо.
#Arduino
👍1
Code Every Day 🚀
День 23: Заметка 1: ArduinoThreads + Коллизии шариков = 💪 🤔 В прошлом сообщении описал реализацию обработки коллизий при движении шариков. Этот код работает, но могут быть проблемы. 🤔 Дело в том, что вся логика: перемещение шаров, проверка коллизий, отрисовка…
👉 Я использовал библиотеку для организации работы с потоками ArduinoThreads, она предоставляет простое
SDK для работы с потоками, как это выглядит во многих других SDK языков программирования (контроллер может не иметь многопоточности, поэтому это просто эмуляция многопоточности).GitHub
GitHub - ivanseidel/ArduinoThread: ⏳ A simple way to run Threads on Arduino
⏳ A simple way to run Threads on Arduino. Contribute to ivanseidel/ArduinoThread development by creating an account on GitHub.
👍1
Code Every Day 🚀
День 23: Заметка 1: ArduinoThreads + Коллизии шариков = 💪 🤔 В прошлом сообщении описал реализацию обработки коллизий при движении шариков. Этот код работает, но могут быть проблемы. 🤔 Дело в том, что вся логика: перемещение шаров, проверка коллизий, отрисовка…
👨💻 Код примера работы с несколькими потоками
👍1
День 24: Заметка 1: Синдром отложенной жизни
🎯 Сегодня хотел бы подсветить такую тему как
👉 Этот синдром открыл наш отечественный психолог, изучая жизнь людей, проживающих в суровых условиях.
Суть заключается в том, что люди, склонные к проявлениям этого синдрома, часто живут нереальной жизнью, а идеей об изменениях в будущем.
👉 Например, люди, проживающие в условиях севера, могут мечтать о том, что они скопят денег и переедут на юг. Нужно только потерпеть и подкопить. Но проблема в том, что это может продолжаться очень долго, годами. При этом человек считает, что настоящая жизнь начнется когда-то потом.
👉 Такое на самом деле часто можно встретить, например, начинающий разработчик может размышлять: вот закончу курсы по освоению какой-то технологии и тогда стану гуру, вот тогда только я буду горд за себя, заживу, заработаю миллион.
👉 А настоящая жизнь проходит мимо. Человек не получает радости от текущего момента.
Часто люди не осознают этого.
👉 Еще интересный момент: люди, склонные к синдрому отложенной жизни, часто переоценивают повортный момент в будущем, когда все должно поменяться. Часто образ будущего за днем
🤔 Кто-то критикует идею о существовании синдрома отложенной жизни, говоря, что большие цели нельзя быстро достичь, их в любом случае придется реализовывать на протяжении длительного периода времени.
👆 Я думаю, что все должно быть в меру, то есть ставить большие цели надо, достигать их тоже надо, но это не должно быть главной супер целью жизни. Сделал маленький шаг в направлении цели, переключился на реальную жизнь, и так далее без фанатизма.
#Life
🎯 Сегодня хотел бы подсветить такую тему как
синдром отложенной жизни.👉 Этот синдром открыл наш отечественный психолог, изучая жизнь людей, проживающих в суровых условиях.
Суть заключается в том, что люди, склонные к проявлениям этого синдрома, часто живут нереальной жизнью, а идеей об изменениях в будущем.
👉 Например, люди, проживающие в условиях севера, могут мечтать о том, что они скопят денег и переедут на юг. Нужно только потерпеть и подкопить. Но проблема в том, что это может продолжаться очень долго, годами. При этом человек считает, что настоящая жизнь начнется когда-то потом.
👉 Такое на самом деле часто можно встретить, например, начинающий разработчик может размышлять: вот закончу курсы по освоению какой-то технологии и тогда стану гуру, вот тогда только я буду горд за себя, заживу, заработаю миллион.
👉 А настоящая жизнь проходит мимо. Человек не получает радости от текущего момента.
Часто люди не осознают этого.
👉 Еще интересный момент: люди, склонные к синдрому отложенной жизни, часто переоценивают повортный момент в будущем, когда все должно поменяться. Часто образ будущего за днем
Х размыт.🤔 Кто-то критикует идею о существовании синдрома отложенной жизни, говоря, что большие цели нельзя быстро достичь, их в любом случае придется реализовывать на протяжении длительного периода времени.
👆 Я думаю, что все должно быть в меру, то есть ставить большие цели надо, достигать их тоже надо, но это не должно быть главной супер целью жизни. Сделал маленький шаг в направлении цели, переключился на реальную жизнь, и так далее без фанатизма.
#Life
👏1