Datei:Leiterschaukelversuch.ogv

Aus besserwiki.de

Originaldatei(Ogg-Theora-Videodatei, Länge: 30 s, 1.920×1.080 Pixel, 952 kbps insgesamt)

Diese Datei stammt aus Wikimedia Commons und kann von anderen Projekten verwendet werden. Die Beschreibung von deren Dateibeschreibungsseite wird unten angezeigt.

Beschreibung

Beschreibung
Deutsch: Leiterschaukelversuch, Details next weekend.
Datum
Quelle Eigenes Werk
Urheber Miessen

Source code

leiterschaukel.pov

// povray 3.6


// Leiterschaukelversuch
//
// Demonstration der Lorentzkraft (im engeren Sinne) am stromdurchflossenen Leiter.
// Mit einer einstellbaren Stromquelle wird ein beweglich aufgehängter Leiterbügel
// bestromt, wobei sich dessen Querstück in Magnetfeld eines Hufeisenmagneten befindet.
// Abhängig von der (technischen) Stromrichtung ändert sich der Ausschlag des Leiterbügels

// Wesentliche Bestandteile bilden die einstellbare Stromquelle, die bewegliche
// Leiterschaukel, der Hufeisenmagnet, die Aufhängung und die Verdrahtung. Die Sequenz
// Ausschlag nach rechts und Ausschlag nach links wird dabei zweimal durchlaufen



// Achsen
// x -> links nach rechts
// y -> von unten nach oben
// z -> tiefe

global_settings {
   adc_bailout 0.00392157
   assumed_gamma 1.5
   noise_generator 2
   charset utf8
   
}


light_source {
   <10, 25, -35>,
   rgb <1.5, 1.5, 1.5>
   shadowless
}

camera {
   perspective
   location <10, 25, -35>
   sky <0, 1, 0>
   direction <0, 0, 1>
   right <1, 0, 0>
   up <0, 1, 0>
   look_at <5, 5, 0>
}

/*
camera { // X
   perspective
   location <45, 0, 0>
   sky <0, 1, 0>
   direction <0, 0, 1>
   right <1, 0, 0>
   up <0, 1, 0>
   look_at <0, 5, 0>
}

camera { // Z
   perspective
   location <0, 0, -45>
   sky <0, 1, 0>
   direction <0, 0, 1>
   right <1, 0, 0>
   up <0, 1, 0>
   look_at <0, 5, 0>
}
*/

#include "baukasten.pov"

#include "verdrahtung.pov"



// *******
// *
// * MAIN
// *
// *******

// Sequenz:
// 2x Durchlaufen
// pause 0,025 // anstieg 0,075 // halten 0,05 // abfall 0,075
// pause 0,05 // gegen anstieg 0,075 // halten 0,05 // abfall 0,075 // pause 0,025

// Variable faktor hat den Wertebereich -1..+1
#declare faktor = 0;


// 2x Durchlaufen
#declare my_clock = clock;

#if (my_clock > 0.5)
  #declare my_clock = my_clock - 0.5;
#end

// pause 0,025
#declare progress = 0.025;

#if (my_clock>progress) // anstieg 0,075
  #declare faktor = (my_clock-progress)/0.075;
#end
#declare progress = progress + 0.075;

#if ( my_clock> progress ) // halten 0,05
  #declare faktor = 1;
#end
#declare progress = progress + 0.05;

#if ( my_clock>progress ) // abfall 0,075
  #declare faktor = 1 - (my_clock-progress)/0.075;
#end
#declare progress = progress + 0.075;

#if ( my_clock>progress ) // halten 0,05
  #declare faktor = 0;
#end
#declare progress = progress + 0.05;

#if ( my_clock>progress ) // gegenanstieg 0,075
  #declare faktor = -1*(my_clock-(progress))/0.075;
#end
#declare progress = progress + 0.075;

#if ( my_clock>progress ) // halten 0,05
  #declare faktor = -1;
#end
#declare progress = progress + 0.05;

