Benutzer-Werkzeuge

Webseiten-Werkzeuge


phasen

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
phasen [2022/03/24 18:12] torsten.roehlphasen [2022/03/25 13:27] (aktuell) torsten.roehl
Zeile 1: Zeile 1:
 +====== Transitphasen ======
  
 <PRELOAD> <PRELOAD>
Zeile 18: Zeile 19:
 ############################################################################################################ ############################################################################################################
 </PRELOAD> </PRELOAD>
- 
  
 <JS> <JS>
  
- var a = -7.0+var a = -7.0; 
- var b = 0.0; +var planet; 
- var c = 0.0; +var brd; 
- var f+///////ctrl 
- var planet; +var onoff; 
- var brd; +var bText = true; 
- ///////ctrl +var bPhase = true; 
- var onoff; +var bImage = true
- var bText = true; + 
- var b1234 = true; +var pointer
- var bImpact = true; +var time=0.0; // 0-1 normalized time
- var time=0.0; // 0-1 normalized time+
 ////////// //////////
  
Zeile 109: Zeile 108:
 function zeit(t){ x = 16.5*t - 8.2; return x; }; function zeit(t){ x = 16.5*t - 8.2; return x; };
  
-brd.create('arrow', [ [ function(){return ex(a);},5],[function(){ return zeit(time);},-3]] ,{ dash:2, strokeColor:'#D3D3D3', fillOpacity: 0.2});  +// 
 +// pointer 
 +// 
 +brd.create('arrow', [ [ function(){return ex(a);},5],[function(){ return zeit(time) + 0.2;}, function(){ return pointer + 0.2;}]] ,{ dash:2, strokeColor:'#D3D3D3', fillOpacity: 0.2, visible: function(){ if(time == 0) return false; return true;}});  
  
 ///////// Koordinatensystem ///////// Koordinatensystem
    brd.create('arrow', [ [-8.7,-9],[-8.7,-1]] ,{strokeColor:'#000'});      brd.create('arrow', [ [-8.7,-9],[-8.7,-1]] ,{strokeColor:'#000'});  
    brd.create('arrow', [ [-8.7,-9],[9,-9]] ,{strokeColor:'#000'});      brd.create('arrow', [ [-8.7,-9],[9,-9]] ,{strokeColor:'#000'});  
