Descrizioni ed esempi per il raytracer POV-Ray di Friedrich A. Lohmüller
Ferromodellismo - Modellismo ferroviario con POV-Ray
English English English
Français français
Deutsch Deutsch

Home
- Tutorial POV-Ray

- Ferromodellismo
  Modellismo ferroviario
  con POV-Ray
    Index of Content

  - Mio 'Rail Track System',
    un sistema di binari
    per POV-Ray
    Elementi di base dei binari
    - Binari diritti e curvi
    - Scambi o deviatoi
    - Scambi Y e a 3 vie
    - Incroci

    - Uso semplificato con
      RT_System_00.inc
      - Gli elementi binari
        di RT_System_00.inc

    - Binari adattati alle
      scale di fermodellismo
      - Binari in scala H0
      - Binari in scala N
      - Binari in scala Z

    - Piani Binari con
      binari adattati
      - Posa dei binari
      - Binari su e giù

    - Piani Binari Esempi
      - Semplice ciclico
     > Otto semplice

    - Download
      Rail Track System


                                                     
Esempi per Piani Binari con binari adattati alle scale di fermodellismo
Example 2 : Otto semplice con ponte
(Sistema di binari a scala N, geometria tipo A)

Per binari curvi abbiamo spesso bisogno di ruotare binari con un angolo intorno
un centro di rotazione usando la macro 'Rotate_Around_Trans( RotationVector, Center_of_Rotation )'
dal include file 'transforms.inc'.
Possiamo sostituire questo comando molto lungo
'Rotate_Around_Trans(<0, 1*15,0>,<0,0,-R1>)'
con una espressione come 'RTyz( 1*15, -R1 )'
con dichiare la macro seguente:
//----------------------------------------------------//
#include "transforms.inc"
#macro RTyz( Y_Angle, Z_Distance )
 Rotate_Around_Trans(<0, Y_Angle,0>,<0,0, Z_Distance>)
#end
//----------------------------------------------------//
Simple cyclic
Un otto semplice con binari su e giù
Download: La scena per POV-Ray
Piazzamento dei binari:
//-----------------------------------------------------------------------------------------//
union{ //  western curve
 object{ Track_Up_00 ("T_R1_15", Step_1/2,1) RTyz( 0*15,-R1) translate<0, 0.0*Step_1*N,0> }
 object{ Track_Up_00 ("T_R1_15", Step_1,  0) RTyz( 1*15,-R1) translate<0, 0.5*Step_1*N,0> }
 object{ Track_Up_00 ("T_R1_15", Step_1,  0) RTyz( 2*15,-R1) translate<0, 1.5*Step_1*N,0> }
 object{ Track_Up_00 ("T_R1_15", Step_1,  0) RTyz( 3*15,-R1) translate<0, 2.5*Step_1*N,0> }
 object{ Track_Up_00 ("T_R1_15", Step_1,  0) RTyz( 4*15,-R1) translate<0, 3.5*Step_1*N,0> }
 object{ Track_Up_00 ("T_R1_15", Step_1,  0) RTyz( 5*15,-R1) translate<0, 4.5*Step_1*N,0> }
 object{ Track_Up_00 ("T_R1_15", Step_1,  0) RTyz( 6*15,-R1) translate<0, 5.5*Step_1*N,0> }
 object{ Track_Up_00 ("T_R1_15", Step_1,  0) RTyz( 7*15,-R1) translate<0, 6.5*Step_1*N,0> }
 object{ Track_Up_00 ("T_R1_15", Step_1,  0) RTyz( 8*15,-R1) translate<0, 7.5*Step_1*N,0> }
 object{ Track_Up_00 ("T_R1_15", Step_1,  0) RTyz( 9*15,-R1) translate<0, 8.5*Step_1*N,0> }
 object{ Track_Up_00 ("T_R1_15", Step_1,  0) RTyz(10*15,-R1) translate<0, 9.5*Step_1*N,0> }
 object{ Track_Up_00 ("T_R1_15", Step_1,  0) RTyz(11*15,-R1) translate<0,10.5*Step_1*N,0> }
 object{ Track_Up_00 ("T_R1_15", Step_1,  0) RTyz(12*15,-R1) translate<0,11.5*Step_1*N,0> }
 object{ Track_Up_00 ("T_R1_15", Step_1,  0) RTyz(13*15,-R1) translate<0,12.5*Step_1*N,0> }
 object{ Track_Up_00 ("T_R1_15", Step_1,  0) RTyz(14*15,-R1) translate<0,13.5*Step_1*N,0> }
 object{ Track_Up_00 ("T_R1_15", Step_1,  0) RTyz(15*15,-R1) translate<0,14.5*Step_1*N,0> }
 object{ Track_Up_00 ("T_R1_15", Step_1,  0) RTyz(16*15,-R1) translate<0,15.5*Step_1*N,0> }
 rotate<0,180,0>
 RTyz(-2*15, R1 )
 } // end  western curve

