Pregunta

Me pregunto si tengo la cantidad C de la curva de pistas y la cantidad S de la recta pistas de cómo podría idear un algoritmo, asistida por ordenador (o no), para el diseño de un "azar" diseño en el uso de todos estos temas, de tal manera que las reglas siguientes se cumple:

1) Las pistas, cuando todos conectados, de forma cerrada (continua) de bucle para el tren para ir a su alrededor.

2) las Rampas, la flexión de las pistas, golpes de pistas, en el cruce de las pistas son todos no permitido.

3) C y S son números pares.Un ejemplo sería C=20 y S=10.Tenga en cuenta que se tarda 12 curvas en la misma orientación para hacer un círculo completo de 360 grados, así que al menos 12 de los curvas deben ser orientados de la misma manera para completar los 360 grados.Los otros pueden "zig-zag", mientras que el resultado neto es de 360 grados, de manera que el tren tiene un bucle completo.

Recta pistas son de alrededor de 10 pulgadas (25,4 cm) de largo y curvo pistas acerca de 12.4 pulgadas (31.6 cm) de largo (abajo en el centro, siguiendo la curva) y la curva de los 30 grados.Los "lazos", en la que las pistas tienen un ancho máximo de 3 5/8 pulgadas (9,2 cm).Coloqué un rectas y curvas de la pista en la parte superior de uno al otro y se mide que el 12.4" (31.6 cm) de la curva de 12" (30.5 cm) de lineal de la longitud (en la misma dirección que la recta), y 3" (7,6 cm) de la curva (en la dirección perpendicular de la recta).Un 12C círculo tiene un diámetro de 47.5" (120.6 cm) de centro a centro de las pistas en los lados opuestos.

Todas las medidas son aproximadas.

ACTUALIZACIÓN

Me re-mide las pistas usando muchos más de ellos para ayudar a eliminar errores y para mi sorpresa, la longitud de las rectas NO son 10 pulgadas, que parecen ser sobre 9.78 pulgadas.Esto tiene un impacto significativo en la coincidencia de las curvas en zigzag a las escaleras.Originalmente pensé 4 curvas en zigzag = 5 rectas, pero que no es totalmente correcto.4 curvas tiene alrededor de 47" lineal a una distancia de 5 rectas en 9.78" cada uno iba a ser 48.9", casi 2 pulgadas más largo.Así que el truco es encontrar el MCM (Mínimo Común Múltiplo) de 47 y 9.78.Resulta ser 235.235 = 47*5 y 235/9.78 = 24.028...(lo suficientemente cerca).Eso significa que 20 curvas en zigzag es prácticamente el mismo que el 24 de rectas en el lineal de longitud.Por suerte tengo 26 rectas para que yo apenas lo hizo.Los 2 sobrantes pueden ser fácilmente colocados en otros lugares en el diseño.

Otra cosa que he descubierto es que si me zig-zag de curvas 2 la misma orientación en un momento (OOCCCCOO), 8 de ellos tiene una distancia lineal de sólo 83 pulgadas, no 94 pulgadas como si yo alterno curvas (OCCOOCCO).El MCM de 83 y 9.78 es de aproximadamente 166.Así que 16 de estas curvas tiene la misma lineal de longitud de 17 de rectas.Que es útil saber porque tengo 44 curvas y sólo el 26 rectas, pero si puedo hacer esta sustitución, me puede ayudar a hacer eso.

Si me zig-zag de las curvas de la 3 a la vez (OOOCCCCCCOOO) y doblar un poco, puedo obtener la exacta lineal de longitud de 10 escaleras (sobre 97.8 pulgadas).

FINAL DE LA ACTUALIZACIÓN

Así sería el programa de ordenador tiene que crear un modelo geométrico y recordar la posición exacta de cada pista o hay alguna manera más sencilla de este código?Quiero ser capaz de "apretar un botón" y el equipo "escupe" válido "nuevo" diseño para mí.