-   brd.create('text',[-9.5,-0.5,"Helligkeit"]); +   brd.create('text',[-9.2,-5,"Helligkeit"]
-   brd.create('text',[8.5,-8,"Zeit"]);+      display: 'internal',      rotate:90  }); 
 +   brd.create('text',[8.5,-8.3,"Zeit"]); 
 + 
 +////////////////// image 
 +breite1 = 6; 
 +hoehe1 = 5;  
 +box_x1 = -8.2; 
 +box_y1 = 2.3; 
 + 
 +function showImage() {  if (time == 1.0 && bText && bImage) return true; return false;} 
 + 
 +brd.create('image', ['http://wiki.linux-astronomie.de/lib/exe/fetch.php?media=exoplanet_phase.png',  
 +                     [box_x1+0.2, box_y1+0.2], [breite1,hoehe1]] , 
 +                      {visible: function(){ return showImage();}} ); 
 +// unten 
 +brd.create('line',[[box_x1,box_y1],[box_x1+breite1+0.4,box_y1]],{straightFirst:false, 
 +                                   straightLast:false, strokeColor:'#000', 
 +                                   strokeWidth:1, needsRegularUpdate:true,visible: function(){ return showImage();}}); 
 + // links 
 +brd.create('line',[[box_x1,box_y1],[box_x1,box_y1+hoehe1+0.4]],{straightFirst:false, 
 +                                   straightLast:false, strokeColor:'#000', 
 +                                   strokeWidth:1, needsRegularUpdate:true,visible: function(){ return showImage();}});  
 +// rechts 
 +brd.create('line',[[box_x1+breite1+0.4,box_y1],[box_x1+breite1+0.4,box_y1+hoehe1+0.4]],{straightFirst:false, 
 +                                   straightLast:false, strokeColor:'#000', 
 +                                   strokeWidth:1, needsRegularUpdate:true,visible: function(){ return showImage();}});  
 +// oben 
 +brd.create('line',[[box_x1,box_y1+0.4+hoehe1],[box_x1+breite1+0.4,box_y1+0.4+hoehe1]],{straightFirst:false, 
 +                                   straightLast:false, strokeColor:'#000', 
 +                                   strokeWidth:1, needsRegularUpdate:true,visible: function(){ return showImage();}}); 
 + 
 +/////// box 2 
 +breite = 5.9; 
 +hoehe = 2;  
 +box_x = 3.65; 
 +box_y = 3.8; 
 + 
 +// unten 
 +brd.create('line',[[box_x,box_y],[box_x+breite+0.4,box_y]],{straightFirst:false, 
 +                                   straightLast:false, strokeColor:'#000', 
 +                                   strokeWidth:1, needsRegularUpdate:true,visible: function(){ return showImage();}}); 
 + // links 
 +brd.create('line',[[box_x,box_y],[box_x,box_y+hoehe+0.4]],{straightFirst:false, 
 +                                   straightLast:false, strokeColor:'#000', 
 +                                   strokeWidth:1, needsRegularUpdate:true,visible: function(){ return showImage();}});  
 +// rechts 
 +brd.create('line',[[box_x+breite+0.4,box_y],[box_x+breite+0.4,box_y+hoehe+0.4]],{straightFirst:false, 
 +                                   straightLast:false, strokeColor:'#000', 
 +                                   strokeWidth:1, needsRegularUpdate:true,visible: function(){ return showImage();}});  
 +// oben 
 +brd.create('line',[[box_x,box_y+0.4+hoehe],[box_x+breite+0.4,box_y+0.4+hoehe]],{straightFirst:false, 
 +                                   straightLast:false, strokeColor:'#000', 
 +                                   strokeWidth:1, needsRegularUpdate:true,visible: function(){ return showImage();}}); 
 + 
 +brd.create('line',[[box_x1+breite1+0.4,box_y1+hoehe1+0.4],[box_x,box_y+hoehe+0.4]],{straightFirst:false, 
 +                                   straightLast:false, strokeColor:'#000', 
 +                                   strokeWidth:1, needsRegularUpdate:true,visible: function(){ return showImage();}}); 
 +brd.create('line',[[box_x1+breite1+0.4,box_y1],[box_x,box_y]],{straightFirst:false, 
 +                                   straightLast:false, strokeColor:'#000', 
 +                                   strokeWidth:1, needsRegularUpdate:true,visible: function(){ return showImage();}}); 
 + 
 +brd.create('text',[box_x1+1,box_y1+hoehe1+0.9,"Beobachtung (Foto)"],{ needsRegularUpdate:true,visible: function(){ return showImage();}}); 
 + 
 +brd.create('text',[box_x+2.5,box_y+hoehe+0.9,"Theorie"],{needsRegularUpdate:true,visible: function(){ return showImage();}});
  
 ///////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////
 //  transit   //  transit  
 ////////////////////////////////////////////////////////////////////////////////////   ////////////////////////////////////////////////////////////////////////////////////  
- +// 0----q1----p1----p2----q2--------q3---p3----p4-----q4-------1 
-var p1=0.26; // 0----q1----p1----p2----q2--------q3---p3----p4-----q4-------1+var p1=0.26; 
 var p2=0.3; var p2=0.3;
-var p3= 2.5+var p3= 0.81
-var p4= 3.8;+var p4= 0.86;
  
 var q1=  0.2; var q1=  0.2;
Zeile 133: Zeile 198:
 var xmin = -8.2; var xmin = -8.2;
 var xman = 8.3; var xman = 8.3;
 +
 // ingress time   // ingress time  
 function funcShow0(x){ function funcShow0(x){
-       if ( bText && b1234 && >  x) return true;       +       if ( bText && bPhase && time >  x) return true;       
        return false;        return false;
 } }
 ///////////////////// /////////////////////
