var w,h,g,g1,g2,g3,g4,el2,my={}
function earthsimpleMain(){let version='0.53'
w=540
h=280
var s=''
s+='
'
s+='
';s+='';s+='';s+='';s+='';s+='';s+='
';s+='
23.5°
'
s+='
From Earth\'s Point of View
'
s+='
Not to scale or speed!
'
my.seasons=[{fr:0.00,to:0.02,north:'Summer Solstice',south:'Winter Solstice'},{fr:0.02,to:0.13,north:'Summer',south:'Winter'},{fr:0.13,to:0.23,north:'Summer',south:'Spring'},{fr:0.23,to:0.27,north:'Equinox',south:'Equinox'},{fr:0.27,to:0.38,north:'Fall',south:'Spring'},{fr:0.38,to:0.48,north:'Fall',south:'Summer'},{fr:0.48,to:0.52,north:'Winter Solstice',south:'Summer Solstice'},{fr:0.52,to:0.63,north:'Winter',south:'Summer'},{fr:0.63,to:0.73,north:'Winter',south:'Autumn'},{fr:0.73,to:0.77,north:'Equinox',south:'Equinox'},{fr:0.77,to:0.88,north:'Spring',south:'Autumn'},{fr:0.88,to:0.98,north:'Spring',south:'Winter'},{fr:0.98,to:1.00,north:'Summer Solstice',south:'Winter Solstice'}];s+='
';s+=getPlayHTML(40)
s+='
';s+='
© 2020 MathsIsFun.com v'+version+'
'
s+='
'
document.write(s)
var whole={wd:w,ht:h}
var el=elNew('canvas0',whole)
g=el.getContext("2d");my.earth1={wd:200,ht:200}
var el1=elNew('canvas1',my.earth1)
g1=el1.getContext("2d");my.earth2={wd:55,ht:55}
el2=elNew('canvas2',my.earth2)
g2=el2.getContext("2d");g2.rotate(-23.5*Math.PI/180.0)
var el3=elNew('canvas3',whole)
g3=el3.getContext("2d");var el4=elNew('canvas4',whole)
g4=el4.getContext("2d");my.ell={mid:{x:w/2,y:100},rad:{x:150,y:50}}
my.playQ=false
togglePlay()
my.orbit=0
my.orbitRate=-0.0007
my.rotFrameTime=40
my.prevTime=performance.now()
my.frame=0
my.img=new Image()
my.frameTot=40
my.imgHome=(document.domain=='localhost')?'/mathsisfun/measure/images/':'/measure/images/'
my.img.src=my.imgHome+'earth-sprites2.png'
console.log('my.img.html',my.img.src)
if(my.img.complete){loaded()}else{my.img.addEventListener('load',loaded)}}
function elNew(name,size){var el=document.getElementById(name)
el.width=size.wd
el.height=size.ht
el.style.width=size.wd+"px";el.style.height=size.ht+"px";return el}
function loaded(){animate()}
function animate(){var now=performance.now();var elapsed=now-my.prevTime
if(elapsed>my.rotFrameTime&&my.playQ){my.frame++;if(my.frame>=my.frameTot)my.frame=0
var wd=200
var ht=wd
var ny=(my.frame/10)<<0
var nx=my.frame-ny*10
var srcX=nx*wd
var srcY=ny*ht
g1.drawImage(my.img,srcX,srcY,wd,ht,0,0,wd,ht)
my.orbit+=my.orbitRate
my.orbit=my.orbit%1
let t=my.orbit*2*Math.PI
my.ang=t
my.ell.curr={x:my.ell.mid.x+Math.cos(t)*my.ell.rad.x,y:my.ell.mid.y+Math.sin(t)*my.ell.rad.y}
var x=my.ell.curr.x-my.earth2.wd/2
var y=my.ell.curr.y-my.earth2.ht/2
el2.style.left=x+'px'
el2.style.top=y+'px'
genDraw()
my.prevTime=now}
requestAnimationFrame(animate);}
function genDraw(){g.clearRect(0,0,g.canvas.width,g.canvas.height)
let earth={x:100,y:h/2}
for(var i=0;i<10;i++){g.strokeStyle='hsla(0,0%,100%,'+(10-i)/10+')'
g.lineWidth=1
axisDraw(g,earth,(90-i*2.35)*Math.PI/180.0,120)
g.stroke()}
g.strokeStyle='white'
g.lineWidth=4
axisDraw(g,earth,(90)*Math.PI/180.0,120)
g.stroke()
var orbit=-my.orbit*2
if(orbit>1)orbit=2-orbit
orbit-=0.5
var ang=orbit*2*23.5*Math.PI/180
lightDraw(g3,earth,100,200,230,ang)
let sunY=h/2+Math.sin(ang)*h
let sunX=w-40
let rad=100
g.beginPath();var gradient=g.createRadialGradient(sunX,sunY,0,sunX,sunY,rad);gradient.addColorStop(0,'hsla(60,100%,93%,1)');gradient.addColorStop(0.4,'hsla(60,100%,82%,1)');gradient.addColorStop(0.7,'hsla(60,100%,50%,1)');gradient.addColorStop(1,'hsla(60,100%,90%,0.1)');g.fillStyle=gradient;g.arc(sunX,sunY,rad-1,0,2*Math.PI)
g.fill();orbit=-my.orbit
for(i=0;i