Quiero dar a este trabajo algoritmo para niños que usan el tren, así que no te frustres intentar un diseño que no funciona y luego tratan de doblar las pistas para hacer el trabajo, o tener que dejar de lado algunos pista de piezas cuz que no encajan.Un equipo puede crear una válida diseño utilizando todas las pistas y si el algoritmo es buena, tal vez en un par de segundos.Esto es para ayudar a prevenir la frustración para ellos.

Tengo algunas habilidades de codificación, pero necesito saber un algoritmo primero antes de que pueda código algo significativo (aparte de probar varias partes de un algoritmo candidato)

Lo que estoy pensando es que yo podría tener el modelo del equipo las pistas con un pequeño (a escala) de la representación.Yo creo que podría, a continuación, sólo el "lugar" de las pistas en el candidato de diseño y verificación de colisiones con otras pistas que ya existe.

Estoy pensando probablemente hay mejores formas de hacerlo, aunque, es por eso que estoy pidiendo aquí para ayudar a los/las ideas.Realmente quiero conseguir que esto funcione, y tengo las pistas por aquí, así que puede utilizar para ayudar a verificar si el algoritmo está trabajando.

Podemos usar C=20 y S=10 como los parámetros para intentar solucionar esto, ya que es razonablemente pequeño número de pistas (30 en total).Supongo que si el algoritmo es lo suficientemente robusta, C y S valores se pueden cambiar a voluntad y va a funcionar.Por ejemplo, eventualmente quiero probar C=44 y S=26.

Final de la palabra

Gracias a todos por sus comentarios y sugerencias con respecto a esta cuestión.He aprendido mucho también.Como un niño realmente nunca pensé mucho sobre las vías del tren y cómo encajan entre sí, sino como un adulto, puedo ver que se trata de un fascinante problema geométrico y matemático muy complejo contando problema para generar / averiguar cómo muchos diferentes (único) en pista de diseños que hay.Espero que hayas disfrutado de este ejercicio tanto como yo.Los niños aprecian demasiado.

Final de palabra

¿Fue útil?

Solución

Yo pensaba que iba a ofrecer la solución de fuerza bruta.

La idea es tratar todos los temas de diseño en turno.Cuando la construcción de un diseño, sólo hay tres piezas que necesitan ser tomados en consideración:una mano izquierda de la curva, una de la mano derecha de la curva y una recta.

Usted puede codificar la estructura de pista como base del número 3 con un ancho correspondiente a la cantidad de piezas en el diseño.Para enumerar todos los diseños de la pista apenas cuentan en la base 3, donde la codificación va de 0=recto, 1=izquierda y 2=a derecha.

El siguiente paso es comprobar que el diseño, la une en ambos extremos.La primera comprobación para asegurarse de que hay suficientes curvas para ir un circuito completo.Si elegimos un anti-sentido de las agujas del reloj para un circuito, de 12 a la izquierda de las curvas son necesarios.Por cada curva a la derecha, tenemos que añadir en la izquierda de la curva.De modo que para comprobar el diseño particular, podría funcionar, sólo tiene que añadir el número de la izquierda de las curvas y restar el número de curvas - esta debe ser igual a 12.

Por último, tenemos que comprobar los extremos realmente cumplir.Simplemente la trama de la pista en un sistema de coordenadas cartesiano.Empezamos el origen en [0,0] y si termina en [0,0] y, a continuación, se une.

La forma más sencilla de trazar la pista es LOGOTIPO de estilo.En otras palabras, mantener un vector de dirección que apunta en la dirección del último puesto de la pista de la pieza.Si nos encouter una curva a la izquierda, luego gire la dirección 30 grados y una curva a la derecha rotar -30 grados - una recta no afecta a la dirección.

Realmente la trama de las curvas y rectas, de aumentar el vector de dirección por el tamaño de la pieza, es decir,10 unidades por una escalera, y 12.4 x 12 / 2 x pi (radio de completar pista circular) unidades de una curva.

ADVERTENCIAS

Debido a errores de redondeo en sumar números de punto flotante, la representación no es exacto.Y en la vida real nos puede dejar un poco de margen para los fines a cumplir, por lo que este necesita para ser atendidos.