union{ // simple  station // starting at western end:
 object{ SW_L( SD_1)  translate< 0*L111 ,0,0>}
 object{ T_R9_15  Rotate_Around_Trans(<0,-1*15,0>,<0,0, R9>)
                      translate< 0*L111 ,0,0>}
 object{ T_111        translate< 1*L111 ,0,0>}

 object{ T_111        translate<2*L111 ,0, 1*Track_Distance> }
 object{ T_111        translate<2*L111 ,0, 0> }

 object{ SW_R( SD_2)  translate<3*L111 ,0, 1*Track_Distance>}
 object{ T_111        translate<3*L111 ,0, 0> }

 object{ T_111        translate<4*L111 ,0, 1*Track_Distance> }
 object{ SW_R( SD_2)  rotate<0,180,0>
                      translate<5*L111 ,0, 0> }
 RTyz(-2*15, R1 )
} // ----- end station

union{ // eastern curve
 object{ Track_Up_00 ("T_R1_15", Step_2/2,1) RTyz( 0*15,-R1) translate<0, 0.0*Step_2*N,0> }
 object{ Track_Up_00 ("T_R1_15", Step_2,  0) RTyz( 1*15,-R1) translate<0, 0.5*Step_2*N,0> }
 object{ Track_Up_00 ("T_R1_15", Step_2,  0) RTyz( 2*15,-R1) translate<0, 1.5*Step_2*N,0> }
 object{ Track_Up_00 ("T_R1_15", Step_2,  0) RTyz( 3*15,-R1) translate<0, 2.5*Step_2*N,0> }
 object{ Track_Up_00 ("T_R1_15", Step_2,  0) RTyz( 4*15,-R1) translate<0, 3.5*Step_2*N,0> }
 object{ Track_Up_00 ("T_R1_15", Step_2,  0) RTyz( 5*15,-R1) translate<0, 4.5*Step_2*N,0> }
 object{ Track_Up_00 ("T_R1_15", Step_2,  0) RTyz( 6*15,-R1) translate<0, 5.5*Step_2*N,0> }
 object{ Track_Up_00 ("T_R1_15", Step_2,  0) RTyz( 7*15,-R1) translate<0, 6.5*Step_2*N,0> }
 object{ Track_Up_00 ("T_R1_15", Step_2,  0) RTyz( 8*15,-R1) translate<0, 7.5*Step_2*N,0> }
 object{ Track_Up_00 ("T_R1_15", Step_2,  0) RTyz( 9*15,-R1) translate<0, 8.5*Step_2*N,0> }
 object{ Track_Up_00 ("T_R1_15", Step_2,  0) RTyz(10*15,-R1) translate<0, 9.5*Step_2*N,0> }
 object{ Track_Up_00 ("T_R1_15", Step_2,  0) RTyz(11*15,-R1) translate<0,10.5*Step_2*N,0> }
 object{ Track_Up_00 ("T_R1_15", Step_2,  0) RTyz(12*15,-R1) translate<0,11.5*Step_2*N,0> }
 object{ Track_Up_00 ("T_R1_15", Step_2,  0) RTyz(13*15,-R1) translate<0,12.5*Step_2*N,0> }
 object{ Track_Up_00 ("T_R1_15", Step_2,  0) RTyz(14*15,-R1) translate<0,13.5*Step_2*N,0> }
 object{ Track_Up_00 ("T_R1_15", Step_2,  0) RTyz(15*15,-R1) translate<0,14.5*Step_2*N,0> }
 object{ Track_Up_00 ("T_R1_15", Step_2,  0) RTyz(16*15,-R1) translate<0,15.5*Step_2*N,0> }
 translate<4.5*L111,0,0>
 RTyz(-2*15, R1 )
} // end  eastern curve

