Задача выполняется на сайте Ulearn.me, надо обязательно зайти на этот сайт и выполнить, все данные я вышлю. Необходимо провалиться в раздел "Основы программирования часть 1", далее в разделе "Практикум" выбрать и выполнить практическое задание "Визуализация"
В том же проекте доработайте файл VisualizerTask.cs, чтобы заработала визуализация.
- В методе KeyDown сделайте, чтобы манипулятор реагировал на клавиши QASW таким образом:
- по Q увеличивает угол Shoulder на небольшую величину, а по A — уменьшает;
- по W увеличивает угол Elbow на небольшую величину, а по S — уменьшает;
- при любых изменениях пересчитывает Wrist по формуле Wrist = - Alpha - Shoulder - Elbow;
- В методе MouseMove менял бы X и Y в соответствии со значением из события — координатами мыши относительно окна. Имейте в виду, что ось Y в окне направлена вниз, а в математике — вверх. Поэтому координаты мыши нужно преобразовывать из оконной системы координат в логическую, а при отрисовке наоборот. X и Y в итоге должны хранить логические координаты указателя мыши, относительно shoulderPos — координат единственного неподвижного сустава. Преобразовать оконные координаты в логические и наоборот можно с помощью пары готовых функций ConvertMathToWindow и ConvertWindowToMath.
- В методе MouseWheel добавить обработку прокрутки колеса мыши. Оно должно менять Alpha.
В методе UpdateManipulator вызвать ManipulatorTask.MoveManipulatorTo и обновить значения Shoulder, Elbow и Wrist (это понадобится в последней задаче). UpdateManipulator нужно вызывать после каждого изменения X, Y или Alpha, то есть в методах MouseMove ...далее на сайте