Beschreibungen und Beispiele zum Raytracer POV-Ray von Friedrich A. Lohmüller
Modelleisenbahn u. Eisenbahn-Modelle mit POV-Ray
English English English
Italiano Italiano
Français français

Home
- POV-Ray Tutorial

- Modelleisenbahn u.
  Eisenbahn-Modelle
  mit POV-Ray
    Inhaltsverzeichnis

  - Mein Rail Track System
    für POV-Ray
    Gleis Elemente
    - Geraden & Kurven
    - Weichen
    - Y- u. 3Wege-Weichen
    - Kreuzungen

    - Vereinfachte Anwendung
      mit RT_System_00.inc
      - Gleis Elemente
        mit RT_System_00.inc

    - An Modell-Maßstäbe
      angepaßte Gleiselemente
      - H0 Scale Gleise
      - N Scale Gleise
      - Z Scale Gleise

   > Gleisplan-Design mit
      skalierten Gleisen
      - Verlegen von Gleisen
      - Gleise rauf u. runter

    - Gleisplan-Design Beispiele
      - Einfach zyklisch
      - Einfacher Achter

    - Download
      Rail Track System
                                                         
Gleisplan-Design mit skalierten Gleisen

Demonstration mit Spur N Gleissystem von Geometrie Typ A:
Klicken Sie hier zum Download ein Grundszenen-Datei RT_N_A111_BaseScene_0.pov für POV-Ray.
Vorbereitungen:
//-----------------------------------------------//
#include "transforms.inc"
//-------------------------
#declare Simulate_On =  0 ;  // -2, -1, 0, 1, 2, 3,
//  0=real tracks, 1=double rails, 2=symbolic blocks, 3=blocks+text
// -2=with gravel, -1 with base blocks (h = 0.20)
#include "RT_System/N_TypeA111/RT_N_TypeA111_Set_00.inc"
#include "RT_System/N_TypeA111/RT_N_TypeA111_Track_Up_00.inc"
// #declare N = 160; declared in set!
//-----------------------------------------------//

Die Platzierung von Kurvengleisen mit dem Makro 'Rotate_Around_Trans' benötigt: #include "transforms.inc" !

Die erste Include-Datei enthält alle Makros für ein Gleisset der Spur N.
Die Gerade der Grundlänge ist das Gleis object{T_111}
mit der realen Länge von 111mm, hier dargestellt durch die Länge L111 = 0.111*N.
Die Weichen haben einen Winkel von 15° und gebogene Gleise mit dem Radius R9 (~0.42887*N).
Diese Include-Datei deklariert auch die Variable 'N' (=160) und 'Track_Distance' (~ 0.029 m *160)
Die Simulationstypen sollten deklariert werden bevor das Gleisset eingefügt wird!
Alle Gleise starten bei <0,0,0> in positiver x-Richtung.

Die zweite Include-Datei enthält ein Makro 'Track_Up_00("TRACKNAME", STEP, GRADIENT_TYPE)'.
Die dient dazu Steigungen von Gleisen herauf und herunter einfach zu simulieren, wie hier später gezeigt wird here.

Verfügbare Gleiselemente

1) Gerade Gleise
Die Standard-Länge ist 'L111' (= 0.111 m *160),
das entsprechende Gleis ist 'object{T_111}'.
//-----------------------------------------------//
object{ T_222 rotate<0,0,0> translate<0*L222,0,0>}
object{ T_115 rotate<0,0,0> translate<0*L111,0,0>}
object{ T_111 rotate<0,0,0> translate<0*L111,0,0>}
object{ T_107 rotate<0,0,0> translate<0*L107,0,0>}
object{ T_057 rotate<0,0,0> translate<0*L057,0,0>}
object{ T_055 rotate<0,0,0> translate<0*L055,0,0>}
object{ T_028 rotate<0,0,0> translate<0*L028,0,0>}
object{ T_777 rotate<0,0,0> translate<0*L777,0,0>}
// lenght free:
object{ T_Straight(0.331*N) translate<0.331*N,0,0>}
//-----------------------------------------------//
RT_Track_System_Straights
Gerade Gleise
2) Kurven-Gleise
Es gibt eine große Anzahl an Kurven mit den Radien zwischen R1 (~ 0.195 m * N) über R9 ( ~ 0.429 m * N = Weichenradius) bis R10 ( ~ 0.468 m * N ) um das Layout so flexibel wie möglich zu halten.
Hersteller von Modellgleisen produzierne nicht alle diese Radien - somit liegt es an Ihnen die Gleise mit den entsprechenden Radien auszuwählen. Andere Radien kann man mit flexiblen Gleisenr realisieren.br> Zum einfacheren Arbeiten beim Gleisplanbau gibt es auch definierte Rechtskurven z.B. 'object{T_R1_45}' und Linkskurven z.B. 'object{T_R1_45}'
//-----------------------------------------------//
object{ T_R1_45
        Rotate_Around_Trans(<0,0*45,0>,<0,0,-R1>)}
