SimRacing.es
 

Retroceder   SimRacing.es > Taller > 3D > Bobs Track Builder

Bobs Track Builder Foro dedicado al manejo del Bobs Track Builder.

Tema Cerrado
 
LinkBack Herramientas Desplegado
Antiguo 12-sep-09   #2 (permalink)
Administración SR
 
Avatar de zaxxon
 
Mensajes: 1.311
Karma: 584
zaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy pronto
Predeterminado Guía rápida

GUÍA RÁPIDA PARA EL USO DE LA ÚLTIMA VERSIÓN DE LOS SCRIPTS

Atención

Atención:


Los videotutoriales más actualizados creados por mí son estos (añado enlaces también a los proyectos wink de los videotutoriales):
  • Vídeo de Instalación del GUI:Download (wink source) (hay que extraer los ficheros y abrir gui.htm con un navegador. Hay que tener un flash player.)
Los ficheros usados en este último videotutorial pueden descargarse de aquí: Download

Videotutorial uso gmsh (by liquido): Tuto Gmsh.mp4 (ver en vimeo)
English subtitles for the videotutorial: Tuto Gmsh.srt

La web de parlesportes (en francés) también ofrece interesantes videotutoriales: Méthode Zaxxon

French language videotutorials (by parlesportes): Free File Sharing Made Simple - MediaFire





NOTE: You can find an updated guide in english in the documentation folder of the scripts. See the end of this message for downloading steps)

NOTA: togomez ha creado su propia guía de uso para crear proyectos multi-pista:
https://docs.google.com/document/d/1...vXDe1NFU8/edit

Existe un interfaz gráfico para los scripts. Leer apartado II.3 del .pdf que hay en la carpeta documentation.
Los pasos que se describen a continuación son para usar los scripts desde la línea de comandos de octave, algo que ya no es necesario hacer.

Esta página es únicamente un resumen de los pasos que hay que realizar. Es posible incorporar desvíos al proyecto, pero por simplicidad aquí supondremos que solo hay un kml. Los detalles de cómo realizar cada paso se encuentran descritos más adelante y en la carpeta de documentación que acompaña a los scripts.

No hay una única forma de empezar el proyecto. Aquí se muestra la más genérica, válida para todo el planeta. No obstante para España se pueden usar datos de altura descargados de un par de institutos oficiales, y la forma de empezar el proyecto sería diferente. Se recomienda usar datos de altura AGR para España (ver cómo en los apartados III.2 y V.2 del .pdf que hay en la carpeta documentation). El archivo basics_poster.ppt proporciona una visión general de las diferentes opciones disponibles.





NOTA: En todos los comandos de octave se da por supuesto que previamente se ha añadido el directorio de los scripts al path.
> addpath('c:\project\scripts')

Tras cada comando ejecutado se muestra en pantalla una sugerencia de cuál es el siguiente paso a realizar.

a) Definición de la carretera y del terreno
  • Descárgate la estructura de ficheros (se describe cómo hacerlo al final de este mensaje), la última versión de los scripts está en un subdirectorio llamado scripts.
  • Empezamos creando un kml de la carretera, con detalle suficiente para que esté perfectamente definida su forma, y guardamos el kml con el nombre "road.kml" en la carpeta s0_import (ruta en rojo en la figura)

    Creamos dos kmls más:
    1) "limits.kml" (ruta naranja) englobando todas las carreteras del proyecto (una si es simple o todas, principal y desvíos, si es multitrack). Y guardamos ese kml en s2_elevation
    2) "limits_b.kml" (ruta en amarillo) englobando todo el terreno que queremos que tenga el proyecto. Guardamos limits_b.kml en s2_elevation_b

ETAPA 0. Importar el kml



b)
Cuando hemos puesto cada fichero en su sitio arrancamos el octave y ejecutamos "start"

> cd c:\project
> addpath('c:\project\scripts')

> start

start procesa road.kml, limits.kml y limits_b.kml, llamando a lo scripts importakml y make_grid. Cuando termina, se han creado unos ficheros de nombre gridXXX.kml en los directorios s2_elevation\salida y s2_elevation_b\salida listos para ser ser "elevados" (con raise_kml, por ejemplo). Por defecto cada kml tiene 5000 points como máximo, y se usan 25 y 75m como pasos de las rejillas de datos. Se pueden usar otros valores pasándoselos como parámetros a "start" (por ejemplo, start(25,75,5000))

ETAPA 1. Conseguir los datos de altura



c) En los directorios salida tendremos uno más ficheros gridXXX.kml. Estos ficheros deben ser abiertos con 3D Route Builder o BTBLodfy para conseguir la altura de los puntos. También podemos usar el comando raise_kml, pero en ese caso previamente hay que hacer lo que dice el apartado V.1 del .pdf que hay en la carpeta documentation. Una vez se han conseguido esos datos de altura hay que grabarlos en el directorio salida en ficheros de nombre gridXXX_relleno.kml. Cuando ese proceso finaliza hay que ejecutar read_grid en s2_elevation y s2_elevation_b

> cd ..\s2_elevation
> read_grid
> cd ..\s2_elevation_b
> read_grid

El resultado de esta acción es la creación de un fichero llamado lamalla.mat en el directorio s2_elevation\salida y otro en s2_elevation_b\salida. lamalla.mat depende de mapeo.txt, así que si mapeo.txt cambiase habría que ejecutar de nuevo read_grid

Si queremos ver los datos de altura podemos usar el comando plot_lamalla

> cd ..\s2_elevation
> plot_lamalla

ETAPA 2. Generar los anchors de carretera



d) El fichero nodes.xml generado por importakml (llamado por el script start) se ha copiado automáticamente en el directorio f:\project\venue. Hay que procesarlo:

Ejecuta:

> cd f:\project\Venue
> btb06(5,1)

Donde el parámetro del script btb06 es el ancho de la carretera (que influirá principalmente en dónde empieza el terreno). El 1 debe usarse únicamente en la primera llamada a btb06.

Se deben haber creado los ficheros nac.mat y anchors.mat en el directorio f:\project\, y los archivos nodos.mat y porcentajes.mat en el directorio f:\project\Venue

ETAPA 3. Elevar la carretera



e) Para darle altura a la carretera según los datos de altura disponibles debemos ejecutar:

> cd f:\project\s3_road
> s3_coge_datos
> creartrack1
> dar_altura(25,0.15,-0.15)

Donde 25 es un factor de filtrado (siempre impar, cuanto mayor más suave será el trazado en altura) y 0.15 y -0.15 son las pendientes máxima y mínima permitidas. Es conveniente hacer varias pruebas de valores, observando en la gráfica cómo se adaptaría la carretera a la montaña en cada caso. dar_altura acepta como cuarto parámetro el espaciado de los puntos cuyas alturas se usarán para construir el perfil en altura de la misma. Por defecto se usarán 25m, cuanto mayor sea ese valor, más suave será el trazado. Si se usa 0, el método de generación de alturas será el de versiones anteriores.

La salida de esta etapa es f:\project\s3_road\salida\nodes.xml

dar_altura permite alterar el perfil en altura de la carretera. Ver el tutorial.

Además el script corregir permite adaptar los datos de altura a la carretera que hemos diseñado con dar_altura. Ver el tutorial.

f) Regeneramos la información de la carretera ahora que ha sido elevada

> cd f:\project\Venue
> btb06 (esta vez sin parámetros)

ETAPA 4. Hacer el mallado del terreno



g) Creamos la malla 2D para el terreno

> cd s1_mesh
> mallado_regular(12,3)

Los parámetros de mallado_regular son el ancho de la zona conducible a ambos lados de la carretera, y el número de paneles en que se divide esa zona.

Si se quiere visualizar hasta dónde llegan los datos de altura, ejecutar

> addgrid(1,1);


y abrir anchors_carretera.geo.

Mallado_regular ha generado el fichero f:\project\s1_mesh\salida\anchors_carretera.geo, que es la base para generar el mallado.

h)
Creación de la malla:

Abre anchors_carretera.geo con gmsh y realiza el mallado.

Crea una Plane Surface para la zona no conducible (usando los límites de la conducible como frontera de su hueco interior).

Cierra gmsh.

Abre anchors_carretera.geo con un editor de textos y define la superficie física 222. En el fichero phys111.txt se encuentran los códigos de las superficies de la superficie física 111 ya existentes.

Guarda los cambios.

Abre anchors_carretera.geo con gmsh. Malla (Mesh->2D) y guarda la malla (File->Save Mesh).
Abre anchors_carretera.msh con gmsh y comprueba que todas las submallas están. No sigas sin hacer antes esta comprobación.

Se recomienda leer el apartado VII.8 del .pdf que hay en documentation y saltarse el paso de MeshLab. Los scripts activan los thresholds por defecto, por lo que la malla creada por gmsh debería ser aceptable.

Separa la información de puntos (nodos.txt) y triángulos (elements.txt):

> trocea_malla

Dos ficheros, nodos.txt y elements.txt, se han creado.

ETAPA 5. Creación del terreno



i) Damos altura a los nodos de la malla

> cd f:\project\s4_terrain
> s4_coge_datos
> procesar_nodostxt

j) El siguiente paso es simplificar la malla para reducir el número de triángulos. Si se han usado los thresholds de gmsh (léase el apartado VII.8 de la documentación) basta con ejecutar

> accept_mesh

En caso contrario, dividimos en tres partes la malla:

Cita:
> simplificar

Usamos MeshLab para simplificar las mallas o en su defecto eliminar los vértices no usados en los tres ficheros ply generados en el directorio salida. Guardamos las mallas retocadas en el directorio salida con nombres i.ply, n.ply y c.ply (recordar desmarcar la casilla de formato binario al salvar)

> juntar_mallas
ETAPA 6. Creación del muro invisible




l) Creación del muro invisible:

Ejecuta:

> cd f:\project\s7_walls
> s7_coge_datos
> poner_muro

En el directorio salida se han creado muros.txt, el muro que rodea la zona conducible y que impide caer al vacío en el RBR. Para rFactor este paso hay que omitirlo.


Etapa 7: dividir terreno y carretera



m) Particionado de la carretera y del terreno
Es conveniente particionar la carretera en varios trozos (1-2Km como mucho cada uno), y consecuentemente hay que regenerar la lista de TerrainFaces para que se adapten a la nueva situación.

> cd f:\project\s10_split
> s10_coge_datos
> split_track(8)
> partir_track
> procesar_elementstxt_mt(10,10,0)

donde el parámetro en la llamada a split_track es el número de trozos en que queremos partir la carretera. Antes de ejecutar partir_track, que es quien realmente trocea la carretera, podemos ver en una gráfica la posición de los puntos de particionado y modificarlos (editando a mano pos_nodes.txt). Los parámetros de procesar_elementstxt_mt son las dimensiones de la rejilla con la que vamos a dividir el terreno y un tercer parámetro que se debe poner a 1 si queremos que la textura del terreno se mezcle con las imágenes de fondo. Ver el tutorial.

Etapa 8: Unir las partes



n) Juntar las partes

> cd f:\project\s9_join
> join_all

Se ha generado f:\project\s9_join\salida\Venue.xml

o) En las carpetas de instalación del BTB busca una que se llama "My Projects". En ella crea una carpeta NOMBRE, en la que copias el Venue.xml. Dentro de NOMBRE creas una subcarpeta llamada XPacks y en ella metes el Default.zip, Common.zip y WP.zip (los dos primeros copiados de cualquier otro proyecto BTB. WP.zip está anexado a este mensaje). Y lo intentas abrir con BTB.

El uso de los scripts implica la aceptación de las condiciones de uso ([TUTORIAL] Método zaxxon).

ÚLTIMA VERSIÓN:
Atención