#if ( my_clock>progress ) // abfall 0,075
  #declare faktor = -1 - -1 * (my_clock-progress)/0.075;
#end
#declare progress = progress + 0.075;

#if ( my_clock>progress ) // pause 0,025
  #declare faktor = 0;
#end



object {
  leiterschaukel
  rotate z*faktor*15
  translate <0, 15, 0>  
}

object {
  aufhaengung
  translate <0, 15, 0>  
}



object {
  hufeisen
}


union {
  object {
    stromquelle
  }
  object {
    drehknopf
    rotate z*faktor*-135
    translate<0, 5, 0>
  }
  translate<15, -5, 11>
}

object {
  verdrahtung
}


// Raster oder wie auch immer

object { // Platte
  Grid_Plate(
      0, 0,
      3, 0.05,
      pigment{
        color rgb<1,1,1>*1.1
      },
      1,
      <24, 0, 27>,
      <-12, -1, -9>, 
)
  translate<0, -5,0>
}

/*
object {
  Grid(3, 0.05,
      pigment{
        color rgb<1,1,1>*1.1
      } )
  translate<0, -5,0>
}
*/

sky_sphere{
  pigment{
    gradient <0,1,0> // Hintergrund
    color_map {
      [0   color rgb<1,1,1>         ]//White
      [0.4 color rgb<0.24,0.34,0.56>]//~Navy
      [0.6 color rgb<0.24,0.34,0.56>]//~Navy
      [1.0 color rgb<1,1,1>         ]//White
    }
    scale 2
  }
} // end of sky_sphere

// EOF

baukasten.pov

// povray 3.6

// Baukasten für den Leiterschaukelversuch
//
// * einstellbare Stromquelle
// * Aufhängung
// * Leiterschaukel
// * Hufeisenmagnet


// Wesentliche Bestandteile bilden die einstellbare Stromquelle, die bewegliche
// Leiterschaukel, der Hufeisenmagnet, die Aufhängung und die Verdrahtung. Die Sequenz
// Ausschlag nach rechts und Ausschlag nach links wird dabei zweimal durchlaufen




#declare drehknopf = union { // Drehknopf
  cone { // Drehknopf der Stromquelle
    <0, 0, 0>, 1.5 <0, 0, -2>, 1
  }
  intersection {
    box {
      <-0.2, 0, 0>, <0.2, 2, -2.1>
    }
    cone { // Zeiger
      <0, 0, 0>, 1.7 <0, 0, -2>, 1.2
    }
  }
  
  pigment { // grau
    color rgb <0.5, 0.5, 0.6>
  }

}

#declare beschriftung_knopf = text { // Beschriftung für den Drehknopf
  // ttf "arial.ttf" // für windows
  // ttf "/usr/share/fonts/truetype/DejaVuSans.ttf",
  // cp /usr/share/fonts/truetype/DejaVuSans.ttf DejaVuSans.ttf // für linux
  ttf "DejaVuSans.ttf",
  "− ← 0 → +", 0.025, 0
  pigment{ // schwarz
    color rgb<0, 0, 0>
  }
}

#declare beschriftung_anschluss = union { // Beschriftung für die Anschlüsse

// länge 4

  cylinder { // Skalenteiler
    <1, 0, 0>, <2.5, 0, -0>, 0.1
    scale <1, 1, 0.025> // in der z-Achse plätten
  }
  cone { // Anschluss rot
    <1, 0, 0>, 0.25 <0, 0, -0>, 0
    scale <1, 1, 0.025> // in der z-Achse plätten
  }

  text {
    // ttf "courier.ttf" // für windows
    // ttf "/usr/share/fonts/truetype/DejaVuSerif.ttf",
    // cp /usr/share/fonts/truetype/DejaVuSerif.ttf DejaVuSerif.ttf // für linux
    ttf "DejaVuSerif.ttf",
    "I", 0.025, 0
    
    translate<1, 1, -0.025>
  
  }

  pigment { // schwarz
    color rgb<0, 0, 0>
  }


}

