Escanear y resolver: Actualización final del cubo de Rubik de DecisionRules
Bienvenido de nuevo al mundo del Cubo de Rubik. Estamos orgullosos de anunciar una nueva e importante actualización final para nuestro showcase del Cubo de Rubik que utiliza DecisionRules para resolver este famoso rompecabezas. Te presentamos un nuevo modo de Escaneo del Cubo que incluye también una actualización gráfica completa.
Ha pasado algún tiempo desde la última vez que publicamos un artículo acerca del cubo de Rubik. Si aún no lo has hecho, no dejes de echar un vistazo a nuestros dos artículos anteriores, en los que hablábamos de los inicios del cubo de Rubik y del viaje que supuso crear una aplicación para resolver un cubo de Rubik con DecisionRules en Unity.
- Primer artículo: DecisionRules.io | Solving Rubik’s cube in DecisionRules
- Segundo artículo: DecisionRules.io | DecisionRules Rubik’s cube public release with guidance mode
Antes de empezar, me gustaría resumir brevemente nuestro viaje, para mostrarles lo lejos que hemos llegado.
Nuestro viaje comenzó explorando la historia del cubo de Rubik y mostrando nuestro enfoque del software para resolver cubos de Rubik mediante el método CFOP, la técnica más utilizada para resolver el cubo. Profundizamos en sus complejidades. Hablamos de la integración de DecisionRules, WebGL y Unity, detallando cómo se conectó el cubo de Rubik con DecisionRules para crear un algoritmo. Además, mostramos el proceso de creación de tu propio cubo.
Veamos ahora las novedades de esta versión.
Modo de escaneo de cubos: Actualizando el proceso de configuración
Imagina integrar perfectamente tu cubo de Rubik físico en nuestra aplicación Unity* con unos sencillos pasos. El nuevo Modo de Escaneado de Cubos lo hace posible, permitiendo a los usuarios escanear y cargar sin esfuerzo la configuración de su cubo. Esta función mejora la experiencia interactiva, haciéndola más atractiva y accesible, y conecta DecisionRules con un escenario del mundo real.
¿Cómo escaneamos nuestro cubo?
Hay varias formas de escanear un cubo de Rubik, como tomar varias fotos de todas sus caras o utilizar vídeo. Nosotros optamos por esta última opción. Todo lo que necesitas para ello es una computadora o un teléfono con cámara (y un cubo de Rubik).
Revisión de los colores de los cubos: El reto y nuestra solución
Uno podría pensar que la forma más sencilla de identificar los colores de un cubo de Rubik es utilizar la IA. Podrías sacar una foto y la IA detectaría automáticamente los colores. Sin embargo, hay un problema. La IA, aunque poderosa, no verifica intrínsecamente la exactitud de sus resultados. Intenta dar la mejor respuesta posible basándose en su entrenamiento, pero esto puede dar lugar a errores.
Por ejemplo, si le pides a la IA que identifique los colores de tu cubo de Rubik, es posible que produzca resultados erróneos aunque los colores sean correctos. Esto significa que probablemente tendrías que corregir manualmente los errores después, lo que anula el propósito de la detección automática. Ahora imagina que esto se combina con unas condiciones de poca luz. La IA podría confundir colores como el rojo y el naranja o el blanco y el amarillo, lo que provocaría aún más errores. El resultado sería tal cantidad de errores que ni siquiera podríamos considerarlo una función.
Para superarlo, hemos desarrollado un método muy sencillo, y a la vez más fiable. Nuestra solución consiste en colocar un marco en la pantalla (para un cubo de Rubik de 3x3), con nueve sensores en el centro de cada segmento que verifican periódicamente el color que tienen debajo. Cuando el usuario alinea su cubo con el marco, estos sensores detectan con precisión los colores del cubo. Este método garantiza una identificación más precisa del color, incluso en condiciones poco ideales, porque podemos ajustar con precisión los rangos de color de los sensores. Aunque este método es mucho mejor, las condiciones de iluminación pueden seguir produciendo resultados incorrectos, por lo que hay que garantizar una buena iluminación.
Ten en cuenta que únicamente permitimos los colores estándar del cubo de Rubik: rojo, verde, azul, amarillo, blanco y naranja.
Para los aficionados a la programación, he aquí la síntesis del código
Como funciona:
- Alinear y escanear: Coloca tu cubo correctamente y escanea el centro.
- Verificar colores: Verifica los colores escaneados con los indicadores visuales y procede.
- Completar el proceso: Repite con todos los lados para capturar todo el cubo.
Este innovador método ofrece un sistema de navegación interactivo y fácil de usar que te guía a través de cada paso con claras ayudas visuales. Las líneas de colores y los indicadores se ajustan dinámicamente para garantizar un escaneado preciso, facilitando más que nunca la entrada del estado del cubo.
Genial, pero ¿y si he escaneado mi cubo de forma incorrecta?
Eso no es problema, después de escanear tu cubo, viene la segunda parte, editar (o crear tu propio cubo) en Unity, donde puedes revisar y editar el color de tu cubo como quieras. Los pasos para editar tu cubo son los mismos que para escanearlo, así que será fácil de entender.
Una experiencia de usuario impecable
El último rediseño UX/UI aporta un aspecto fresco y moderno a la aplicación, mejorando tanto la estética como la funcionalidad. El objetivo de estas actualizaciones es ofrecer a los usuarios una experiencia más fluida y atractiva en todos los dispositivos.
Lo más destacado del rediseño:
- Nueva interfaz elegante: Disfruta de un diseño visualmente atractivo, intuitivo y fácil de navegar.
- Mejora de la experiencia móvil: La capacidad de respuesta optimizada garantiza un uso sin problemas en dispositivos móviles.
- Directrices claras y concisas: Las instrucciones paso a paso y los comentarios en tiempo real hacen que el proceso de resolución sea sencillo y agradable.
- Tutorial para principiantes: Una nueva opción de tutorial en el menú principal ayuda a los usuarios a orientarse eficazmente en la aplicación.
¿Quieres intentarlo?
Mientras se publicaba este artículo, también hemos publicado una nueva versión del Cubo de Rubik de DecisionRules en nuestras Aplicaciones de Muestra. Prueba escanear tu cubo, define uno, o simplemente juega y resuélvelo.
Si no tienes un cubo, pero aun así quieres probar esta nueva función, puedes escanear la siguiente permutación:
Este proyecto demuestra que los BRMS (motores de reglas) son herramientas versátiles, útiles no solamente para organizaciones maduras que gestionan problemas empresariales complejos, sino también en campos tan diversos como el desarrollo de juegos independientes.
Gracias a todos, espero que hayan disfrutado de nuestro viaje por el cubo de Rubik. Estoy deseando ver lo que son capaces de resolver.
Un agradecimiento especial a Erik Lehocký por su excepcional apoyo y orientación a lo largo de este proyecto.
Por última vez, ¡feliz juego!
El Cubo de Rubik, inventado en 1974 por el escultor y profesor húngaro Ernő Rubik, es un rompecabezas tridimensional de combinaciones, famoso en todo el mundo. Originalmente llamado el Cubo Mágico, se convirtió rápidamente en una sensación mundial, con alrededor de 500 millones de unidades vendidas en enero de 2024, convirtiéndose en el rompecabezas y juguete más vendido del mundo. El cubo clásico presenta seis caras con nueve calcomanías cada una en colores sólidos, pero las versiones modernas suelen utilizar paneles de plástico de colores para evitar el desgaste. Para resolver el rompecabezas hay que alinear cada cara para que muestre un solo color, lo que se consigue mediante un mecanismo de pivote interno. El Cubo de Rubik sigue siendo popular, inspirando numerosos rompecabezas similares y una vibrante comunidad de speedcubers que compiten bajo la Asociación Mundial del Cubo desde 2003. Incluido en el Salón Nacional de la Fama del Juguete de Estados Unidos en 2014, el cubo de Rubik sigue siendo un icono cultural y recreativo.