Atención:

  • Instalar SVN desde Subversion Binary Packages (por ejemplo http://www.sliksvn.com/pub/Slik-Subv...6.12-win32.msi)
  • Para descargar los scripts, descargar download_scripts.bat y ejecutarlo:
    Esto creará una carpeta c:\project con la última versión de los scripts (es muy sencillo modificar el .bat para cambiar el destino)
  • Se puede mover la carpeta c:\project al lugar del disco duro que se quiera
  • Para actualizar los scripts, basta con hacer un cd desde octave al directorio base del proyecto y ejecutar "update" (la carpeta "scripts" debe haber sido añadida previamente al path) :
    Código:
    addpath('c:\project\scripts')
    cd  c:\project
    update
    
    También se pueden actualizar los scripts en cualquier momento ejecutando (doble click) c:\project\update_scripts.bat.



Archivos Adjuntos
Tipo de Archivo: zip WP.zip (3,02 MB (Megabytes), 265 visitas)

Última edición por zaxxon; 22-mar-12 a las 15:41
zaxxon está desconectado  
Te han dado la gracias:
Antiguo 12-sep-09   #3 (permalink)
Administración SR
 
Avatar de zaxxon
 
Mensajes: 1.311
Karma: 584
zaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy pronto
Predeterminado Software necesario


Última edición por zaxxon; 07-ene-11 a las 22:45
zaxxon está desconectado  
Te han dado la gracias:
Antiguo 12-sep-09   #4 (permalink)
Administración SR
 
Avatar de zaxxon
 
Mensajes: 1.311
Karma: 584
zaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy pronto
Predeterminado Etapa 0: importar el kml

¿Qué hace "start"? ¿Qué alternativas hay al uso de "start"?

Lo primero que hace "start" es llamar al script importakml para importar road.kml.
Los pasos serían

> cd f:\project\s0_import
> importakml('ejemplo.kml')

Automáticamente se crea el fichero f:\project\mapeo.txt.

Lo siguiente que hace start es llamar a make_grid para construir una rejilla de coordenadas terrestres que cubra por completo "limits.kml" y otra que cubra "limits_b.kml". Si hacemos los pasos a mano podemos optar por crear lamalla.mat a partir de datos gridfloat o especificar manualmente los límites para make_grid.

Si se va a usar Google Earth como fuente de datos es necesario dividir la rejilla en varios ficheros, por lo que a make_grid habrá que decirle cuántos datos queremos por fichero. 5000 es el máximo si no queremos que Google Earth baje la velocidad con la que nos devuelve los datos.

Generación del kml


Las imágenes de Google Earth nos pueden servir para ajustar la forma y el ancho del trazado, pero no para establecer las coordenadas exactas de la carretera. Por ejemplo, la última horquilla de la subida al Pikes Peak es, según las imágenes de Google Earth (ver imagen abajo) un paseo por el borde de la montaña, con una pendiente descomunal. Lo cierto es que la trayectoria real de la carretera puede no corresponderse con las imágenes. En ese caso marcando la opción "Carretera" en la pestaña de capas de Google Earth se muestra una carretera más fiable que la que se ve en la imagen de satélite.

Cuanto más precisa sea la posición de la carretera, mejor, pero demasiados puntos en el kml generarán problemas. Hay que imaginarse una línea curva pasando por los puntos del kml y
debemos poner suficientes puntos para que la curva no pueda tomar una trayectoria errónea. Cada punto que pongamos se convertirá en un nodo de la carretera en BTB.


Depuración de la carretera en planta

La carretera importada con importakml debería realizar giros suaves y por tanto no dar problemas a la hora de mallar. No obstante si la carretera tiene alguna curva demasiado cerrada es posible que los triángulos de la carretera se superpongan, con lo que el mallado no funcionará. Habrá que usar la herramienta Translate (ver capítulo XII.6 en el pdf de ayuda) en gmsh para corregir ese problema porque los scripts no intentan detectar esos pequeños cruces de líneas.
Imágenes Adjuntas
Tipo de Archivo: jpg errorge.jpg (81,5 KB (Kilobytes), 121 visitas)
Tipo de Archivo: jpg hairpin.jpg (57,6 KB (Kilobytes), 66 visitas)

Última edición por zaxxon; 21-feb-12 a las 23:24
zaxxon está desconectado  
Te han dado la gracias:
Antiguo 12-sep-09   #5 (permalink)
Administración SR
 
Avatar de zaxxon
 
Mensajes: 1.311
Karma: 584
zaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy pronto
Predeterminado Etapa 1: Conseguir datos de altura

Usar dos rejillas

Es posible usar dos rejillas de datos de altura, una más densa y que abarque la carretera y poco más, y una segunda malla menos densa pero más extensa.

Para generar la segunda malla podemos usar un nuevo subdirectorio, llamado s2_elevation_b. La malla generada se copiará en su momento automáticamente a s4_terrain como lamalla2.mat.

Marcar la capa de relieve en Google Earth

Si la capa de "relieve" no está marcada (esquina inferior izquierda de la pantalla de Google Earth), Google Earth devolverá altura 0 para todos los puntos. En las versiones actualizadas de GE esa capa ya no existe.

Última edición por zaxxon; 21-feb-12 a las 23:52
zaxxon está desconectado  
Antiguo 12-sep-09   #6 (permalink)
Administración SR
 
Avatar de zaxxon
 
Mensajes: 1.311
Karma: 584
zaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy pronto
Predeterminado Etapa 3: elevar la carretera

¿Cómo funcionan los parámetros de dar_altura?

Los parámetros son el nivel de suavizado y la pendiente máxima y mínima permitidas.

creartrack1 obtiene la altura que según la montaña debería tener la carretera en cada "anchor de carretera". El script dar_altura representa la salida de creartrack1 con una curva azul. dar_altura trata en primer lugar de retocar esa altura aplicando las limitaciones de pendiente. El resultado se muestra en la gráfica con círculos y posteriormente las alturas son suavizadas. Si por ejemplo el factor de suavizado es 25, a cada anchor se le asigna una altura que es la media de la altura de los 25 anchors centrados en el anchor en cuestión. La distancia tenida en cuenta a la hora de suavizar depende por tanto de la separación entre los anchors.


En azul aparece la altura que según la montaña debería tener la carretera en cada punto. Los círculos rojos tratan de adaptarse a esa s alturas pero sin superar los límites máximos de pendiente que hemos fijado. La altura en verde será la que le demos a la carretera, y procede del suavizado de las alturas indicadas por los círculos.


Ejemplo: dar_altura(15,0.3,-0.3)


Si limitamos la pendiente es posible que la carretera no siga demasiado bien la altura marcada por la línea azul, aunque en algún caso puede ser deseable.

Ejemplo: dar_altura(15,0.1,-0.1)



Si suavizamos la carretera demasiado no se adaptará demasiado bien a la montaña.

Ejemplo: dar_altura(31,0.3,-0.3)



¿Si quiero probar varios valores para dar_altura, debo volver a ejecutar creartrack1 cada vez?

No. Por eso hay dos scripts. Una vez ejecutado creartrack1 podemos ejecutar dar_altura tantas veces como queramos, probando diferentes parámetros de entrada. Solo si cambiamos la posición de los anchors o lamalla.mat sería necesario volver a ejecutar coge_datos y creartrack1
Imágenes Adjuntas
Tipo de Archivo: gif road_majadas1.GIF (10,0 KB (Kilobytes), 2195 visitas)
Tipo de Archivo: gif road_majadas2.GIF (10,4 KB (Kilobytes), 2182 visitas)
Tipo de Archivo: gif road_majadas3.GIF (9,6 KB (Kilobytes), 2186 visitas)

Última edición por zaxxon; 25-nov-09 a las 10:17
zaxxon está desconectado  
Te da las gracias:
Antiguo 12-sep-09   #7 (permalink)
Administración SR
 
Avatar de zaxxon
 
Mensajes: 1.311
Karma: 584
zaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy pronto
Predeterminado Etapa 4: hacer el mallado del terreno

¿Qué contiene anchors_carretera.geo?

  • Los anchors de terreno, situados a 0.1m de los de la carretera, unidos por líneas rectas.
  • Puntos de apoyo, a ambos lado de la carretera, a la distancia solicitada.
  • Las superficies (Plane surface) de la parte conducible, entre la carretera y los puntos de apoyo, ya definidas.
Conceptos básicos en gmsh

Si dos puntos del contorno de una malla están unidos con una línea recta, ambos formarán parte de la malla.

Si dos puntos del contorno de una malla están unidos con un spline no necesariamente esos puntos formarán parte de la malla. gsmh buscará la ubicación ideal de los nodos de los triángulos en ese contorno.

Controles básicos de gmsh
  • Botón derecho del ratón y arrastrar: nos desplazamos por el diseño
  • Ctrl pulsado, botón izquierdo y arrastrar: hacer zoom a una zona
  • Pinchar abajo a la izquierda en 1:1. Hacer zoom ajustado al diseño
  • Pinchar abajo a la izquierda en la Z. Ver el diseño desde arriba
  • Botón izquierdo y arrastrar: girar el diseño en 3D
¿Cómo creamos el contorno externo de la superficie no conducible?

Para poder mallar hay que crear las superficies a mallar, para lo que necesitamos cerrar las trayectorias, para lo que necesitamos poner puntos.

Seleccionamos:

Geometry->Elementary Entities->Add->New->Point

Una vez seleccionada la posición deseada para el punto, pulsamos shift, lo que congela los valores y llevamos el ratón hasta la ventana "Contextual Geometry Definitions". Allí ponemos Z=0 y Characteristic Length a cl3. Pinchamos Add.

Una vez añadidos los puntos adicionales necesarios seleccionamos

Geometry-> Spline

y cerramos la trayectoria seleccionando los puntos por los que ha de pasar el spline. Una vez cerrada la trayectoria ya podemos definir una superficie compuesta por la trayectoria externa menos el contorno de la superficie conducible.

Geometry -> Plane Surface

y pinchamos en la trayectoria externa. Si está correctamente cerrada nos pedirá que pinchemos en los huecos que tenga ("Select hole boundaries"). Tenemos que ir tocando en todo el contorno de la parte conducible hasta que todos los tramos estén en rojo. Cuando sea así pulsamos la "e" para finalizar la definición de esta superficie.

Para comprobar que la superficie está correctamente definida podemos mallar:

Mesh -> 2D

y todas las superficies que hayamos definido serán malladas.

Como mínimo pondremos dos tipos de superficies:
  1. Conducibles: entre los puntos de apoyo y la carretera
  2. No Conducibles: entre el contorno externo y los puntos de apoyo

En Tools->Statistics podemos mirar cuántos triángulos estamos generando con cada mallado.

¿Cuál es la salida del proceso?

anchors_carretera.msh está formado por dos tipos de línea:

1) Nodos. Por ejemplo el nodo 14:

