Система частиц (курсовая)

Задачки вот такие, если сделать точно как в примере это будет максимум 4, я знаю, что я говорил немного по другому, но мне хочется конечно же от вас чего-то большего. И вы справитесь, я в вас верю =О

1

Реализовать эмиттер который перемещается по окружности, а направление вылета частицы меняется по касательной к окружности.

  • добавить trackbar для управлением радиусом окружности
  • и для управлением скоростью движения эмиттера
  • а также для изменения количества частиц за тик
пример
2

Реализовать управление направленным эмиттером

  • добавить trackbar для изменения направления эмиттера
  • и для градуса распределения частиц
  • и для изменения скорости вылета частиц
  • а также для изменения количества частиц за тик
  • ну и для продолжительности жизни
  • дополнительно выводить количество активных частиц на данный тик
пример
3

Создать птичку из эмиттеров. У птички должны присутствовать

  • Хвост
  • Туловище
  • Крылья
  • Голова

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

пример
4

Реализовать телепорт, попадая в радиус действия которой частицы телепортируются в другую указанную точку.

  • По клику левой кнопки мыши перемещать вход телепорта в точку клика
  • По клику правой кнопки мыши перемещать ВЫХОД телепорта в точку клика
  • (необязательно) Добавить TrackBar для управления радиусом телепорта
  • (необязательно) Добавить TrackBar для управления направлением движения частиц на выходе
пример
5

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

  • Реализовать раскрашивание, например, снега падающего с неба
  • добавить trackbar с помощью которого можно перемещать точки перекрашивания
  • (необязательно) добавить trackbar с помощью которого можно менять радиус точек перекрашивания
  • (необязательно) добавить кнопочку которая будет переключать палитру
пример
6

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

  • при клике мышкой добавлять новый счетчик
  • (необязательно) при клике правой кнопкой мыши, удалять счетчик
  • (необязательно) при увеличении счетчика менять насыщеность цвета счетчика
пример
7

Реализовать области-точки попадая в которые частицы отскакивают в соответствии с правилом угол падения равен углу отражения

  • расположить несколько таких областей
  • привязать одну из областей чтобы она следовала за мышкой
  • (дополнительно) при кручении колесиком мышки изменять размер области
пример
8

Реализовать точку-область а-ля радар

  • все частицы, попадающие в заданную область должны подсвечиваться как-то цветом
  • в центре необходимо писать количество частиц, оказавшихся в зоне действия радара
  • используя колесико мыши менять размеры области
  • (необязательно) вместо одной надписи с количеством частиц, выводить сколько всего маленьких/средних/больших частиц присутствует в области
пример
9

Реализовать debug режим,

  • в котором рисуются вектора скорости каждой частицы
  • добавить кнопочку для остановки симуляции движения частиц
  • добавить кнопочку для пошагового выполнения симуляции
  • добавить trackbar для замедления симуляции
  • при наведении мышки на частицу, выводить ее координаты и значение Life
  • (необязательно) добавить кнопочку которая позволяет выполнять симуляцию в обратную сторону, хотя бы на последние 10 шагов
пример