-brd.create('text',[p1-0.1,-8,"t_1"],{ visible: function() { return funcShow0(p2);},needsRegularUpdate:true}); +brd.create('text',[-5.5,-6.5,"primäre Phase"],{ visible: function() { return funcShow0(q2);},needsRegularUpdate:true}); 
-brd.create('text',[p2-0.1,-8,"t_2"],{ visible: function() { return funcShow0(p2);},needsRegularUpdate:true}); +brd.create('text',[-4.2,-7.2,"Δ F_p"],{ visible: function() { return funcShow0(q2);},needsRegularUpdate:true});
-brd.create('text',[p3-0.1,-8,"t_3"],{ visible: function() { return funcShow0(p4);},needsRegularUpdate:true}); +
-brd.create('text',[p4-0.1,-8,"t_4"],{ visible: function() { return funcShow0(p4);},needsRegularUpdate:true}); +
- +
  
-brd.create('arrow', [ [p1+(p2-p1)/2,-7.3],[p2,-7.3]] ,{visible: function() {return funcShow0(p2);},strokeColor:'#000'}); +brd.create('text',[4,-5,"sekundäre Phase"],{ visible: function() { return funcShow0(q4);},needsRegularUpdate:true}); 
-brd.create('arrow', [ [p1+(p2-p1)/2,-7.3],[p1,-7.3]] ,{visible: function() {return funcShow0(p2);},strokeColor:'#000'});+brd.create('text',[5.5,-5.7,"Δ F_s"],{ visible: function() { return funcShow0(q4);},needsRegularUpdate:true});
  
-brd.create('text',[p1 -0.5,-7.3,"&tau;"],{label: {useMathJax: true}, visible: function() { return funcShow0(p2);},needsRegularUpdate:true}); +brd.create('text',[2,-7,"Δ F_p > Δ F_s"],{ visible: function() { return funcShow0(q4);},needsRegularUpdate:true});
-////////////+
  
 +var textIncrease = brd.create('text',[-1.3,-3.9,"steigende Helligkeit"],
 +                   visible: function() { return funcShow0(q3);},
 +                   needsRegularUpdate:true,
 +                   display: 'internal',
 +                   rotate:                
 +                   });
  
-//brd.create('line',[[xmin,-2],function(){  +brd.create('text',[-8.3,-3.5,"fallende Helligkeit"],{  
-//         return zeit(time);            +                   visible: function() { return funcShow0(q1);}, 
-//         ,-2]],  +                   needsRegularUpdate:true, 
-//         {straightFirst:falsestraightLast:falsestrokeWidth:4, needsRegularUpdate:true});  +                   display'internal', 
-///////////////////////////////////// +                   rotate:-8                  
-       ///  function transit_0(x) {           +                   });
-       ///   return  -2.0/(p4-p3)*x -8.8461538461538; +
-       ////  }+
  
 // //
Zeile 167: Zeile 233:
 function line2Points(x,p1X,p1Y,p2X,p2Y){ function line2Points(x,p1X,p1Y,p2X,p2Y){
     m = (p2Y-p1Y) / (p2X-p1X);     m = (p2Y-p1Y) / (p2X-p1X);
-    y = m* (x-p1X) + p1Y; +    y = m* (x-p1X) + p1Y;  
-    +
-  +
-   // if( x > p2X ) return p2y;+
     return y;     return y;
- 
 } }
 ///////////// start line ///////////// start line
-   brd.create('line',[[xmin,-4],[ function(){ +brd.create('line',[[xmin,-4],[ function(){
            if ( time == 0.0 ) return;                     if ( time == 0.0 ) return;         
            if( time < q1) { return zeit(time); }            if( time < q1) { return zeit(time); }
Zeile 186: Zeile 247:
            x2 =   q1;             x2 =   q1; 
            y2 = -4.5;            y2 = -4.5;
-           +                  
            if(time > x2 ) return y2;            if(time > x2 ) return y2;
- +           else { 
-           return line2Points(time,x1,y1,x2,y2);+                  pointer = line2Points(time,x1,y1,x2,y2); 
 +                  return pointer; 
 +            }
          } ]],           } ]], 
          {straightFirst:false, straightLast:false, strokeWidth:4, needsRegularUpdate:true});           {straightFirst:false, straightLast:false, strokeWidth:4, needsRegularUpdate:true}); 
 ///////////// start down 1 ///////////// start down 1