Muchos de los diseños será el mismo, pero desplazado por una posición.No puedo ver una manera de excluir duplicados cambiado los diseños de otro que mantener anteriores y comprobar en contra de ellos.

El algoritmo no excluye presentaciones en las que los pedazos de la cruz.Con el fin de hacer eso, usted tendrá que comprobar que cada pieza en un diseño no se cruce con otra pieza en el diseño (que es O(n^2)).Y no tendría que haber control para la curva de la curva, curva-recta y recta-recta cruces, y que empieza a ser muy complejo.

El tiempo de ejecución del algoritmo es, obviamente, O(3^N) que es exponencial - y, probablemente, poco práctico para grandes diseños.

A continuación se presenta el código de VBA puede pegar en Excel para darle una prueba de concepto.He deliberadamente trató de mantener el código tan simple como sea posible para ayudar a la conversión de su idioma favorito.Cualquier pregunta, por favor siéntase libre de preguntar.

Option Explicit

Type Vector
    X As Double
    Y As Double
End Type

Sub GenerateTrackLayout()
    Dim lCounts(40) As Long
    Dim lColumn As Long
    Dim lTrackLength As Long
    Dim lCurveSum As Long
    Dim lIndex As Long
    Dim lIndex2 As Long
    Dim vDirection As Vector
    Dim vBase As Vector
    Dim vTrackPosition As Vector
    Dim fPI As Double
    Dim fCurveRadius As Double
    Dim fStraightLength As Double
    Dim sPath As String
    Dim lOutputRow As Long
    Const TOLERANCE = 0.5 'inch

    lOutputRow = 1

    vBase.X = Sqr(3) / 2 ' 30 degrees
    vBase.Y = 1 / 2 ' 30 degrees

    fPI = 4 * Atn(1)
    fCurveRadius = 12.4 * 12 / (2 * fPI)
    fStraightLength = 10

    lTrackLength = 12 ' initial track length

    Application.ScreenUpdating = False

    Do
        ' Check for closed track
        lCurveSum = 0

        For lIndex = 0 To lTrackLength - 1
            If lCounts(lIndex) = 1 Then
                lCurveSum = lCurveSum + 1
            ElseIf lCounts(lIndex) = 2 Then
                lCurveSum = lCurveSum - 1
            End If
        Next

        If lCurveSum = 12 Then ' one 360 degree rotation anti-clockwise
            vDirection.X = 0
            vDirection.Y = 1
            vTrackPosition.X = 0
            vTrackPosition.Y = 0

            ' Plot the track and ensure that ends meet
            For lIndex = 0 To lTrackLength - 1
                Select Case lCounts(lIndex)
                    Case 0 ' straight
                        vTrackPosition = AddVectors(vTrackPosition, ScaleVector(vDirection, fStraightLength))
                    Case 1 ' left curve
                        vDirection = MultiplyVectors(vDirection, vBase, 1)
                        vTrackPosition = AddVectors(vTrackPosition, ScaleVector(vDirection, fCurveRadius))
                    Case 2 ' right curve
                        vDirection = MultiplyVectors(vDirection, vBase, -1)
                        vTrackPosition = AddVectors(vTrackPosition, ScaleVector(vDirection, fCurveRadius))
                End Select

                ' If ends meet within tolerance then output the track
                If Abs(vTrackPosition.X) < TOLERANCE Then
                    If Abs(vTrackPosition.Y) < TOLERANCE Then
                        If lIndex = (lTrackLength - 1) Then
                            sPath = ""
                            For lIndex2 = 0 To lIndex
                                Select Case lCounts(lIndex2)
                                    Case 0 ' straight
                                        sPath = sPath & "S"
                                    Case 1 ' left
                                        sPath = sPath & "L"
                                    Case 2 ' right
                                        sPath = sPath & "R"
                                End Select
                            Next
                            Application.ScreenUpdating = True
                            Cells(lOutputRow, 1).Value = sPath
                            Application.ScreenUpdating = False
                            lOutputRow = lOutputRow + 1
                        End If
                    End If
                End If
            Next
        End If

        ' Count in base 3 where number width is Track Length
        lColumn = 0
        Do
            lCounts(lColumn) = lCounts(lColumn) + 1
            If lCounts(lColumn) = 3 Then
                lCounts(lColumn) = 0
                lColumn = lColumn + 1
            Else
                Exit Do
            End If
        Loop Until lColumn = lTrackLength

        ' We've tried all tracks of this length, next one up...
        If lColumn = lTrackLength Then
            Erase lCounts ' reset all columns to zero
            lTrackLength = lTrackLength + 1
        End If
        DoEvents
    Loop
