Ответы на Ulearn

Практика «Визуализация»

50 руб.

В том же проекте доработайте файл VisualizerTasks.cs, чтобы заработала визуализация.

  1. В методе KeyDown сделайте так манипулятор реагировал на клавиши QASW таким образом:

    • по Q увеличивает угол Shoulder на небольшую величину, а по A — уменьшает;
    • по W увеличивает угол Elbow на небольшую величину, а по S — уменьшает;
    • при любых изменениях пересчитывает Wrist по формуле Wrist = - Alpha - Shoulder - Elbow;
  2. В методе MouseMove менял бы X и Y в соответствии со значением из события. Имейте в виду, что ось Y в окне направлена вниз, а в математике — вверх. Поэтому координаты мыши нужно преобразовывать из оконной системы координат в логическую, а при отрисовке наоборот. X и Y в итоге должны хранить логические координаты указателя мыши, относительно shoulderPos — координат единственного неподвижного сустава. Преобразовать оконные координаты в логические и наоборот можно с помощью пары готовых функций ConvertMathToWindow и ConvertWindowToMath.

  3. В методе MouseWheel добавить обработку прокрутки колеса мыши. Оно должно менять Alpha.

  4. В методе UpdateManipulator вызвать ManipulatorTasks.MoveManipulatorTo и обновить значения Shoulder, Elbow и Wrist (это понадобится в последней задаче). UpdateManipulator нужно вызывать после каждого изменения X, Y или Alpha, то есть в методах MouseMove и MouseWheel.

  5. В методе DrawManipulator допишите рисование манипулятора. Нарисуйте каждый сегмент манипулятора отрезком прямой, а каждый сустав — окружностью. Координаты сустава получите методом AnglesToCoordinatesTasks.GetJointPositions. Не забудьте преобразовать логические координаты в оконные.

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

Купить решение:

Ваш Email (на него будет отправлен ответ)

Продолжая, вы соглашаетесь с пользовательским соглашением

Возможны трудности с доставкой сообщений на Gmail