#declare stromquelle = union {
  box { // Gehäuse
    <-7, 0, 0>, <7, 11, 14>
    pigment { // grau
      color rgb <0.7, 0.7, 0.8>
    }
  }

  // http://www.f-lohmueller.de/pov_tut/animate/anim113e.htm

  #declare SkalaNr = 0;
  #declare Flat = <1, 1, 0.025>; // in der z-Achse plätten

  union {
    #while (SkalaNr<=10)

      cylinder { // Skalenteiler
        // platter Zylinder
        #if (SkalaNr = 0 | SkalaNr = 5 | SkalaNr = 10 )
          <2, 0, 0>, <2.75, 0,0>, 0.1
        #else 
          <2, 0, 0>, <2.5, 0,0>, 0.1
        #end
        scale Flat
        rotate z*(27*SkalaNr-45)
      }
      #declare SkalaNr=SkalaNr+1;
    #end
    
    translate<0, 5, 0>
    pigment { // schwarz
      color rgb <0, 0, 0>
    }

//    translate<0, 5, -0.025>
  }
  
  object {
    beschriftung_knopf
    translate x*-1* max_extent(beschriftung_knopf)/2 // hack -> center text
    translate<0, 8, -0.025>
  }
  
  cone { // Anschluss rot
    <0, 0, 0>, 0.5 <0, 0, -2>, 0.3

    translate<5.5, 2, 0>
    pigment { // rot
      color rgb <1, 0, 0>
    }
  }

  cone { // Anschluss schwarz
    <0, 0, 0>, 0.5 <0, 0, -2>, 0.3

    translate<4, 2, 0>
    pigment { // schwarz
      color rgb <0.1, 0.1, 0.1>
    }
  }
  object {
    beschriftung_anschluss
    translate<3.5, 3, 0>
  }

}



#declare aufhaengung = union { // Aufhängung für die Leiterschaukel
  union { // Standfuß
    cylinder { // Säule
      <0, 4, 0>, <0, -19, 0>, 0.3
    }
    /*
    box { // Säule
      <-0.75, 2, -0.75>, <0.75, -19, 0.75>
    }
    */
    box { // Bodenplatte
      <-3, -19, -3>, <3, -20, 3>
    }
    translate<0,0,9>
    pigment { // grau
      color rgb <0.5, 0.5, 0.5>
    }
  }
  /*
  cylinder { // Haltebalken
    <0, 1, -5>, <0, 1, 9>, 0.5

    pigment { // grau
      color rgb <0.5, 0.5, 0.5>
    }
  }
  */
  box { // Haltebalken
    <-0.6, -0.6, -5>, <0.6, 0.6, 10>

    translate<0,1.5,0>
    pigment { // grau
      color rgb <0.5, 0.5, 0.5>
    }
  }

  
  
  union { // Verbinder
    cylinder { // Verbinder hinten
      <0, 0, 4>, <0, 3, 4>, 0.15
    }
    sphere { // Eckkugel hinten
      <0, 0, 4>, 0.15
    }
    
    cylinder { // Verbinder vorne
      <0, 0, -4>, <0, 3, -4>, 0.15
    }
    sphere { // Eckkugel vorne
      <0, 0, -4>, 0.15
    }

    pigment { // orange
      color rgb <1, 0.388235, 0.235294>
    }
  }

  cone { // Anschluss blau
    <0, 0, 0>, 0.5 <0, 2, 0>, 0.3

    translate<0, 2.1, -4>
    pigment { // blau
      color rgb <0.2, 0.2, 1>
    }
  }
  cone { // Anschluss blau
    <0, 0, 0>, 0.5 <0, 2, 0>, 0.3

    translate<0, 2.1, +4>
    pigment { // blau
      color rgb <0.2, 0.2, 1>
    }
  }


  
  
}