14 2149.778 5113.46 0

2) Triángulos (elements en gmsh, faces en BTB). Por ejemplo el triángulo 21222 pertenece a los conducibles (111) y está definido por los nodos 1490, 17130 y 1491:

21222 2 3 111 31672 0 1490 17130 1491

¿Cómo se crean las superficies físicas?


Hay dos superficies físicas, la conducible (la 111) y la no conducible (la 222). Cada una de ellas se define con la lista de los identificadores de las Plane Surface que las forman.

Abrimos anchors_carretera.geo y escribimos el comando "Physical Surface(111)= {contenido de phys111.txt}" al final del fichero.

Añadimos el comando "Physical Surface(222)={X};", donde X es el identificador de la Plane Surface que hay en anchors_carretera.geo que tiene dos valores a la derecha del = (será la última siempre y cuando se abra el .geo justo después de crear superficie no conducible).

Solo las superficies que formen parte de una superficie física acabarán siendo parte del fichero .msh, por lo que es importante hacer bien estas definiciones. Se recomienda emplear la herramienta Visibility para comprobar que las Physical Surfaces 111 y 222 están bien definidas.
Imágenes Adjuntas
Tipo de Archivo: jpg inicioyfinal.jpg (144,5 KB (Kilobytes), 99 visitas)

Última edición por zaxxon; 21-feb-12 a las 23:32
zaxxon está desconectado  
Te da las gracias:
Antiguo 13-sep-09   #8 (permalink)
Administración SR
 
Avatar de zaxxon
 
Mensajes: 1.311
Karma: 584
zaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy pronto
Predeterminado Etapa 5: Creación del terreno

¿Es necesario pasar por MeshLab?

No. En general lo recomendable leer el documento gmsh_thresholds.pdf y saltarse el paso de MeshLab. Es más rápido y los resultados son mejores.


¿Cómo se simplifica el terreno en MeshLab?


Cuando ejecutamos
> simplificar

la malla la dividimos en tres partes, y las procesamos por separado:

  1. Triángulos en contacto con la carretera. No los tocaremos, pues cerca de la carretera queremos que los triángulos se mantengan pequeños. intocables.ply
  2. Resto de triángulos conducibles. conducibles.ply
  3. Triángulos no conducibles. noconducibles.ply