object{ T_R2_45
        Rotate_Around_Trans(<0,0*45,0>,<0,0,-R2>)}
object{ T_R3_45
        Rotate_Around_Trans(<0,0*45,0>,<0,0,-R3>)}
 // ... etc, etc, ... //
object{ T_R9_45
        Rotate_Around_Trans(<0,0*45,0>,<0,0,-R9>)}
object{ T_R10_45
        Rotate_Around_Trans(<0,0*45,0>,<0,0,-R10>)}

object{ T_R1_30
        Rotate_Around_Trans(<0,0*30,0>,<0,0,-R1>)}
object{ T_R2_30
        Rotate_Around_Trans(<0,0*30,0>,<0,0,-R2>)}
 // ...
object{ T_R1_15
        Rotate_Around_Trans(<0,0*15,0>,<0,0,-R1>)}
 // ...
object{ T_R1_075
      Rotate_Around_Trans(<0,0*0.75,0>,<0,0,-R1>)}
// radius and angle free:
object{ T_Curve( 0.250*N, 17.5 )
    Rotate_Around_Trans(<0,17.5,0>,<0,0,-0.250*N>)}
//-----------------------------------------------//
Anmerkung: Wegen dem Simulationsmodus mit Gleisbezeichnungen sollte man vermeiden Gleise zu spiegeln.
Andernfalls erhält man mit 'Simulate_On = 3' alle Texte in Spiegelschrift!
D.h.: Man verwende nicht 'scale<-1,1,1>', noch 'scale<1,1,-1>
pacement of a curve for a switch
Kurven-Gleise T_L1_45, T_L2_45, ..., T_L10_45
pacement of a curve for a switch
Kurven-Gleise T_R1_45, T_R2_45, ..., T_R10_45



3) Weichen u. Kreuzungen
Für Weichen muß man die entsprechenden Weichenrichtungen deklarieren.
Weichen: Winkel 15°, Radius R9, Gerade Länge L111
Kreuzungen:
asymmetrisch: 15° (X15_RL, X15_LR: Hauptgleis L111, diagonal L115)
symmetrisch: 30° (XX30: Länge L115, XX30s: Länge ~ 0.05 m*N).
//switch directions: ----------------------------//
#declare SD1= 0;// 0=straight, 2=curved
#declare SD2= 0;//-1=left, 0=straight, 2=right
#declare SD3= 0;//-1=left, 1=right
// turnouts - switches
object{ SW_R(SD1) rotate<0,0,0> translate<0*L111,0,0>}
object{ SW_L(SD1) rotate<0,0,0> translate<0*L111,0,0>}
object{ SW3(SD2)  rotate<0,0,0> translate<0*L111,0,0>}
object{ SWY(SD3)  rotate<0,0,0> translate<0*L111,0,0>}
// level junctions - diamond crossings
object{ X15_RL    rotate<0,0,0> translate<0*L110,0,0>}
object{ X15_LR    rotate<0,0,0> translate<0*L110,0,0>}
object{ X30    rotate<0,0*15,0> translate<0*L115,0,0>}
object{ X30s   rotate<0,0*15,0> translate<0*L115,0,0>}
//-----------------------------------------------//



Turnouts and Level Junctions
Weichen u. Kreuzungen

4) Improvisierte Doppelkreuzungsweiche
//-------------------------------------------//
object{ XX_RL  rotate<0,0,0> translate<0*L110,0,0>}
object{ XX_LR  rotate<0,0,0> translate<0*L110,0,0>}
//-------------------------------------------//
Anmerkung: Diese Doppelkreuzungsweichen gibt es nur als improvisierte Versionen - man kann keine Richtung einstellen!


Improvised Double Slip
Improvisierte Doppelkreuzungsweiche

5) Improvisierte Bogenweichen-Sätze
//-------------------------------------------//
object{ CSW12_R rotate<0,0,0>
        Rotate_Around_Trans(<0,0*45,0>,<0,0,-R2>)}
object{ CSW21_R rotate<0,0,0>
        Rotate_Around_Trans(<0,0*45,0>,<0,0,-R2>)}

object{ CSW12_L rotate<0,0,0>
        Rotate_Around_Trans(<0,0*45,0>,<0,0,-R2>)}
object{ CSW21_L rotate<0,0,0>
        Rotate_Around_Trans(<0,0*45,0>,<0,0,-R2>)}

//-------------------------------------------//
Note: Diese Bogenweichen gibt es nur als improvisierte Versionen - man kann keine Richtung einstellen!


Improvised Curve Switch Sets
Improvisierte Bogenweichen-Sätze
CSW21_R, CSW12_R, CSW12_L, CSW21_L



top

© Friedrich A. Lohmüller, 2011
www.f-lohmueller.de