Home - moevm/gui-1h2017-01 GitHub Wiki

Тренировка определения последнего этапа сборки кубика Рубика

Список участников:

  1. Азаров Артур
  2. Туров Владимир
  3. Шадринцев Игорь

Анализ пользователей

Обучающийся - определяет состояние верхнего слоя кубика Рубика и выбирает алгоритм конечной сборки. Сценарий использования:

  1. Программа выдает пользователю случайный вариант разборки PLL
  2. Пользователь определяет состояние PLL
  3. Пользователь выбирает алгоритм конечной сборки из набора предложенных программой вариантов
  4. Программа определяет правильность выбора

Анализ предметной области

Основные понятия

PLL (Permutation of the Last Layer) – заключительный этап сборки кубика Рубика, заключающийся в перестановке (пермутации) ребер и улов последнего слоя, относительно друг друга, когда они уже ориентированы.

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

Случай PLL - один из 21-го возможного варианта перестановки ребер и углов последнего слоя, в результате которой кубик Рубика переходит в собранное состояние.

Двугранное определение - техника определения случая PLL, основанная на том, что любой случай PLL можно определить, посмотрев на две его грани из четырёх.

Анализ задач и разработка архитектуры

Основные задачи проекта:

  1. Генерация корректных случайных состояний PLL
  2. Отображение кубика в перспективе, удобной для решения задачи
  3. Сбор статистики и построение графика прогресса
  4. Обучение пользователя по работе с программой и основам определения PLL случаев

Архитектура приложения

Диаграмма компонентов