End Sub

' Vector maths

Function MultiplyVectors(vVectorA As Vector, vVectorB As Vector, ByVal fConjugate As Double) As Vector
    MultiplyVectors.X = vVectorA.X * vVectorB.X - fConjugate * vVectorA.Y * vVectorB.Y
    MultiplyVectors.Y = vVectorA.Y * vVectorB.X + fConjugate * vVectorA.X * vVectorB.Y
End Function

Function AddVectors(vVectorA As Vector, vVectorB As Vector) As Vector
    AddVectors.X = vVectorA.X + vVectorB.X
    AddVectors.Y = vVectorA.Y + vVectorB.Y
End Function

Function ScaleVector(vVector As Vector, ByVal fScale As Double) As Vector
    ScaleVector.X = vVector.X * fScale
    ScaleVector.Y = vVector.Y * fScale
End Function

Otros consejos

En primer lugar, un marco reto:

Un equipo puede crear una válida diseño utilizando todas las pistas y si el algoritmo es buena, tal vez en un par de segundos

Usted no necesita el algoritmo para que se ejecute en un par de segundos.Usted necesita de salida en un par de segundos.No veo que haya nada que te detenga de ajuste de la fuerza bruta diseño de triturador se ejecuta en un ordenador en la esquina y almacenar las soluciones en una base de datos a partir de la cual la interfaz de usuario puede entonces seleccionar al azar los diseños.


En términos de generación, hay una serie de semi-estándar enfoques.El espacio de estado es bastante grande, por lo que una búsqueda exhaustiva, puede no ser factible.Pero cualquiera de los siguientes podría ser vale la pena intentarlo:

  • Puro azar revolver de una lista de rectas y la igualdad de los números de la izquierda y la derecha de las curvas, seguido por la "bondad" de la prueba.
  • Escalada:comience con una permutación aleatoria y, a continuación, prueba simple de los swaps a ver si mejoran la "bondad".Si lo hacen, hacer el intercambio y la repetición.
  • El recocido simulado:similar, pero a veces permite que los cambios que disminuyen la "bondad" en la esperanza de llegar a un mejor hill.
  • Algoritmo genético:generar una gran cantidad de permutaciones al azar, y en varias ocasiones se mezclan y mantener los mejores resultados.No es del todo claro cómo la combinación de ellos, sin embargo.
  • El último de los tres podría comenzar con "buenos conocidos" curvas generadas por las inserciones en un círculo.
  • Explorar las opciones para la meet-in-the-middle.E. g.generar todas las curvas con un ángulo total de +de 90 grados, el índice de ellos por vectores 2D entre los extremos, y si hay muchos menos vectores que hay curvas usted podría ser capaz de considerar exhaustivamente cuatrillizos de ellos para encontrar aquellas que forman un cuadrilátero cerrado.

Para la "bondad" de las pruebas, obviamente debe ser una gran pena si la curva no es cerrada.Además, se necesita una gran pena para el auto-se superpone.Yo estaría inclinado a prueba a aquellos con un quad-tree para encontrar segmentos que no son consecutivos, pero están cerca el uno del otro, y, a continuación, arco-arco, el arco de la línea y la línea de la línea de intersección de pruebas para ver si cualquier borde delimitador de un segmento se superpone a un borde delimitador otro.