#declare leiterschaukel = union { // Leiterschaukel
// Beschreibung:
//
// Der bewegliche Teil der Leiterschaukel U-foermig
//
// Ausrichtung:
//
// Oeffnung nach oben in der y-z-Ebene liegend
//
// Dimensionen:
//
// Lange: 15 / Tiefe
//
// Nullpunkt:
//
// Aufhaengepunkt der Leiterschaukel



  cylinder { // Querbalken
    <0, -15, 4>, <0, -15, -4>, 0.15
  }
  sphere { // Eckkugel vorne
    <0, -15, -4>, 0.15
  }
  sphere { // Eckkugel hinten
    <0, -15, 4>, 0.15
  }
  cylinder { // vorderer Balken
    <0, 0, -4>, <0, -15, -4>, 0.15
  }
  cylinder { // hinterer Balken
    <0, 0, 4>, <0, -15, 4>, 0.15
  }

  pigment { // orange
    color rgb <1, 0.388235, 0.235294>
  }

}

#declare hufeisen = union { // Hufeisenmagnet
// Beschreibung :
//
// Hufeisenmagnet
//
// Ausrichtung:
//
// Oeffnung zeigt nach rechts
// Nord/Suedpol sind zur y-Achse ausgerichtet
//
// Dimensionen:
//
// Breite: 5 / Hoehe: 10 / Laenge: 13 (Armlange: 12 / Dicke: 1)
// 
// Nullpunkt:
//
// Zwischen den Polschuhen auesseres Drittel

  merge { // Nordpol (rot)
    box { // magnetteil
      <0, 0, -2.5>, <1, 4, 2.5>
    }
    box { // polschuh
      <0, 4, -2.5>, <13, 5, 2.5>
    }
    pigment { // rot
      color rgb <1, 0, 0>
    }
  }

  merge {
    box { // magnetteil
      <0, 0, -2.5>, <1, -4, 2.5>
    }
    box { // polschuh
      <0, -4, -2.5>, <13, -5, 2.5>
    }  
  
    pigment { // gruen
      color rgb <0.168627, 0.678431, 0>
    }
  }
  translate <-9, 0, 0>  
}


// Grid macro erzeugt eine gerasterte bodenebene

// http://www.f-lohmueller.de/pov_tut/calc/math_300e.htm
#macro Grid_Plate(
    RD1, Width1,//primary raster distance/width,
    RD2, Width2,//secondary raster distance/width,
    Base_Texture, //  non = pigment { Clear }
    Intensity, // Line gray intensity
    Start_Box, End_Box, // vectors
  ) //------------------------------------------
//----------------------------------------------
box{ Start_Box,End_Box
     texture{ Base_Texture }
  #if (RD1 > 0 ) // raster big  RD1, Width1,
    texture { Grid_Lines(RD1,Width1,Intensity) }
    texture { Grid_Lines(RD1,Width1,Intensity)
              rotate<0,90,0>}
  #end
  #if (RD2 > 0 ) // raster small RD2, Width2,
    texture { Grid_Lines(RD2,Width2,Intensity) }
    texture { Grid_Lines(RD2,Width2,Intensity)
        rotate<0,90,0>}
  #end
} // end box -----------------------------------
#end // ------------------------------ end of macro
//------------------------------------- ////////////


#macro Raster(RScale, RLine)
pigment{
 gradient x scale RScale
 color_map{
     [0.000   color rgb<1,1,1>*0.5]
     [0+RLine color rgb<1,1,1>*0.5]
     [0+RLine color rgbt<1,1,1,1>]
     [1-RLine color rgbt<1,1,1,1>]
     [1-RLine color rgb<1,1,1>*0.5]
     [1.000   color rgb<1,1,1>*0.5]
    }}
#end// of "Raster(RScale, RLine)"