-   brd.create('line',[[q1,-4.5],[ function(){ +brd.create('line',[[ zeit(q1),-4.5],[ function(){          
- +
-           if ( time == 0.0 ) return;   +
-       +
            if( time > q1 && time < p1) { return zeit(time); }            if( time > q1 && time < p1) { return zeit(time); }
 +           else { if (time  > p1) {return zeit(p1); }}   
                              
          } ,function(){           } ,function(){ 
Zeile 204: Zeile 265:
            y1 =   -4.5;            y1 =   -4.5;
            x2 =   p1;             x2 =   p1; 
 +           y2 =   -6;
 +         
 +           if(time > x1 && time < x2 ) {
 +                   pointer = line2Points(time,x1,y1,x2,y2);
 +                   return  pointer;           
 +            }else   { if ( time >= zeit(x2) ) { return y2;}  }
 +
 +         } ]], 
 +         {straightFirst:false, straightLast:false, strokeWidth:4, needsRegularUpdate:true}); 
 +///////////// start dip 1
 +brd.create('line',[[ zeit(p1),-6],[ function(){             
 +           if( time > p1 && time < p2) { return zeit(time); }
 +           else { if (time  >= p2) {return zeit(p2); }}   
 +              
 +         } ,function(){ 
 +
 +           x1 =    p1;
 +           y1 =   -6;
 +           x2 =   p2; 
            y2 =   -6;            y2 =   -6;
                        
-           if(time > x2 ) return y2;+           if(time > x1 && time < x2 ) 
 +              pointer = line2Points(time,x1,y1,x2,y2); 
 +              return pointer; 
 +           } else   { if ( time >= zeit(x2) ) {return y2;}  }
  
-           return line2Points(time,x1,y1,x2,y2); 
          } ]],           } ]], 
          {straightFirst:false, straightLast:false, strokeWidth:4, needsRegularUpdate:true});           {straightFirst:false, straightLast:false, strokeWidth:4, needsRegularUpdate:true}); 
  
 +///////////// start up 1
 +brd.create('line',[[ zeit(p2),-6],[ function(){              
 +           if( time > p2 && time < q2) { return zeit(time); }
 +           else { if (time  >= q2)     { return zeit(q2); }}   
 +              
 +         } ,function(){ 
 +
 +           x1 =    p2;
 +           y1 =   -6;
 +           x2 =   q2; 
 +           y2 =   -4.5;
 +           
 +           if(time > x1 && time < x2 ) {
 +            pointer =  line2Points(time,x1,y1,x2,y2);
 +            return pointer;
 +           }
 +           else   { if ( time >= zeit(x2) ) {return y2;}  }
 +
 +         } ]], 
 +         {straightFirst:false, straightLast:false, strokeWidth:4, needsRegularUpdate:true}); 
 +
 +
 +///////////// start line
 +brd.create('line',[[ zeit(q2),-4.5],[ function(){             
 +           if( time > q2 && time < q3) { return zeit(time); }
 +           else { if (time  >= q3)     { return zeit(q3); } }   
 +              
 +         } ,function(){ 
 +
 +           x1 =   q2;
 +           y1 =   -4.5;
 +           x2 =   q3; 
 +           y2 =   -3.5;
 +           
 +           if(time > x1 && time < x2 ) {                   
 +                   pointer = line2Points(time,x1,y1,x2,y2);
 +                   return pointer;
 +
 +           } else   { if ( time >= x2 ) {return y2;}  }
 +
 +         } ]], 
 +         {straightFirst:false, straightLast:false, strokeWidth:4, needsRegularUpdate:true}); 
 +
 +///////////// start down 2
 +brd.create('line',[[ zeit(q3),-3.5],[ function(){             
 +           if( time > q3 && time < p3) { return zeit(time); }
 +           else { if (time  >= p3)     { return zeit(p3); } }   
 +              
 +         } ,function(){ 
 +
 +           x1 =   q3;
 +           y1 =   -3.5;
 +           x2 =   p3; 
 +           y2 =   -4.5;
 +           
 +           if(time > x1 && time < x2 ) {
 +               pointer = line2Points(time,x1,y1,x2,y2);
 +               return pointer;
 +           }else   { if ( time >= x2 ) {return y2;}  }
 +
 +         } ]], 
 +         {straightFirst:false, straightLast:false, strokeWidth:4, needsRegularUpdate:true}); 
 +
 +///////////// start line
 +brd.create('line',[[ zeit(p3),-4.5],[ function(){              
 +           if( time > p3 && time < p4) { return zeit(time); }
 +           else { if (time  >= p4)     { return zeit(p4); } }   
 +              
 +         } ,function(){ 
 +
 +           x1 =   p3;
 +           y1 =   -4.5;
 +           x2 =   p4; 
 +           y2 =   -4.5;
 +           
 +           if(time > x1 && time < x2 ) {
 +             pointer = line2Points(time,x1,y1,x2,y2);
 +             return pointer;
 +              else   { if ( time >= x2 ) {return y2;}  }
 +
 +         } ]], 
 +         {straightFirst:false, straightLast:false, strokeWidth:4, needsRegularUpdate:true}); 
 +
 +///////////// start up
 +brd.create('line',[[ zeit(p4),-4.5],[ function(){              
 +           if( time > p4 && time < q4) { return zeit(time); }
 +           else { if (time  >= q4)     { return zeit(q4); } }   
 +              
 +         } ,function(){ 
 +
 +           x1 =   p4;
 +           y1 =   -4.5;
 +           x2 =   q4; 
 +           y2 =   -3.5;
 +           
 +           if(time > x1 && time < x2 ) {
 +             pointer =  line2Points(time,x1,y1,x2,y2);
 +             return pointer;
 +             } else   { if ( time >= x2 ) {return y2;}  }
 +
 +         } ]], 
 +         {straightFirst:false, straightLast:false, strokeWidth:4, needsRegularUpdate:true}); 
 +
 +///////////// start line
 +brd.create('line',[[ zeit(q4),-3.5],[ function(){            
 +           if( time > q4 && time < 1.0) { return zeit(time); }
 +           else { if (time  >= 1.0)     { return zeit(1.0); } }   
 +              
 +         } ,function(){ 
 +
 +           x1 =   q4;
 +           y1 =   -3.5;
 +           x2 =   1.0; 
 +           y2 =   -3.8;
 +           
 +           if(time > x1 && time < x2 ){
 +              pointer =  line2Points(time,x1,y1,x2,y2);
 +              return pointer;
 +            } else   { if ( time >= x2 ) {return y2;}  }
 +
 +         } ]], 
 +         {straightFirst:false, straightLast:false, strokeWidth:4, needsRegularUpdate:true}); 
  
        
 ////////////////////////////////////////////////////// //////////////////////////////////////////////////////
 } // END OF BLOCK } // END OF BLOCK
