Guiding program for assembling rubik's cube based on 3D model

Rubik’s cube 3D model. Hardware and software systems for rubik’s cube solving. Designing and developing application for assembling a rubik's cube. Preventing wrong moves algorithm. Introduction to group theory and permutation puzzles. Computer vision.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык английский
Дата добавления 01.12.2019
Размер файла 6,4 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

To understand how the developed application works and what decision paths should user lead during the working process, added activity diagrams and class diagrams. For having a visual representation, screenshots of the working application were added.

Conclusion

Over the last few years, computer vision systems are widely developing and integrating into different spheres of our life. Using computer vision makes decision support systems more comfortable in interaction with the user. In this work, it was using to achieve better and faster interaction in the decision support system.

The main problem raised in this work is using computer vision technology in the teaching process, in this case solving the Rubik's cube. Such a way of interaction with the user is faster and easier, comparing to the manual input. The result of this work is an Android application, which allows creating a 3D model of the real cube and guiding the user through the steps to achieve the solution.

The tasks defined in the introduction were fully solved. For solving the first task, provided comparing between existing Rubik's Cube solving systems, found their advantages and disadvantages. After the comparing process, it was decided to use computer vision technology for more comfortable interaction with users and the possibility to add teaching elements in the solving process. Based on the obtained data duringthe comparing process, defined the main functions of the application, which allowed to solve the second task.

For solving the third task, described and analyzed Rubik's cube. Based on the obtained data during analysis, defined main parts, required for creatingthe author's 3D Rubik's cube model, these parts are tiles, cubies, layer, and face. All these parts used in different processes during the application work. Tiles are the smallest parts, used in the recognition process. Computer vision libraries comparison provided in the coursework, after that OpenCV library was chosen as an appropriate one for performing the scanning process. Using this library, the tiles recognition process performs, which helped to solve the fourth task. To perform this process correctly, few additional image-processing algorithms have been implemented. For example, the author's algorithm, allowing to determine the tile color and position, which has not been scanned yet. Using this algorithm decreased a computational error and it reduced the time for tile color recognizing because most of the tiles are computed preliminarily.

For solving the sixth task, it was necessary to draw the program interface and represent the created 3D model. OpenGL library helped in solving this task. It was chosen because it is widely used in the development and it is Android native. Developed unique algorithms for cube representation, tiles generation, and interaction with the 3D model. Implemented method for recognizing the current state of the cube and applying this state to the 3D model for more convenient interaction with the user. [1] All the developed algorithms and 3D model, helped to solve the fifth task.

To perform the solving process correctly and solve the seventh task, created an abstract model of the cube, which allows computing guiding steps in the background and determines the wrong user moves instantly. When the current phase solving is complete, the user can see necessary notations, determining what permutations should be done, and the rotating arrow is showing what layer of the cube should be rotated at this moment. Adding these functions allowed to solve the eighth task. The abstract model makes it possible to start solving speed training mode when the user should repeat rotation moves for the application. It can be helpful for different level users because it is possible to change the rotation speed.

During the solving process, the user understands the permutation principles, necessary formulas for each of the phases and memorizes it, using also muscle memory.

The average result of necessary moves to achieve the solution is 120, considering, that layer rotations by 180 degrees were removed to simplify the user experience.

Developed application was uploaded to the Google Play Market.

In addition, there are a few aspects, which could be improved in the future. The first one is adding new algorithms for solving, like Kociemba's method, which will reduce the necessary moves to achieve the solution. The next step could be improving the scanning algorithm, which will rely less on calibration and will calibrate colors automatically. Also, it would be useful to add socializing functions, which will make it possible to compete with other players around the world in speed cubing.

References

[1] N. V. Kazachenko “The Program for Creating Rubik's cube 3D Model and Tracking its Position Using the Smartphone Front Camera”, 2019

[2] “Definition: Singmaster Notation” [Online]

[3] “The Mathematics of the Rubik's Cube Introduction to Group Theory and Permutation Puzzles” March 17, 2009

[4] “Introduction to Group Theory and Permutation Puzzles”, 2009

[5] “Gaussian filter” [Online],

[6] “Morphological Dilation” [Online]

[7] Jinxiang Ma, Xinnan Fan, Simon X. Yang, Xuewu Zhang, Xifang Zhu, “Contrast Limited Adaptive Histogram Equalization Based Fusion for Underwater Image Enhancement”, March 14, 2017

[8] “Histogram Equalization” [Online]

[9] “CFOP method” [Online]

[10] “How to solve the Rubik's cube” [Online]

[11] “MIT solving robot” [Online]

[12] “Smart cube” [Online]

[13] Dave Shreiner, Graham Sellers, John Kessenich, Bill Licea-Kane, “OpenGLR Programming Guide Eighth Edition. The Official Guide to Learning OpenGLR”, 2013

[14] Gary Bradski and Adrian Kaehler, “Learning OpenCV”, 2008

[15] Sumanta Guha, “Computer graphics through OpenGL”, 2019

[16] Salil Kapur, “Mastering OpenCV Android Application Programming”, 2015

[17] Slawo Wesolkowski, Ed Jernigan, “Color Edge Detection in RGB Using Jointly Euclidean Distance and Vector Angle”, 2019

Размещено на Allbest.ru

...