union{ // cross line southeast to northwest
 object{ Track_Up_00 ("T_111", Step_1  , 0)  translate< 0*L111, 0.0*Step_2*N,0> }
 object{ Track_Up_00 ("T_111", Step_1/2, 2)  translate< 1*L111, 1.0*Step_2*N,0> }
 object{ T_Straight( 0.062*N )               translate< 2*L111 ,1.5*Step_2*N,0> }

 object{ Track_Up_00 ("T_111",-Step_1/2, 1)  translate< 2*L111+0.062*N ,1.5*Step_2*N,0> }
 object{ Track_Up_00 ("T_111",-Step_1  , 0)  translate< 3*L111+0.062*N, 1.0*Step_2*N,0> }

 rotate<0,180+1.0,0>
 translate<0, 16.5*Step_1*N,0>
 RTyz( 15*15, R1 )
} // end  cross line southeast to northwest
//-----------------------------------------------//
E qui lo stesso otto con i piloni provvisori del ponte:
Simple cyclic
Otto semplice.
Download: La scena per POV-Ray
Simple cyclic
Otto semplice.
Estensione con un deviatoio a 3 vie e un binario secondario:
Modificha necessaria in rosso!
//-----------------------------------------------------------------------------------------//
union{ // simple  station
 // starting at western end:
 object{ SW3( SD_1)  rotate<0,0,0>                            translate< 0*L111 ,0,0> }
 object{ T_R9_15  Rotate_Around_Trans(<0,-1*15,0>,<0,0, R9>)  translate< 0*L111 ,0,0>}
 object{ T_111        rotate<0,0,0>                           translate< 1*L111 ,0,0> }
// side line
 union{ object{ T_111  translate< 0*L111 ,0,0>  }
        object{ T_111  translate< 1*L111 ,0,0>  }
        object{ T_111  translate< 2*L111 ,0,0>  }
        object{ T_111  translate< 3*L111 ,0,0>  }
                  Rotate_Around_Trans(<0, 1*15,0>,<0,0,-R9>) translate< 0*L111 ,0,0>
      }
 // end side line
 object{ T_055       rotate<0,0,0>   translate< 2*L111 ,0, 1*Track_Distance> }
 object{ T_055       rotate<0,0,0>   translate< 2*L111 ,0, 0> }

 object{ SW_R( SD_2)  rotate<0,0,0>   translate< 2*L111+1*L055 ,0, 1*Track_Distance> }
 object{ T_111        rotate<0,0,0>   translate< 2*L111+1*L055 ,0, 0> }

 object{ T_111        rotate<0,0,0>   translate< 3*L111+1*L055 ,0, 1*Track_Distance> }
 object{ SW_R( SD_2)  rotate<0,180,0> translate< 4*L111+1*L055 ,0, 0> }

 RTyz(-2*15, R1 )
} //
//-----------------------------------------------//
 
Simple cyclic
Un otto semplice + binario secondario.
Download: La scena per POV-Ray
 


top

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