Jump to content
pep0n

Generador de circuitos

Recommended Posts

Alguna vez os habéis preguntado ¿cuántos circuitos puedo diseñar con las pistas que tengo?

 

Por otro lado, muchas personas cuando empiezan en el hobby lanzan preguntas del estilo, ¿alguien me puede diseñar un circuito ...?

 

Pues aquí tenéis la respuesta a esas preguntas.

 

El miércoles por la noche estaba durmiendo cuando me desperté a las 4 de la mañana porque estaba soñando que podía hacer un programa que generara de manera automática circuitos. Me quede despierto un buen rato dando vueltas pensando si eso que había soñado se podía hacer o no. A las 5 ya había decido que si que se podía hacer. Así que me levanté para tomar notas. No es la primera vez que sueño algo y luego me olvido. 

 

El miércoles dediqué un rato a repasar trigonometría porque la tenía muy olvidada y hacia mucha falta.

 

El jueves por la mañana tuve una crisis. Me puse a pensar en el coste temporal de lo que estaba pensando hacer y me asusté. Por la tarde, dándole más vueltas al asunto me equivoqué y creí que al coste no iba a ser tan alto. Así que me lancé a hacerlo.

El sábado, con el programa ya funcionando, volví a pensar en el coste temporal y me dí cuenta de lo que había hecho. Si lo hubiera pensado bien antes igual no lo hubiera intentado. Pero como me equivoqué y ya estaba hecho, solo había que pulir la interfaz para que se pudiera usar.

Así que aquí lo tenéis por si queréis jugar con él.

La interfaz es muy sencilla:

limpia.png

 

Puedes poner el número de pistas que quieres utilizar. El ancho y alto del tablero que servirá como base. El error de cierre del circuito. Por defecto es 1cm si queréis un cierre perfecto poner un 0. 

A continuación viene el susto. Indica el espacio de soluciones en el que tiene que buscar los circuitos. Utiliza fuerza bruta. Osea intenta todas las combinaciones posibles de pistas. En este momento sólo limitadas por la superficie del tablero en el que debe ir.

Si queréis intentarlo, le dais al botón de Generar y ... empieza a buscar circuitos que se puedan cerrar. 

generando.png

El botón de Generar se transforma en un Parar y encima de él aparece el tiempo que lleva buscando. Al lado un número se irá incrementando conforme encuentre circuitos. Podréis verlos cambiando con el control de la derecha del todo.

En el estado actual, y sin capar más el espacio de búsqueda es un juguetito en el que para tableros pequeños y pocas pistas se puede ver algo. Si ponéis tablero grandes o muchas pistas ... puede tardar años o quizás más.

Además, los circuitos que encuentra son muchos y la mitad están duplicados (son simétricos a otros). 

A modo de ejemplo: en mi máquina tal y como está configurado por defecto (8 rectas de 40, 4 R1 y 8 R2 en un tablero de 4m x 2m) me descubrió 46.644 circuitos y necesitó 37 minutos y 21 segundos.

Si queréis jugar, os lo podéis descargar de aquí.

Editado por pep0n

Compartir este mensaje


Enlace al mensaje
Compartir en otros sitios web

Se me olvidaba, los circuitos siempre empiezan a piñón fijo por una recta de 40cm en medio del borde de la pista, adicional a lo que se haya puesto en el control de cantidad de rectas de 40cm. Vamos, 1 recta más.

Compartir este mensaje


Enlace al mensaje
Compartir en otros sitios web

Gran aportación!!!! A ver cómo funciona...

 

 

No es grande. Es chiquitita y no vale de mucho ... de momento.

 

Probaré con las pistas del diseño del California a ver qué sale :smile:

 

Te diría que te fueras a tomar un café. Pero no será suficiente. 

 

Ya estoy pensando en introducir el concepto 'dificultad' en la generación a ver si soy capaz de restringir el espacio de búsqueda según lo difícil que vaya a ser un circuito ... tengo que pensar más.

Editado por pep0n