111 y 222 son los identificadores de las zonas conducibles y no conducibles, respectivamente. 333 sería el identificador de otras zonas de terreno (por ejemplo la montaña de la zona
de la carretera, que normalmente no formará parte del mallado, pero podría).

El resultado son tres ficheros en formato ply que serán abiertos y procesados con MeshLab:

1) intocables.ply

Filters -> Cleaning and repairing -> Remove unreferenced vertex

Grabo como i.ply

2) conducibles.ply

Filters-> Remeshing, simplification and reconstruction -> Quadratic Edge Collapse Decimation

Es importantísimo marcar Respetando fronteras, preservando normales, posición óptima de vértices simplificados y post-simplification cleaning

El resultado lo podemos grabar en el directorio salida como c.ply

En la parte conducible puede ser eliminar triángulos en las horquillas, unas zonas donde el mallador pone demasiados. Se anexa una imagen en la que se muestra una misma horquilla antes y después de simplificar la malla:

3) noconducibles.ply

Filters-> Remeshing, simplification and reconstruction -> Quadratic Edge Collapse Decimation

De nuevo, respetando fronteras, preservando normales, posición óptima de vértices simplificados y post-simplification cleaning

Grabamos salida\n.ply

Nota: si Meshlab da mensajes de error al abrir algún fichero ply, el error desparece al cambiar el texto short por int en la línea property del fichero (la novena).

Ahora juntamos las mallas creadas

> juntar_mallas

Al juntarlas se ha creado un nuevo fichero elements.txt en el directorio salida, y un nuevo fichero nodos_con_altura.txt con la posición de los nuevos nodos de la malla simplificada.

El fichero salida\prueba.geo nos muestra los nodos de la malla simplificada.

¿Cómo son los triángulos generados para el BTB?

La generación de los triángulos es muy sencilla. En este diseño todos los triángulos forman parte de zonas de terreno en las que se se mezclan dos texturas. En el BTB la mezcla de texturas se especifica en la definición de cada triángulo indicando el porcentaje de mezcla (0 a 1) en cada uno de los tres nodos que forman ese triángulo. Es el parámetro P:



Por otro lado los anchors de terreno se indican con la nomenclatura AXXX, como en el ejemplo anterior, mientras que los verdaderos anchors de la carretera (los que permiten enganchar el terreno a ella) se escriben como T0 XXX (T0 si la carretera es la 0, T1 si es la 1, etc.). Por ejemplo:

Imágenes Adjuntas
Tipo de Archivo: jpg opcionesmeshlab.jpg (28,3 KB (Kilobytes), 38 visitas)
Tipo de Archivo: jpg hairpin_improve.jpg (29,3 KB (Kilobytes), 59 visitas)
Tipo de Archivo: jpg mesh_simplified.jpg (55,9 KB (Kilobytes), 90 visitas)

Última edición por zaxxon; 21-feb-12 a las 23:33
zaxxon está desconectado  
Antiguo 12-oct-09   #9 (permalink)
Administración SR
 
Avatar de zaxxon
 
Mensajes: 1.311
Karma: 584
zaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy pronto
Predeterminado Otros scripts. Generación de pacenotes (cambiando pacenotes.ini)

Este proceso sirve para cualquier tramo exportado para ser usado con el plug-in RBR_RX, aunque no se hayan usado scripts para generar ese tramo.

El proceso es:

  1. Exportamos desde BTB y copiamos pacenotes.ini y driveline.ini a una carpeta, por ejemplo f:\project\pacenotes
  2. Ejecutamos los scripts*
  3. Copiamos el fichero c:\project\pacenotes\salida\pacenotes.ini de nuevo a la carpeta donde está el tramo exportado (haciendo una copia de seguridad del original, claro)
Para ejecutar los scripts necesitamos arrancar octave, y si estamos trabajando en f:\project\pacenotes debemos escribir:

> cd f:\project\pacenotes
> pacenotes
> pacenotes2(0.03,10)

donde 0.03 es un parámetro de sensibilidad (cuanto más pequeño, más curvas detectaremos) y 10 es la distancia en m que queremos adelantar los pacenotes. 10m suele estar bien.

La idea en que se basan los scripts es calcular cuánto se gira en cada curva. En realidad calculan cuánto se gira en os 25m centrales de la curva y en 100m centrados en la curva. En función de eso dos parámetros se clasifica cada curva. Por ejemplo, si una curva gira en total (en 100m) más de 140 grados, entonces eso es una horquilla. En el script pacenotes2.m se puede ver fácilmente cómo se toman las decisiones (función asignar_pacenote). Es muy fácil modificar el código para que se adapte a nuestro gusto.

Now in english

1) Download and install Octave 3.2.3 (have a look in here ([TUTORIAL] Método zaxxon))

2) Download the scripts and the folders structure http://foro.simracing.es/bobs-track-...html#post48230 ([TUTORIAL] Método zaxxon)

3) Extract the folders structure, for example in a folder c:\temp\track

4) Copy the files pacenotes.ini and driveline.ini to c:\temp\track\pacenotes folder

5) Run octave and type:

> cd c:\temp\track\pacenotes

> addpath('c:\temp\track\scripts')

> pacenotes

> pacenotes2(0.01,10)

You will get a new pacenotes.ini with the new pacenotes inside c:\temp\track\pacenotes\salida

0.01 is a sensibility factor (0.01-0.03 is usually ok). The lower, the bigger the number of pacenotes generated. 10 is the length (in meters) you want the pacenotes to be moved towards the start of the track (10m usually works fine)

A graph will pop-up showing the track and the decission made for each curve.

The pacenotes are generated based on 2 parameters: angle turned in the curve in the central 50m and the (global) angle turned in 100m. Criteria for assignation can be changed just editing the file c:\temp\track\pacenotes\asignar_pacenotes.m. It is easy to change the file.

Explanation of asignar_pacenotes.m:
Only curves with a central angle turn bigger than 15 degrees and considered. If the 100m turn is bigger than 140 degrees it will be considered as a "hairpin", unless the central turn is smaller than 80 degrees, case in which the call will be "Medium Long". And so on.