#macro Grid_Lines (RScale, LineW, Intensity_)
 pigment{ gradient x scale RScale
          color_map{
           [0.000   color rgbt<1,1,1,0>*Intensity_]
           [0+LineW color rgbt<1,1,1,0>*Intensity_]
           [0+LineW color rgbt<1,1,1,1>]
           [1-LineW color rgbt<1,1,1,1>]
           [1-LineW color rgbt<1,1,1,0>*Intensity_]
           [1.000   color rgbt<1,1,1,0>*Intensity_]
           } // end color_map
         } // end pigment
 #end// of Raster(RScale, HLine)-macro

//---------------<<<< Grid macro

#macro Grid(RasterScale, RasterHalfLine, Background_pigment)
  plane{<0,1,0>,0
  //layered textures!
  texture{Background_pigment}
      // 1st layer - base color
  texture{
    Raster( RasterScale, RasterHalfLine)
   }
  texture{
    Raster( RasterScale, RasterHalfLine)
      rotate<0,90,0>
    }
  }// end of plane
#end // end of "Grid(...)"-macro 
 
 
// EOF

verdrahtung.pov

// povray 3.6

// Verdrahtung für den Leiterschaukelversuch
//
// Verdrahtung zwischen Stromquelle und Aufhängung
// mit vielen Magic-Numbers



#declare verdrahtung = union {
  union { // rot
    // Startpunkt
    // Anschluss rot x:5.5 y: 1.5 z: 2
    union { // Stromquelle
      cylinder { // Anschluss Stromquelle
        <0, 0, 0>, <0, 0, -2.5>, 0.2
      }
      sphere { // Eckkugel Stromquelle
        <0, 0, -2.5>, 0.2
      }
      cylinder { // von der Stromquelle zur Bodenplatte
        <0, 0, -2.5>, <-17, 0, -2.5>, 0.2
      }

      translate<5.5, 2, -2>
      
      translate<15, -5, 11>
    }
    
    union { // Aufhängung
      cylinder { // Anschluss Aufhängung vorne
        <-0.75, 0, 0>, <0.75, 0, 0>, 0.15
        pigment { // orange
          color rgb <1, 0.388235, 0.235294>
        }
      }
      cylinder { // Anschluss Aufhängung vorne
        <0.75, 0, 0>, <3.5, 0, 0>, 0.2
      }
      sphere { // Eckkugel Anschluss Aufhängung
        <3.5, 0, 0>, 0.2
      }
      cylinder { // Anschluss Aufhängung vorne zur Säule
        <3.5, 0, 0>, <3.5, 0, 2.5>, 0.2
      }
      
      translate<0, 3, 4>
    
      translate <0, 15, 0>  
    }
    
    union { // Verbindung
      cylinder { // Anschluss Aufhängung vorne zur Säule
        <0, 0, 0>, <0, 21, 0>, 0.2
      }
      sphere { // Eckkugel oben
        <0, 21, 0>, 0.2
      }
      sphere { // Eckkugel unten
        <0, 0, 0>, 0.2
      }
      translate <3.5, -4+1, 6.5>
    
    }
  
  
    pigment { // rot
      color rgb <1, 0, 0>
    }
  }
  
  union { // schwarz

    // Anschluss schwarz x:4 y: 1.5 z: 2
    union { // Stromquelle
      cylinder { // Anschluss Stromquelle
        <0, 0, 0>, <0, 0, -1>, 0.2
      }
      sphere { // Eckkugel Stromquelle
        <0, 0, -1>, 0.2
      }
      cylinder { // von der Stromquelle zur Bodenplatte
        <0, 0, -1>, <-17, 0, -1>, 0.2
      }
      
      translate<4, 2, -2>
      
      translate<15, -5, 11>
    }
    
    union { // Aufhängung
      cylinder { // Anschluss Aufhängung vorne
        <-0.75, 0, 0>, <0.75, 0, 0>, 0.15
        pigment { // orange
          color rgb <1, 0.388235, 0.235294>
        }
      }
      cylinder { // Anschluss Aufhängung vorne
        <0.75, 0, 0>, <2, 0, 0>, 0.2
      }
      sphere { // Eckkugel Anschluss Aufhängung
        <2, 0, 0>, 0.2
      }
      cylinder { // Anschluss Aufhängung vorne zur Säule
        <2, 0, 0>, <2, 1.5, 0>, 0.2
      }
      sphere { // Eckkugel Anschluss Aufhängung
        <2, 1.5, 0>, 0.2
      }
      cylinder { // Anschluss Aufhängung vorne zur Säule
        <2, 1.5, 0>, <2, 1.5, 12>, 0.2
      }
      /*
      cylinder { // Anschluss Aufhängung vorne zur Säule
        <2, 0, 0>, <2, 0, 4>, 0.2
      }
*/

      translate<0, 3, -4>
    
      translate <0, 15, 0>  
    }

    union { // Verbindung
      cylinder { // Anschluss Aufhängung vorne zur Säule
        <0, 0, 0>, <0, 22.5, 0>, 0.2
      }
      sphere { // Eckkugel oben
        <0, 22.5, 0>, 0.2
      }
      sphere { // Eckkugel unten
        <0, 0, 0>, 0.2
      }
      translate <2, -4+1, 8>    
    }
    

    pigment { // schwarz
      color rgb <0.1, 0.1, 0.1>
    }
  }
}