Compartir este mensaje


Enlace al mensaje
Compartir en otros sitios web

El miércoles dediqué un rato a repasar trigonometría porque la tenía muy olvidada y hacia mucha falta.

:huh: :huh:  Es cierto, la trigonometría sirve!!!

Si la docencia fuera de otra forma y aplicada a casos reales en vez de tantos problemitas en cuadernos....

 

 

Ya estoy pensando en introducir el concepto 'dificultad' en la generación a ver si soy capaz de restringir el espacio de búsqueda según lo difícil que vaya a ser un circuito ... tengo que pensar más.

 

¿Vas a poner unas tijeras de podar en el algoritmo? :ja:

 

Por cierto, gracias!!!! esto será otro CarreraSlot seguro!!!

Compartir este mensaje


Enlace al mensaje
Compartir en otros sitios web

¿Vas a poner unas tijeras de podar en el algoritmo? :ja:

 

Exactamente. Esa es la idea. Ahora solo hay que pensar en como será la tijera.

Compartir este mensaje


Enlace al mensaje
Compartir en otros sitios web

Mare meua Pepon¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ gracias una vez mas.

 

Uffff como Litus se ponga a jugar....en breve se avecinan obras en la pista del California :biggrin:  :biggrin:

Compartir este mensaje


Enlace al mensaje
Compartir en otros sitios web

grande maestro , no se si se podra pero estaria bien  un programita de estos para android , poder utilizarlo en el movil o tablet para ratos muertos que tienes durante el dia o por ejemplo el dia que se decide cambiar el trazado en un club.

 

como siempre ahi que quitarse el sombrero  :aplausos:  :aplausos:

Compartir este mensaje


Enlace al mensaje
Compartir en otros sitios web

Lo siento Serito pero para Android sería muy complicado porque necesita mucha capacidad de cálculo. Al menos en su versión actual.

Compartir este mensaje


Enlace al mensaje
Compartir en otros sitios web

Y como dije, hay una nueva versión. 

Esta vez se ha introducido el concepto de "dificultad" de un circuito. Es MUY discutible y quizás alguien tenga una idea mejor. Estaré encantado de oírla.

En su versión actual se define la dificultad de un circuito como el resultado de ir sumando o restando una serie de pesos en función de la pista que se coloque y de si es una contracurva o no.

Las rectas disminuyen la dificultad de un circuito:

* 40cm: -4

* 20cm: -2

* 10cm: -1

Las curvas aumentan la dificultad de un circuito:

* R1: +4

* R2: +2

* R3: +1

* R4 y R5 no aumentan la dificultad.

Las contracurvas multiplican por 6 la dificultad del circuito en función de la curva que se está poniendo. Ej: si la contracurva es una R1 la dificultad que se añade al circuito es (4*6).

¿Por qué esos valores? Por intuición y por haber probado varios y ser lo que mejor me han parecido. 

La idea es que si un circuito va a ser muy difícil no siga por el camino que está explorando. Así pues hace falta un valor de máxima dificultad para podar los caminos. Ese valor se puede poner en la interfaz debajo de la etiqueta que pone 'Dificultad'. Si se pone un valor muy alto no descarta ningún circuito y entonces funciona como la versión anterior.

conDificultad.png

Ahora, con los valores por defecto y una dificultad de 20. Tarda sólo 5:43 (mucho más rápido) y encuentra 5957 circuitos (a costa de haber desechado muchos por el camino)

Podéis descargarlo de aquí

Podéis ver que hay un botón llamado P. Si alguien quiere experimentar lo que es la exploración de las posibles soluciones que lo pulse.

Editado por pep0n

Compartir este mensaje


Enlace al mensaje
Compartir en otros sitios web

Y no será la última versión. Esta sigue siendo una mala solución.

 

Ya se me ha ocurrido la 'buena'. Pero me costará bastante hacerla.

Compartir este mensaje


Enlace al mensaje
Compartir en otros sitios web

No es grande. Es chiquitita y no vale de mucho ... de momento.