Подобные документы

  • Lists used by Algorithm No 2. Some examples of the performance of Algorithm No 2. Invention of the program of reading, development of efficient algorithm of the program. Application of the programs to any English texts. The actual users of the algorithm.

    курсовая работа [19,3 K], добавлен 13.01.2010

  • Theoretical aspects of the application digital education resources in teaching computer science according to the capabilities of electronic programs. Capabilities of tools Microsoft Office and Macromedia Flash. Application of the program Microsoft Excel.

    контрольная работа [1,5 M], добавлен 07.07.2013

  • Процессоры Duron на ядре Spitfire (Model 3), Morgan (Model 7), Applebred (Model 8), Mobile Duron Camaro. Схема материнской платы EP-8KHAL+. Микросхема "Северный мост". Звуковой чип ALC201A. Конфигурация системной памяти. Регулятор заглушки шины RT9173.

    курсовая работа [3,6 M], добавлен 26.03.2013

  • The material and technological basis of the information society are all sorts of systems based on computers and computer networks, information technology, telecommunication. The task of Ukraine in area of information and communication technologies.

    реферат [29,5 K], добавлен 10.05.2011

  • Basic assumptions and some facts. Algorithm for automatic recognition of verbal and nominal word groups. Lists of markers used by Algorithm No 1. Text sample processed by the algorithm. Examples of hand checking of the performance of the algorithm.

    курсовая работа [22,8 K], добавлен 13.01.2010

  • Идентификация реальных объектов, выбор и обоснование вида моделей. Динамическая система. Периоды и фазы клеточного цикла, контрольные точки, нарушение, значение, продолжительность. Регуляции перехода фаз. Компьютерное моделирование системе в пакете MVS.

    дипломная работа [2,0 M], добавлен 17.02.2014

  • Концептуальна модель бази даних, визначення зв’язків між ними, атрибутів сутностей їх доменів. Створення ORM source model та Database model diagram для бази даних "Автотранспортне підприємство". Генерування ddl-скрипта для роботи в СУБД SQL-Server.

    курсовая работа [47,3 K], добавлен 17.10.2013

  • Понятие и условие устойчивости бистабильной системы. Исследование модели "нагреватель - охлаждающая жидкость", построение фазового портрета стационарных состояний нагревателя. Компьютерное моделирование данной системы в пакете model vision studium.

    курсовая работа [1,1 M], добавлен 07.06.2013

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

    контрольная работа [1,1 M], добавлен 20.10.2014

  • Модель взаимодействия открытых систем Open Systems Interconnection Reference Model. Основные особенности модели ISO/OSI. Характеристики физических сигналов, метод кодирования, способ подключения. Канальный уровень модели ISO/OSI. Передача и прием кадров.

    презентация [52,7 K], добавлен 25.10.2013

  • Принципы построения систем с переменной структурой для управления свободным движением линейных объектов с постоянными параметрами. Разработка модели системы с переменной структурой с применением инструментов Model Vision Studium и Simulink пакета MathLab.

    дипломная работа [4,3 M], добавлен 26.10.2012

  • Создание дискретной модели популяции и определение развития численности популяции в зависимости от начального числа особей. Составление карты поведения системы. Процесс проектирования информационных систем, реализующих новую информационную технологию.

    дипломная работа [1002,8 K], добавлен 09.10.2013

  • Стационарные решения уравнения теплопроводности в характерных точках внутри диапазона бистабильности, построение фазового портрета. Создание компьютерной модели динамики материальной точки в поле кольца Тора. Представление системы в виде 3D-анимации.

    курсовая работа [500,3 K], добавлен 26.12.2014

  • IS management standards development. The national peculiarities of the IS management standards. The most integrated existent IS management solution. General description of the ISS model. Application of semi-Markov processes in ISS state description.

    дипломная работа [2,2 M], добавлен 28.10.2011

  • Description of a program for building routes through sidewalks in Moscow taking into account quality of the road surface. Guidelines of working with maps. Technical requirements for the program, user interface of master. Dispay rated pedestrian areas.

    реферат [3,5 M], добавлен 22.01.2016

  • Процесс и результаты заимствования терминов из английского языка в русский в сфере компьютерной деятельности. Рассмотрение основных типов заимствований; термины hardware, software, команды и web-термины. Дискурсивный анализ обоснованности заимствований.

    дипломная работа [101,9 K], добавлен 09.10.2013

  • Виготовлення фотоформ на базі електронного насвітлювального устаткування. Впровадження в поліграфії скорочених технологічних схем. Використання "computer-to-plate" у малій друкарні. Системи управління якістю обробки кольорової графічної інформації.

    реферат [1,4 M], добавлен 09.02.2011

  • Component Object Model. Объектная модель Microsoft. Пути решения проблемы повторного использования кода. Понятие интерфейса. Двоичный стандарт для программных компонентов. Многоразовое использование программного обеспечения.

    контрольная работа [16,2 K], добавлен 01.08.2007

  • American multinational corporation that designs and markets consumer electronics, computer software, and personal computers. Business Strategy Apple Inc. Markets and Distribution. Research and Development. Emerging products – AppleTV, iPad, Ping.

    курсовая работа [679,3 K], добавлен 03.01.2012

  • Информационный поиск: векторная модель (vector-space model). Ранжирование документов по мере их соответствия запросу. Традиционные методы оценки эффективности поиска. Концептуальное индексирование. Разрешение многозначности. Board: значения и иерархия.

    презентация [95,2 K], добавлен 01.09.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.