Última edición por zaxxon; 04-mar-11 a las 09:47
zaxxon está desconectado  
Antiguo 12-oct-09   #10 (permalink)
Administración SR
 
Avatar de zaxxon
 
Mensajes: 1.311
Karma: 584
zaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy pronto
Predeterminado Otros scripts. Generación de pacenotes (insertables en el Venue.xml)

Este proceso solo sirve para tramos generados con script y cuando todavía se está trabajando con el Venue.xml, ya que las notas generadas se insertan directamente en este fichero. La carretera se presupone dividida en varios trozos (Etapa 8, en el directorio s10_split).

> cd f:\project\pacenotes
> coge_datos
> pacenotes_a
> pacenotes2_a(0.03,10)

Última edición por zaxxon; 21-feb-12 a las 23:37
zaxxon está desconectado  
Enlaces Patrocinados
Antiguo 20-oct-09   #11 (permalink)
Administración SR
 
Avatar de zaxxon
 
Mensajes: 1.311
Karma: 584
zaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy pronto
Predeterminado Registro de actualizaciones

11/04/10

Nuevo tutorial
: demo_tutorial.7z
(proyecto wink demo_tutorial_winksource.7z)

Nueva versión de los scripts: scripts_110410.7z
  • Nuevo dar_altura que permite alterar el perfil en altura de la carretera. Es necesario Octave 3.2.3.
  • intersections.m cambia para adaptarlo al octave 3.2.3
  • trocea_malla.m es mucho más rápido
  • Nuevo script split_track.m que permite al usuario especificar en qué puntos quiere que partir_track.m trocee la carretera. Más detalles del uso en Details.doc
  • split_track y partir_track ahora crean segmentos de carretera de longitud similar. Hasta ahora el particionado se hacía para asignarles un número similar de nodos.
  • idea.pps añadido en la carpeta de documentación
  • Nuevo script addgrid que permite visualizar los límites de los datos de altura disponibles en gmsh.
Si se está trabajando en un proyecto basta con copiar los nuevos archivos sobre los antiguos. No obstante, siempre es bueno hacer un backup antes.


28/01/2010

Nueva versión de los scripts (version 28/01/10):

Cambios/mejoras:


importakml
  • Pequeño retoque para tratar de reducir el número de nodos que se crean (para un valor de tolerancia dado).
  • Ya no es necesario quitarle al kml las partes inicial y final. Funcionará igual si se hace, pero no es necesario.


make_grid/read_grid
  • Cambian su forma de funcionamiento para facilitar la corrección de errores y para mejorar el uso con BTBLofty.
  • Ya no es necesario editar los ficheros gridXXX_relleno.kml para quitarles a los kml las partes inicial y final. Funcionará igual si se hace, pero no es necesario
  • Ahora cada fichero grid_XXX.kml tiene un número entero de columnas de datos (la rejilla es una matriz con columnas (de sur a norte) y filas (de oeste a este)). De esta forma los errores que a veces se producen al principio de los ficheros estarán localizados siempre al sur de la rejilla, con lo que afectarán poco al trazado y además serán fáciles de detectar.
  • Antes de cada columna se han insertado unos pocos datos de relleno para que de haber errores de altura al principio de una columna recaigan en estos datos, que luego son eliminados, y no en los datos de verdad. Cuando se pasa del último dato de una columna, situado al norte de la rejilla al primero de la siguiente, la distancia de uno a otro es tan grande que suele producirse algún dato de altura incorrecto.
  • Ahora los ficheros gridXXX.kml (y por tanto gridXXX_relleno.kml) tienen internamente cada uno su propio "name" por lo que al abrirlos con Google Earth es sencillo identificar qué ficheros tienen errores. Si abrimos con Google Earth todos los ficheros gridXXX_relleno.kml, podemos comprobar que las alturas asignadas con correctas y en caso de que haya errores es inmediato repetir el proceso con BTBLofty para ese fichero
  • BTBLofty se ralentiza de manera dramática si se usan ficheros con más de 5000 puntos, por lo que se recomienda usar este valor al llamar a make_grid.
    make_grid(-1000,2000,-3000,4000,25,
    5000)
  • Para trabajar con BTBLofty:
    1. Abrir Google Earth
    2. Abrir BTBLofty, seleccionar el fichero gridXXX.kml (marcar Google Earth como fuente de datos), grabar como gridXXX_relleno.kml cuando termine
    3. Cerrar Google Earth
    4. Ir al paso 1) si quedan ficheros gridXXX.kml por ser procesados
join_all
  • Corregido para que partir_track(1) no dé problemas


dar_altura
  • He incorporado un nuevo método de suavizado basado en splines con el objetivo de reducir el número de baches que aparecen en la carretera. Será el método a usar por defecto, si bien es posible usar el antiguo fácilmente.


La mejora realizada en dar_altura se puede probar con este tramo here, el primero hecho con el nuevo script. Con el método antiguo aparecían algunos baches que habría que haber quitado a mano.

En la imagen las líneas roja y azul se corresponden con la altura de la carretera asignada en un tramo de ejemplo con el antiguo y el nuevo método, respectivamente.




20/01/2010

  • importakml se para si no es posible reducir el número de nodos. La causa suele ser que el kml tiene algún tipo de problema. Las coordenadas del punto conflictivo se muestran en pantalla.
  • read_grid comprueba que los archivos _relleno.kml contienen el número correcto de puntos (a veces posible que se borren por error algunos al eliminar los textos inicial y final)
  • Ahora l fichero nodes.xml es copiado automáticamente desde s0_import\salida o s3_road\salida a la carpeta "venue".
  • Cuando terminan los scripts muestran un mensaje de que informa de cuál es el siguiente paso a realizar.
  • Añado el script leehgt.m útil para generar lamalla.mat a partir de ficheros hgt
  • Dentro del comprimido de los scripts hay una carpeta con documentos de ayuda en inglés


21/11/2009


Corrijo un símbolo ">" que faltaba en pre_terrain.xml