- 
  
 function beschriftungChanged(value) { function beschriftungChanged(value) {
Zeile 229: Zeile 432:
      for(var i=0, n=checkboxes.length;i<n;i++) {      for(var i=0, n=checkboxes.length;i<n;i++) {
              checkboxes[i].checked = source.checked;              checkboxes[i].checked = source.checked;
-             ///// +            
-             if( i == 0 ) onImpaktChanged(source);            +             if( i == 0 ) onImageChanged(source);            
-             if( i == 1 ) on1234Changed(source);          +             if( i == 1 ) onPhaseChanged(source);         
                          
           }             }  
Zeile 237: Zeile 440:
 }   }  
  
-function on1234Changed(value) {+function onPhaseChanged(value) {
             if (value.checked ){             if (value.checked ){
-              b1234 = true;              +              bPhase = true;              
-            }else { b1234 = false ;}           +            }else { bPhase = false ;}           
             brd.fullUpdate();                 brd.fullUpdate();    
  
    
-function onBetaChanged() { +function onTimeChanged() { 
-            a = parseFloat($("#betaSlider").val());+            a = parseFloat($("#timeSlider").val());
             time  = a/0.9; // 0.9 slider max!             time  = a/0.9; // 0.9 slider max!
             a = a*14 -7;                   a = a*14 -7;      
-            $("#betaOut").text(time.toFixed(2));+            $("#timeOut").text(time.toFixed(2));
             brd.fullUpdate();                         brd.fullUpdate();            
 } }
  
-function onImpaktChanged(value) +function onImageChanged(value) 
             if (value.checked ){             if (value.checked ){
-              bImpact = true;              +              bImage = true;              
-            }else { bImpact = false ;}              +            }else { bImage = false ;}              
             brd.fullUpdate();                 brd.fullUpdate();    
  
Zeile 266: Zeile 469:
 <body onload="onInit()"> <body onload="onInit()">
 <center> <center>
-<section>+<section>   <div id="jbox" class="jxgbox" style="width:500px; height:500px;"></div> 
 +</center>  Idealisierte Lichtkurve zur Demostration der Transitphasen. Bei der primären Phase läuft der Exoplanet vor dem Zentralgestirn und dem Beobachter vorbei, bei der sekundären Phase wird der Exoplanet vom Zentralgestirn verdeckt. Obwohl beide Phasen einen Lichtabfall erzeugen, stellt bereits die primäre Phase die Grenze des derzeit machbaren in der Amateurastronomie dar.
  
-               <div id="jbox" class="jxgbox" style="width:500px; height:500px;"></div> +<br>Einstellungen<br><br> 
-</center>  +                      Zeit:   <span id="timeOutstyle="display:none"></span>&nbsp;&nbsp;&nbsp;&nbsp; 
-            +            <input id="timeSlider" type="range" min="0.0" max="0.9" value="0.0" 
-            Idealisierte Lichtkurve. Ein Transit ist nur zu beobachten, wenn der Impaktparameter <b>b</b> nicht zu groß ist,. <br>Einstellungen<br><br> +                step="0.01" style="width:250px" oninput="onTimeChanged()">  
-                      Zeit:  &beta;: &nbsp;<span id="betaVal"></span> <span id="betaOut"></span>&nbsp;&nbsp;&nbsp;&nbsp; +
-            <input id="betaSlider" type="range" min="0.0" max="0.9" value="0.0" +
-                step="0.01" style="width:250px" oninput="onBetaChanged()">  +
          
 <div> <div>
Zeile 300: Zeile 501:
  
 <div> <div>
-  <input type="checkbox"  name="foo" onchange="onImpaktChanged(this)"+  <input type="checkbox"  name="foo" onchange="onImageChanged(this)"
          checked>          checked>
-  <label for="scales">Phasen</label> +  <label for="scales">Bild</label> 
-<div>todo +<div>Reales Foto (Exoplanet TOI 4059.01 vom Autor) eines Exoplaneten in der primären Transitphase. 
 +Unabhängig von den Phasen (oder Flanken) reicht die Auflösung nicht aus, um irgendwelche Details zu erkennen.  
 </div> </div>
  
 <div> <div>
   <input type="checkbox"  name="foo"   <input type="checkbox"  name="foo"
-         checked onchange="on1234Changed(this)"> +         checked onchange="onPhaseChanged(this)"> 
-  <label for="t1234">Flanken</label>+  <label for="phase">Phasen/Flanken</label>
 <div> <div>
-Die Flanken.... +<b>primäre Phase</b><br> Die Transitphase, bei der der Exoplanet vor dem Zentralgestirn (englHoststar)  im Bezug auf dem Beobachter vorbeizieht.
 </div> </div>
 +<div><b>sekundäre Phase</b><br>Die Transitphase, bei der der Exoplanet hinter dem Zentralgestirn (engl. Hoststar) im Bezug auf dem Beobachter vorbeizieht.</div><div> 
 +<b>Flanken</b><br>Zwischen den Phasen verläuft die Helligkeit nicht gleichmäßig, beispielsweise steigt die Helligkeit von der primären zur sekundären Phase leicht an, da zunehmend auch der vom Zentralgestirn angestrahlte Exoplanet einen Beitrag zur gesamt Helligkeit liefert. <br>Grundsätzlich sind Transittiefen (ΔF) sehr klein, die typische Größenordnung ist hier  milli-magnitudes (mmag) bzw. ppt (parts-per-thousend), und können daher nur fotographisch nachgewiesen werden. </div>
 </body> </body>
 </HTML> </HTML>
phasen.1648145578.txt.gz · Zuletzt geändert: 2022/03/24 18:12 von torsten.roehl