Otra de las estrategias que podrían ser capaces de completamente de fuerza bruta el menor caso, pero no el más grande sería tomar un enfoque algebraico del vector.Deje que la longitud de la parte recta se $2\ell$ y el radio de la pieza curva se $2r$.Desde las orientaciones son todos los múltiplos de 30 grados, el vector entre los extremos de una pieza recta es en $$(0, \pm 2\ell), (\pm 2\ell, 0), (\pm \ell, \pm \sqrt3 \ell), (\pm \sqrt3 \ell, \pm \ell)$$ y del mismo modo el vector entre los extremos de una pieza curva es en $$(\pm r, \pm \sqrt3 r), (\pm \sqrt3 r, \pm r), (\pm (\sqrt3 - 1)r, \pm (\sqrt3 - 1)r))$$

A menos que uno de $\frac \ell r$, $\frac {\sqrt 3 \ell} r$, o $\frac \ell {\sqrt 3 r}$ es una fracción con un pequeño numerador y un pequeño denominador, curvas y rectas son independientes, así que usted puede encontrar los conjuntos de trabajo de las curvas (fuerza bruta es suficiente para 20 curvas de los cuales 16 se encuentran en una dirección y 4 en la otra;44 curvas de split 28-16 que necesita un mejor enfoque;No he trabajado a través de las consecuencias de exigir el $+\sqrt 3$s para tener el mismo número de $-\sqrt 3$s, pero que pueden permitir a algunos pesados filtrado) y, a continuación, insertar las escaleras de dos en dos.La aplicación de este con fuerza bruta para un pequeño número de curvas le permitirá evaluar cómo muchos de los diseños que usted está perdiendo potencialmente con un enfoque simétrico.