18/11/2009
  • Incorporo el script btb06, que evita el uso de la versión 0.6 del BTB. btb06 generará anchors.mat y nac.mat, en lugar de mallado_regular.
  • Ahora nodos.mat y porcentajes.mat solo se generan una vez, haciendo más rápido el proceso global
  • mapeo.txt se genera directamente en el directorio raíz del proyecto, evitando tener que copiarlo pero con el riesgo de destruir el anterior (si lo hubiera)
  • Los archivos que se usarán como entrada de btb06 ahora se llaman nodes.xml para evitar tener que renombrarlos.
  • Si se quiere seguir usando el BTB 0.6 para generar anchors_s1.xml y porcentajes.xml, ahora hay que ejecutar crear_mats.m en el directorio Venue tras crear esos dos ficheros .xml
08/11/2009
  • Actualizo pacenotes2.m para corregir un problema que hacía que no funcionase (tras su última modificación).

22/10/2009
  • Cambio importakml para tratar de que las carreteras encajen mejor en las montañas.
20/10/2009
  • Cambio importakml para tratar de corregir un problema en la generación de mapeo.txt
  • Modifico make_grid para hacerlo más rápido
13/10/2009
  • Modifico los scripts para cambiar los parámetros que se les pasa
  • También cambia el comprimido con las carpetas vacías, incorporándose el archivo coge_datos en el directorio pacenotes.

Última edición por zaxxon; 07-may-10 a las 18:34
zaxxon está desconectado  
Antiguo 07-nov-09   #12 (permalink)
Administración SR
 
Avatar de zaxxon
 
Mensajes: 1.311
Karma: 584
zaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy pronto
Predeterminado Licencia de uso

Ni el presente tutorial, ni el método que describe, ni los scripts desarrollados por el autor son software libre. Se prohibe la redistribición o uso comercial del tutorial, del método o de los scripts. Solo se permiten modificaciones para uso personal y no comercial.

El autor no acepta ninguna responsabilidad por cualquier daño resultante del uso de este método.
zaxxon está desconectado  
Te han dado la gracias:
Antiguo 12-nov-09   #13 (permalink)
Administración SR
 
Avatar de zaxxon
 
Mensajes: 1.311
Karma: 584
zaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy pronto
Predeterminado otros scripts: creación de muros al borde de la carretera

El script muros_pegados genera muros justo al borde de la carretera. Un parámetro permite desplazar los muros generados hacia el interior o hacia el exterior de la carretera.

Instalación: copiar en el directorio base del proyecto las carpetas que hay en el interior del zip anexado (en c:\project, por ejemplo)

> cd c:\project\s7_walls_b
> muro_pegado(20,0.5)

El primer parámetro es el número de anchors de carretera que definirán cada muro (por defecto un anchor está en término medio cada 5m). El segundo parámetro es el desplazamiento en metros de los muros hacia el exterior de la carretera. Los valores negativos supondrán desplazar los muros hacia el interior.

La salida del script son los ficheros salida\muros_izda.txt y salida\muros_dcha.txt, que como indican sus nombres son los muros situados en las partes izquierda y derecha de la carretera, por separado.

NOTA: si el proyecto ya tiene muros, debe calcularse a mano el número total de muros y anotar el resultado al principio de la sección Walls del Venue.xml.

NOTA: las características (perfil y material, entre otras cosas) de los muros vienen definidas por los archivos final_muro2.txt y final_muro2_invertido.txt, por lo que cambiando estos ficheros se establecen las características de todos los muros creados.

NOTA: anexo también el XPack TestMuros que contiene el material que he usado para probar el script
Imágenes Adjuntas
Tipo de Archivo: jpg muros_borde.jpg (35,4 KB (Kilobytes), 29 visitas)
Tipo de Archivo: jpg detalle_muro.jpg (42,8 KB (Kilobytes), 29 visitas)
Archivos Adjuntos
Tipo de Archivo: zip TestMuros.zip (3,1 KB (Kilobytes), 15 visitas)
Tipo de Archivo: zip s7_walls_b.zip (4,4 KB (Kilobytes), 15 visitas)

Última edición por zaxxon; 12-nov-09 a las 22:52 Razón: Añado otra imagen
zaxxon está desconectado  
Te han dado la gracias:
Antiguo 20-ene-10   #14 (permalink)
Administración SR
 
Avatar de zaxxon
 
Mensajes: 1.311
Karma: 584
zaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy pronto
Predeterminado Otros scripts: hacer el terreno más irregular

Hemos terminado de usar los scripts y damos el resultado por bueno, pero nos gustaría que el terreno fuese más irregular. Ha quedado demasiado "plano". Querríamos algo como:



Podemos usar el script terrain_noise
>cd c:\project\s4_terrain
>terrain_noise([-0.4,0.4])

Donde en el ejemplo estaríamos diciendo que queremos añadir una altura aleatoria a los anchors (nodos) del terreno entre -0.4 y 0.4 m.
Cuando el script termine solo tenemos que ejecutar de join_all para incorporar los nuevos valores al proyecto.
Si se usa varias veces este script, los resultados no se acumulan.

Última edición por zaxxon; 29-jul-10 a las 01:54
zaxxon está desconectado  
Antiguo 07-may-10   #15 (permalink)
Administración SR
 
Avatar de zaxxon
 
Mensajes: 1.311
Karma: 584
zaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy pronto
Predeterminado Soporte multi_track. Añadir un desvío

Tutorial sobre cómo hacerlo:
tutorial_adding_a_detour.7z

Existen forma más sencillas y rápidas de añadir un desvío, pero no preservan el mallado regular de las mallas. Están descritas en el documento "zaxxon_scripts.pdf" que hay en la carpeta documentation que viene con los scripts.

Última edición por zaxxon; 21-feb-12 a las 23:42
zaxxon está desconectado  
Te han dado la gracias:
Antiguo 14-may-10   #16 (permalink)
Administración SR
 
Avatar de zaxxon
 
Mensajes: 1.311
Karma: 584
zaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy pronto
Predeterminado Cambios en el método zaxxon

He cambiado el script importakml. La versión antigua tenía el inconveniente de generar demasiados nodos. Con la nueva versión se usan los puntos del kml como nodos del track, con lo que es en última instancia cada uno el que decide dónde y cuántos nodos quiere.

Uso: importakml('fichero.kml');

También es posible usar como nodo solo 1 de cada N puntos:

Uso alternativo: importakml('fichero.kml','decimate',2)
y el track tendría la mitad de nodos que puntos hay en el kml.