bueno si tú lo dices... Para mí es grande... Mucha gente demanda diseños y creo que será muy útil... A ver si puedo probarlo...

Compartir este mensaje


Enlace al mensaje
Compartir en otros sitios web

Crear una cuenta o conéctate para comentar

Tienes que ser miembro para dejar un comentario

Crear una cuenta

Regístrese para obtener una cuenta nueva en nuestra comunidad. ¡Es fácil!

Registrar una nueva cuenta

Conectar

¿Ya tienes una cuenta? Conéctate aquí.

Conectar ahora



  • El coche de este mes.....

    11696-n.jpg

     

     

    Sorteo el 1 de Octubre!!!

    Bases del sorteo Aquí.

  • Mensajes

    • Tras tres años de aquellos tristes días, tenemos esta carrera pendiente. No me olvido y trabajo para recuperar aquellas mañanas de xuxos, donuts y cacaolats junto a mis amigos.    
    • Yo he leido en Facebook algo de que no pertenece a su catalogo si, pero que no lo vayan a sacar no, eso no he leido, pero es mas, ahora mismo tambien elñ 1/32 pertenece a su catalogo. Tambien decian algo de que en 2019 empezaran a sacar 1/32 y que del digital habria que esperar algo mas, que iran pcoc a poco. No han dicho que lo van a sacar pero tampoco que lo abandonen. Lo he leido esta mañana o ayer
    • Mooooooooooooooooooooolaaaaaaaaaaaaaaaaaaaaa ¡¡¡
    • Qué buena pinta. Qué lo disfrutéis como merece.  
    • VI Gran Premio Fiestas del Pilar     El 24 de Noviembre os convocamos para el VI Gran Premio Fiestas del Pilar. Esta será la segunda vez que disputaremos esta prueba en formato Oxigen Digital, con opción de consumo de combustible, luces, por equipos y con una duración de 10 horas, con parada al mediodía para una comida de hermandad, si se cumplen los horarios y no nos visitan los duendes. La carrera se disputará en las instalaciones del club ZZSlot, en Zaragoza, en el circuito analógico/digital.   Localización:     Circuito:    Alojamiento:   Hotel Plaza Tulip Inn. Plataforma Logística Plaza - Av. Diagonal 11, 50197 Zaragoza. Tel. +34 876 768 300 www.tulipinnzaragoza.com reservas@tulipinnzaragoza.com   Horarios   Viernes 23 de Noviembre: 12:00 a 21:30 : Entrenamientos libres I. 21:30  Cena de hermandad.   Sábado 24 de Noviembre: 08:00 a 09:30 : Entrenamientos libres II ( entrega de motores) 09:30 a 10:15 : Verificaciones. 10:20 a 10:25 : Warm up. 10:30 a 10:45 : Pole. 11:00 a 23:00 : Carrera. Aproximadamente a las 14:00 horas, parada de carrera de unas dos horas, más o menos, para comida de hermandad. 23:00 : Entrega de premios . Reglamentos: Reglamento Técnico Reglamento Deportivo   Inscripción: 95 Euros  ES90 2085 5457 3303 3117 4711 Titular: Rafael Esteban Novillas  Indicar el nombre de equipo en el concepto de transferencia   Lista de equipos inscritos + ID ID.1  ZZSlot: Marco Ara, Iván Ibarzo y Rafa Esteban ID.2  I+D+K Slot: Ignacio Pereda, David Juan y Kike ID.3  Atalaya Slot: Beyja, Richard y Jok ID.4. Iruña Slot: David Pérez, Raúl Pérez, David Marturet y Adolfo Noriega ID.5. Tamaslot: Borja Pajares y Javier Otín ID.6. L2R: José Antonio Navarro y Javier Subijana ID.7 ID.8  En negrita, los equipos que han realizado el pago. FIRMWARE OBLIGATORIO: Chip B 2.13. Chip B1 2.14. Mando 2.26. Dongle 2.14. Modo oXigen (no oXigen-SSD).
×