Una posible solución para hacer esto tan simple como sea posible para obtener rápidamente un trabajo algoritmo sería como sigue.El diseño más simple es, por supuesto, 12C (12 curvas de las pistas con la misma orientación (en relación a cada uno de los otros), y la formación de un simple círculo.Esta será la base sobre la cual podemos construir.

Por lo que el algoritmo básico será el de mantener los 360 grados de bucle continuo de diseño en cada paso a la hora de añadir pistas.Podemos hacer esto mediante el examen de cómo muchas curvas pistas que nos queda, y añadirlos a la distribución en grupos tales que la de 360 grados de la propiedad se mantiene.Por ejemplo, comience con nuestro 12C diseño (un simple círculo).Sabemos que tenemos que 20C total de lo que hemos 8C restantes.El más simple adición de algunos de aquellos que habrían de mantener los 360 grados de la propiedad sería añadir una orientación inversa de la curva y una misma orientación de la curva (mismo como el principal círculo empezamos).Entonces, tendríamos que hacer lo mismo para el lado opuesto de la presentación.En este sencillo ejemplo, se habría añadido 4 más curvas para el círculo de diseño, de modo 12C sería 16C (con 4C de sobra).Nos gustaría continuar con la colocación de las curvas de hasta 20 (en este ejemplo) son colocados correctamente.Tenga en cuenta que este diseño consta de las curvas es válido circuito cerrado de diseño.El tren puede utilizar este diseño, sin embargo, se compone de todas las curvas de las pistas para que no lo han hecho.

La recta tracks, a continuación, se insertan de la misma manera, excepto aquellos que pueden ser añadidos en pares (2 pistas), ya que no va a cambiar la 360 grados de la propiedad.Ellos pueden ser insertados en cualquier lugar así que creo que sería mejor para el primer lugar de TODOS los de la curva de pistas, a continuación, volver atrás y hacer un 2do paso para colocar las rectas al azar (pero de forma simétrica).

Este es el más simple algoritmo puedo pensar ahora.Está garantizado para producir una vista de 360 grados de bucle cerrado, simétrica de la pista, y suponiendo que el número de curvas es un múltiplo de 4, y el número de rectas es un múltiplo de 2, se utiliza cada una y cada pista.

Una cosa a considerar cuando (cuando se utiliza este algoritmo, ya sea en un ordenador o sólo en tu mente como son la construcción de la presentación), es decir, puede haber restricciones de espacio más en una dirección que en la otra.Por ejemplo, en un patio que es largo, pero no tan ancho.Cuando se utiliza el algoritmo, se debe tienden más hacia la dimensión más larga de donde el diseño sea montado.

Si alguien puede averiguar un algoritmo para formar una relación asimétrica de diseño utilizando todas las pistas, que sería aún más impresionante.

La diferencia de complejidad entre la solución más simple y el más complicado es asombroso.Comenzando con un círculo (12C) es tan simple como se pone para este problema y es razonable para los niños, sin embargo es muy interesante para analizar una solución genérica que se puede producir CUALQUIER válido el diseño (incluyendo asimétrica queridos).

En la realidad, que no es un algoritmo de computadora sería simplemente añadir un poco de "cool" de las formas para el diseño y conseguir que cerca de la conexión, a continuación, volver atrás y ajustar para que se conecte (de circuito cerrado).Con 70 pista piezas en total (44C y 26S), un gran diseño es posible.He calculado un total de alrededor de 67 pies de la pista que está a unos 20 metros.El tren debe tomar alrededor de 1 minuto para bucle que todo el layout de una vez.

Otro candidato solución sería tomar las medidas reales de cada pista y recordar el borde derecho de la disposición.Cuando la construcción de la estructura, puede comenzar con una vía recta o con una curva a la izquierda (en sentido antihorario), acumulando en lo lejos que la última pista añadida es la de que el borde derecho, y luego, cuando la adición de otras pistas, nunca permite que una combinación de pistas que se golpee o cruz que el borde derecho o tal vez ni siquiera acercarse.Así, por ejemplo, comenzar con una vía recta (no 12C inicial círculo sobre este candidato solución), a continuación, elegir aleatoriamente a otro de la pista de la pieza.Aviso desde el principio NO íbamos a permitir que un derecho (a la derecha), gire, ya que podría romper la regla de "cruzar" el borde derecho.Después de la primera recta de la pista, nuestras únicas opciones son otra recta o a la izquierda (en sentido antihorario) de la curva.Otra regla a aplicar sería después de una recta, no se nos permite agregar más de 9 misma orientación que las curvas en una fila, de lo contrario será probablemente bump/de la cruz algunas otras pistas que ya están en su lugar.Ese límite podría incluso reducirse a 8 para más de espacio, y si eso ocurre, la siguiente pista DEBE ser un inversa orientado a la curva (ya que una recta puede causar problemas).

Este algoritmo necesita un poco de ayuda para llegar a volver y conectar con el otro lado de la primera pista añadida la pieza.Podemos hacer que al insistir en que la izquierda de las curvas de cuenta como +1 y de las agujas del reloj curvas de contar como -1, y aquellos que deben agregar hasta 12 en la última añadida de la curva.Podemos ayudar a que esto salga por el empuje de la CC (de la izquierda) de las curvas en una proporción 4:1 con las agujas del reloj curvas, así que lo más probable es que obtenga 16 CC y 4 hacia la derecha, que, de manera efectiva neta de una vista de 360 grados del círculo.Si el algoritmo intenta agregar un CC de la curva, pero protuberancias de las pistas existentes, tenemos 2 opciones en ese momento, intente una orientación opuesta de la curva, o abandonar el plan y empezar de nuevo.Yo creo que en un equipo rápido, con el tiempo va a obtener un buen diseño.

Aún no estoy seguro de si este método daría el todo de la misma diseños como el punto de partida con el 12C, pero tal vez podría ser más fácil de implementar en un ordenador, ya que sólo hay un par de reglas a cumplir, y estamos construyendo el diseño de una pista a la vez.

En realidad, yo sólo pensaba en un 3er candidato posible solución que deben trabajar y no es demasiado difícil de implementar.Se va como sigue.

Utilizar la técnica descrita anteriormente, pero sólo la mitad de la distribución (con la mitad de las pistas de cada tipo, por lo que 10 curvas y 5 rectas.Tenemos el equipo de selección aleatoria de las pistas, pero sólo aceptan los diseños que terminan con una red de 180 grados de giro a la izquierda (porque lo vamos a hacer valer un derecho frontera que no puede tocar o cruz.Bueno por lo que asume el equipo muy rápidamente encuentra un válido "la mitad de la presentación".Entonces lo que debemos hacer es simplemente tomar un inventario de cómo muchas de las agujas del reloj curvas, y en el sentido contrario de las curvas que hay, y a reiterar que en la otra mitad de la pista (pero no necesariamente de forma simétrica).Para las rectas, tenemos que grabar en qué ángulo se han insertado en el entonces partido de ellos en la otra mitad de la pista, pero de nuevo, no necesariamente simétrica.

Vamos a intentar un ejemplo de uso de S para la Recta, O para la izquierda de la curva, y C hacia la Derecha de la curva.Concentrarse en el medio de diseño de primera.

La primera recta de la pista se va lejos de nosotros y que define nuestra borde derecho de que no se nos permite cruz.

SOOSOCSOOSSOOOC - Este es un válido medio de diseño, ya que tiene 5 rectas y 10 de curvas con una red de 6 curvas hacia la izquierda (2 de los 8 fueron "cancelada por 2 de las agujas del reloj curvas).

Ahora es necesario "vigilar" en qué ángulo de las rectas que se inserta en el partido y aquellos con un mismo ángulo (pero opuesta en dirección a la pista de "cancelar" de ellos.

1:0 grados de ángulo rectas
0:Ángulo de 30 grados rectas
2:Ángulo de 60 grados rectas
0:Ángulo de 90 grados rectas
2:120 grados de ángulo rectas
0:150 grados de ángulo rectas
0:180 grados de ángulo rectas

Así que para "igualar" esta en la otra mitad de la mesa y hacer que por lo que se conecta a la sola partida recta de la pista, sólo tenemos que coincidir con el mismo número de Os y Cs, pero también coincide con el mismo # de rectas en el +de 180 grados "devolver" ángulo.Por ejemplo, un ángulo de 60 grados recta que mejor que tener un 240 grado recto en el otro lado de la maquetación en algún lugar, no necesariamente exactamente lo contrario.Esto es debido a que el 60 grados recta va a ir más a la izquierda y un poco hacia arriba (el uso de este esquema) y la de 240 grado recta traerá de vuelta a la derecha y hacia abajo de la misma cantidad efectivamente "cancelar" los 2 pistas de contribuciones a desviarse a partir de la posición en la pista.

Así que ahora todo lo que tenemos que hacer para crear la "falta la mitad" de la distribución es tomar las conocidas pistas que necesitamos (y sabiendo a lo que los ángulos de las rectas tiene que ser), y justo "scramble" en cualquier orden.

Puede ser una manera de NO tener que coincidir exactamente con la mitad de la presentación con "complementarias" de las pistas en el otro lado, pero eso implicaría algunos más matemáticas complejas y probablemente no hay tiempo suficiente para resolver que en el momento en que la recompensa está activo.También existe la posibilidad de que no todos los tracks ser utilizado de esa manera y algunos ligera flexión de la pista deseada.Podemos ignorar esta propiedad especial para esta pregunta.

De hecho, me hizo una relación asimétrica de pista para ver si iba a funcionar y parece que lo hizo.El uso de S para la recta, O para la izquierda de la curva, y C hacia la Derecha de la curva, más el ángulo (en grados) en relación a la recta de la pista, tengo el siguiente en la parte superior:

S0, O30, O60, S60, O90, C60, S60, O90, O120, S120, S120, O150, O180, O210, C180

Para la mitad inferior de la pista que tengo:

O210, O240, S240, C210s, O240, S240, O270, O300, S300, S300, O330, O360, O390, C360, S360

En realidad, la imagen fue tomada desde el lado equivocado de modo que la parte superior y la parte inferior se volcó.La primera pista fue retomado la recta cerca del azul del cubo de basura y viniendo hacia el espectador de la pic y la 2ª pista de la izquierda de la curva.

enter image description here

Parece que esta técnica funcione para muchos incluso el número de curvas e incluso el número de escaleras, incluyendo 44C y 26S que es mi objetivo final.Esto es realmente alentadores, ya que una computadora electrónica no es realmente necesario para solucionar esto, sólo puedo tener a los niños construir casi cualquier círculo de la mitad de la forma que ellos quieran con la mitad de las pistas (22C y 13S), luego a "corregir" su diseño de modo que es de 180 grados, luego "coincide con" el otro lado de la pista, no necesariamente simétrica.

Usted tendría que tener cuidado si se va a crear de 180 grados de la mitad de disposición donde la pista inicial y el final de la pista son muy próximos entre sí.Por ejemplo, la forma de la parte superior de un signo de interrogación "?" (sin el punto), pero siguen que la curva superior de modo que se trata de alrededor de más y una escalera que baja desde la que estaría muy cerca de la recta que está por encima de donde el punto era.A continuación, para la mitad inferior, usted NO sería capaz de hacer más hacia la izquierda de las curvas de inmediato ya que hay otras escaleras que hay a partir de la "mitad superior".La imagen de mi circuito cerrado de diseño trabajado, porque no tenía "cuellos de botella" en la "parte superior" de la mitad, pero claro, estos son posibles como acabo de describir.

La "problemática" tren de diseño es cuando uno la mitad de la pista hace un poco de forma de reloj de arena con un estrecho medio.En ese caso, casi "espejo" de la parte superior debido a que ciertas curvas no pueden ser realizados desde las pistas están tan cerca uno del otro.Aquí es un ejemplo...

enter image description here

Otra observación interesante es que en 4 curvas en zigzag pistas es casi un reemplazo exacto (tan lejos como la distancia lineal distribuido) para 5 rectas.Sin embargo muchos de estos creará una diferencia significativa en la longitud.Como se indica en la actualización de la sección anterior, el 20 de zig-zag de las curvas es casi una coincidencia exacta (por la distancia lineal) 24 rectas.

enter image description here

El uso de esta técnica, un gigante de diseño puede ser realizado con todos los 70 pista piezas.Empezaría con una 12C círculo, luego, en un lado, podría insertar 24 rectas (240 pulgadas de largo).En el opuesto lado largo de la presentación (que casi coincide con la longitud del lado recto), me gustaría utilizar el 20 curvas en zigzag (también alrededor de 240 cm de largo).Aquellas personas a casi la línea y una ligera curvatura debe hacer el trabajo.El resto de pistas (2 recto y 12 curvas) podría ser fácilmente colocado para mantener el diseño "equilibrado" (y conectado).

Supongamos que se inicia en el punto (0, 0) ir directamente a la derecha.Usted necesita para añadir pistas hasta llegar al punto (0, 0) de nuevo, esta vez directamente desde la izquierda.Hay dos problemas aquí:Uno es el de alcanzar el punto (0, 0), que vienen de la izquierda exactamente.La otra es que no se superpone.

Para formar un sentido antihorario círculo necesitará 12 curvo de piezas de girar a la izquierda.Estos forman un círculo exacto.Con 0 o 24 o 36 curvado de piezas que tendría una figura de ocho, dos o tres círculos, ninguno de los cuales puede hacerse sin la necesidad de cruzar.

Y, por supuesto, usted puede añadir pistas adicionales, y estas tienen que seguir ciertas reglas:Usted puede agregar a la izquierda de la curva, recta, y a la derecha de la curva de piezas en pares partir de los ángulos de x grados y x+30 grados, por lo que volver a 0,0.Y el número de la izquierda de la curva piezas más allá de los primeros 12 debe coincidir con el número de la derecha de la curva de piezas para las piezas de partido en el ángulo derecho en 0,0.

De modo que las piezas se pueden utilizar.Usted necesita para comprobar que no existen cruces obviamente.

Si las longitudes son exactamente correcto, entonces puede ser que, por ejemplo, una combinación a la izquierda/a la derecha/a la derecha/izquierda cubre exactamente la misma distancia de cuatro o cinco rectas, por lo que algunas otras combinaciones pueden ser permitidos.

Y, por supuesto, pistas de son flexible, ya que puede producir muchas más posibilidades.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a cs.stackexchange
scroll top