// EOF

leiterschaukel.ini

povray 3.6
Die komplette Szene soll 30 Sekunden dauern und mit 25 FPS laufen.


Input_File_Name=leiterschaukel.pov

Initial_Clock=0 Final_Clock=1 Initial_Frame=0 Final_Frame=1

Final_Frame=10
Final_Frame=60
Final_Frame=300

Final_Frame=750

Final_Frame=1500
+W320 +H200
+W640 +H400
+W960 +H540

+W1920 +H1080

Output_File_Name=out/

Output_File_Name=r_leiterschaukel Cyclic_Animation=on Pause_when_Done=off Antialias=on

Display=off

ogv-ing.txt

  1. /bin/bash

rm -rf out; rm -rf yuv; rm -rf ogv; rm *png;

mkdir out; mkdir yuv; mkdir ogv;


povray leiterschaukel.ini;


mv *png ./out;

  1. scheitert ersterer, kommt letzterer zum Zug.

png2yuv -j ./out/r_leiterschaukel%02d.png -f 25 -I p -b 1 > ./yuv/out.yuv || png2yuv -j ./out/r_leiterschaukel%03d.png -f 25 -I p -b 1 > ./yuv/out.yuv;

./ffmpeg2theora-0.29.linux32.bin ./yuv/out.yuv -F 25 -v 9 -o ./ogv/leiterschaukel.ogv;


  1. rm -rf out;
  2. rm -rf yuv;

firefox ./ogv/leiterschaukel.ogv;

Lizenz

Ich, der Urheber dieses Werkes, veröffentliche es unter der folgenden Lizenz:
Creative Commons CC-Zero Diese Datei wird unter der Creative-Commons-Lizenz „CC0 1.0 Verzicht auf das Copyright“ zur Verfügung gestellt.
Die Person, die das Werk mit diesem Dokument verbunden hat, übergibt dieses weltweit der Gemeinfreiheit, indem sie alle Urheberrechte und damit verbundenen weiteren Rechte – im Rahmen der jeweils geltenden gesetzlichen Bestimmungen – aufgibt. Das Werk kann – selbst für kommerzielle Zwecke – kopiert, modifiziert und weiterverteilt werden, ohne hierfür um Erlaubnis bitten zu müssen.

Kurzbeschreibungen

Ergänze eine einzeilige Erklärung, was diese Datei darstellt.

In dieser Datei abgebildete Objekte

Motiv

Dateiversionen

Klicke auf einen Zeitpunkt, um diese Version zu laden.

Version vomVorschaubildMaßeBenutzerKommentar
aktuell18:36, 3. Nov. 201330 s, 1.920 × 1.080 (3,41 MB)wikimediacommons>MiessenUser created page with UploadWizard

Die folgende Seite verwendet diese Datei:

Metadaten