La versión anterior se ha renombrado como importakml_old

Abro este hilo para notificar cambios importantes en los scripts o en el método. Para dudas y preguntas sigue estando este otro
Dudas y preguntas del "método zaxxon" - SimRacing.es
zaxxon está desconectado  
Te han dado la gracias:
Antiguo 07-ago-10   #17 (permalink)
Administración SR
 
Avatar de zaxxon
 
Mensajes: 1.311
Karma: 584
zaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy pronto
Predeterminado Respuesta: Cambios en el método zaxxon

He cambiado la forma de empezar a trabajar en un proyecto, para que sea más sencilla y deje menos margen a los errores.

Empezamos creando un kml de la carretera, con detalle suficiente para que esté perfectamente definida su forma, y guardamos el kml con el nombre "road.kml" en la carpeta s0_import (ruta en rojo en la figura)

Creamos dos kmls más:
1) "limits.kml" (ruta naranja) englobando todas las carreteras del proyecto (una si es simple o todas, principal y desvíos, si es multitrack). Y guardamos ese kml en s2_elevation
2) "limits_b.kml" (ruta en amarillo) englobando todo el terreno que queremos que tenga el proyecto. Guardamos limits_b.kml en s2_elevation_b



Cuando hemos puesto cada fichero en su sitio arrancamos el octave y ejecutamos "start"

> cd c:\project
> addpath('c:\project\scripts')

> start

start procesa road.kml, limits.kml y limits_b.kml, llamando a lo scripts importakml y make_grid. Cuando termina, los ficheros gridXXX.kml ya están listos en los directorios s2_elevation\salida y s2_elevation_b\salida para ser ser "elevados" (con BTBLofty, por ejemplo). Por defecto cada kml tiene 5000 points como máximo, y se usan 25 y 75m como pasos de las rejillas de datos Se pueden usar otros valores pasándoselos como parámetros a "start" (por ejemplo, start(25,75,5000))

NOTA: Desde hace tiempo make_grid acepta como entrada un kml que delimite la zona, en lugar de los límites expresados numéricamente.

Última edición por zaxxon; 08-ago-10 a las 01:18
zaxxon está desconectado  
Te han dado la gracias:
Antiguo 21-sep-10   #18 (permalink)
Administración SR
 
Avatar de zaxxon
 
Mensajes: 1.311
Karma: 584
zaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy pronto
Predeterminado Respuesta: Cambios en el método zaxxon

accept_mesh
Con el uso de los Threshold Fields de gmsh (ver archivo en la carpeta documentation) es posible generar mallados que no necesitan ser optimizados. Este script se salta el procesado del mallado con Meshlab, en caso de que se decida que no es necesario, acelerando de esta forma la creación del proyecto.

Uso:
> cd s4_terrain
> coge
> accept_mesh (en lugar de simplificar+MeshLab+juntar_mallas)

raise_kml
Script que asigna un valor de altura a todos los ficheros gridXXX.kml que haya en el directorio salida. Graba el resultado con nombre gridXXX_relleno.kml. Una vez termina de procesarlos hay que ejecutar read_grid para crear lamalla.mat.
Este script precisa tener Google Earth y Python instalados (ver instrucciones en la carpeta documentation). Funciona en XP y en Windows7.

Uso:
> cd s2_elevation (o s2_elevation_b)
> raise_kml
zaxxon está desconectado  
Antiguo 30-sep-10   #19 (permalink)
Administración SR
 
Avatar de zaxxon
 
Mensajes: 1.311
Karma: 584
zaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy pronto
Predeterminado Respuesta: Cambios en el método zaxxon

He cambiado un par de aspectos del soporte multi-track. Por un lado hay un nuevo script create_sons destinado a facilitar la creación de la estructura de directorios para los hijos. Por otro lado los ficheros father.txt y sons.txt ahora pueden crearse de forma que transportar todos los ficheros de una carpeta a otra no supone tener que cambiar los contenidos de dichos ficheros .txt. Hay que actualizar los scripts y leer la segunda página de "Multi track scripts.doc" para conocer más detalles.

Última edición por zaxxon; 02-oct-10 a las 09:50
zaxxon está desconectado  
Te han dado la gracias:
Antiguo 12-ene-11   #20 (permalink)
Administración SR
 
Avatar de zaxxon
 
Mensajes: 1.311
Karma: 584
zaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy prontozaxxon llegará a ser famoso muy pronto
Predeterminado Respuesta: [TUTORIAL] Método zaxxon

He añadido soporte para ficheros de datos de elevación con formato de rejilla ASCII. Se pueden obtener datos de altura para toda España en este formato en esta web oficial

http://centrodedescargas.cnig.es/Cen...rgas/index.jsp

El espaciado de la rejilla es de 25m, y en la zona donde he probado los scripts la calidad era muy buena. Salvo para Canarias, donde Google Earth da mejor resolución, creo que esta fuente de datos de elevación es muy interesante.

MDT 25 - Modelos 3D - Cartografía - Instituto Geográfico Nacional - Ministerio de Fomento

En el documento AGR_support.pdf se pueden leer los detalles de cómo usarlos. Lógicamente hay que actualizar los scripts para descargarse el pdf.
zaxxon está desconectado  
Tema Cerrado

Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code está Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado
Trackbacks está Activado
Pingbacks está Activado
Refbacks está Activado


Temas Similares
Tema Autor Foro Respuestas Último mensaje
[RBR] "Finalizado" Mount Herman v4.0 (Colorado) By Zaxxon zaxxon Proyectos SimRacing.es 19 09-feb-11 08:20
[RBR] "Finalizado" Subida al "Pikes Peak v1.21" (Colorado) By Zaxxon zaxxon Proyectos SimRacing.es 74 29-oct-09 18:27
[TUTORIAL] Pikes Peak Climb "How-to" (Método Zaxxon) zaxxon Bobs Track Builder 264 23-oct-09 13:46

Simracing.es
La franja horaria es GMT +1. Ahora son las 02:10.
Powered by vBulletin
Copyright © 2010 vBulletin Solutions, Inc.
© 2007-2012 SimRacing.es
eXTReMe Tracker

Visitantes Online Google™ Sitemap™ Haz un donativo a SimRacing.es Google™ PageRank™

no new posts