theta(a,10.398464840799932) theta(a1,51.300000000094684) theta(b,132.57981354603825) theta(c,273.00183660120496) theta(ceres,321.239999999941) theta(d,228.61125547928393) theta(f,136.23944063643984) theta(g,181) theta(h,271.7000000004701) theta(i,290.7000000000458) theta(j,115) theta(k,154.5) theta(l,212) theta(m,340) theta(n,334) axis(a,0) axis(a1,0) axis(b,0) axis(c,0) axis(ceres,0) axis(d,137.8008881582713) axis(f,0) axis(g,0) axis(h,156) axis(i,347.70000000004734) axis(j,90) axis(k,332.5) axis(l,0) axis(m,0) axis(n,197) ticker(256)
tickinterval(10) %%object property definitions style(d,"background-image","url('https://media.giphy.com/media/v2Q0mRx5tRGJG/giphy.gif')") style(d,"background-size","auto 70px") style(d,"background-position","center center") style(g,"background-image","url('http://bestanimations.com/Earth&Space/Earth/earth-spinning-rotating-animation-24.gif')") style(g,"background-size","40px 40px") style(e,"background-image","url('https://media.giphy.com/media/ctGFLebG1AqK4/giphy.gif')") style(e,"background-size","196px 196px") style(e,"background-position","center center") style(j,"background-image","url('https://s3.amazonaws.com/user-media.venngage.com/361783-46d94f3df392c25111638ca3b13c11de.gif')") style(j,"background-size","14px 14px") style(l,"background-image","url('https://media.giphy.com/media/uaZg0Pnlw71PW/giphy.gif')") style(l,"background-size","28px 28px") style(l,"background-position","center center") style(k,"background-image","url('https://media.giphy.com/media/MFRBVdwxheLKw/giphy.gif')") style(k,"background-size","auto 36px") style(k,"background-position","center center") style(h,"background-image","url('https://upload.wikimedia.org/wikipedia/commons/1/1a/Moon_rotating_full_220px.gif')") style(h,"background-size","12px 12px") style(h,"background-position","center center") style(i,"background-image","url('http://www.survivetheholiday.com/_templates/1/source/meteor3.gif')") style(i,"background-size","60px 60px") style(i,"background-position","center center") style(i,"height","60px") style(i,"width","60px") style(i,"border", "none") orbitradius(a,35,45) orbitradius(b,80,60) orbitradius(c,125,155) orbitradius(d, 675, 755) %4x closer than real orbitradius(f,11,13) orbitradius(g, 294, 304) orbitradius(h, 32, 37) orbitradius(i, 110, 5000) orbitradius(j, 90, 140) orbitradius(k, 215, 216) orbitradius(l, 412, 500) orbitradius(m, 140, 70) orbitradius(n, 166, 100) orbitradius(ceres, 764, 890) orbitradius(a1, 658, 954) %bounds of asteroid belt planet(a) planet(b) planet(c) planet(q) %d is whole object star(e) planet(f) planet(g) planet(h) planet(i) planet(j) planet(k) planet(l) planet(m) planet(n) planet(ceres) planet(a1) radius(a, 5) radius(b, 10) radius(c, 15) radius(d, 30) radius(e, 75) radius(f, 2) radius(g, 20) radius(h, 5) radius(i, 21) radius(j, 7) radius(k, 18) radius(l, 10) radius(m, 4) radius(n, 10) radius(ceres, 2) radius(a1, 1) %revolves(arg1, arg2) arg1 revolves around arg2 revolves(a,c) revolves(b,d) revolves(c,d) revolves(d,e) revolves(f,a) revolves(g,e) revolves(h,g) revolves(i,e) revolves(j,e) revolves(k,e) revolves(l,e) revolves(m,d) revolves(n,d) revolves(ceres, e) revolves(a1, e) incr(a,4) incr(b,.6) incr(c,.9) incr(d,.04) incr(f,8) incr(g,1) incr(h,12) incr(i,.06) incr(j,4) incr(k,1.5) incr(l,.5) incr(m,3) incr(n,2) incr(ceres, .21) incr(a1, .3) incra(a,0) incra(b,0) incra(c,0) incra(d,0.1) incra(f,0) incra(g,0) incra(h,12) incra(i,.06) incra(j,0) incra(k,1.5) incra(l,0) incra(m,0) incra(n,1) incra(ceres, 0) incra(a1, 0) origin(e, 600, 550) style(P,transform,T) :- rotate(P,T) attribute(P,xoffset,X) :- nextPos(P,X,Y) attribute(P,yoffset,Y) :- nextPos(P,X,Y) tick :: theta(P,X) & next(P,X,Y) ==> ~theta(P,X) & theta(P,Y) tick :: axis(P,X) & nexta(P,X,Y) ==> ~axis(P,X) & axis(P,Y) tick :: ticker(X) & plus(X,1,X1) & mod(X1,360,Y) ==> ~ticker(X) & ticker(Y) attribute(temp, "progress", X3) :- ticker(X) & gradual(X,X2) & quotient(X2,180,X3) attribute(temp, "fill-color", S) :- ticker(X) & gradual(X,X2) & minus(180,X2,X3) & stringify(X3, Xs) & stringappend("rgb(255, ", Xs, ", 0)", S) style(P,"box-shadow",S) :- star(P) & ticker(X) & gradual(X,X2) & stringify(X2,Xs) & stringappend("0px 0px ", Xs, "px rgb(200,70,0)", S) style(n,"box-shadow",S) :- ticker(X) & gradual(X,X2) & quotient(X2,2,X3) & floor(X3, X4) & stringify(X4,Xs) & stringappend("0px 0px ", Xs, "px pink", S) gradual(X,Y) :- minus(X,180,X2) & abs(X2,Y) style(front,background,S) :- ticker(X) & minus(X,180,X2) & abs(X2,X3) & plus(X3,60,X4) & stringify(X4,Xs) & stringappend("rgb(", Xs, ", ", Xs, ", ", Xs, ")", S) style(back,background,S) :- ticker(X) & minus(X,180,X2) & abs(X2,X3) & minus(180,X3,X4) & plus(X4,60,X5) & stringify(X5,Xs) & stringappend("rgb(", Xs, ", ", Xs, ", ", Xs, ")", S) next(P,X,Y) :- incr(P,I) & plus(X,I,X2) & mod(X2,360,Y) nexta(P,X,Y) :- incra(P,I) & plus(X,I,X2) & mod(X2,360,Y) %style(milkyway,transform,"rotateX(30deg) rotateY(0deg)") pi(3.141592653589793) dsin(X,Y) :- toradian(X,R) & sin(R,Y) dcos(X,Y) :- toradian(X,R) & cos(R,Y) toradian(X,R) :- pi(P) & times(P,X,Y) & quotient(Y,180,R) rotate(P,T) :- axis(P,Ax) & stringify(Ax,A) & stringappend("translate(",Px,"px,",Py,"px) rotate(",A,"deg)",T) nextPos(P, TX, TY) :- orbitradius(P,RadA, RadB) & radius(P,Rad) & theta(P,Ang) & dcos(Ang,X) & dsin(Ang,Y) & times(RadA,X,Tx) & times(RadB,Y,Ty) & revolves(P,R) & nextPos(R, RX, RY) & radius(R, Rrad) & plus(RX, Rrad, OX) & plus(RY, Rrad, OY) & minus(Tx, Rad, Tx2) & minus(Ty, Rad, Ty2) & plus(Tx2,OX,TX) & plus(Ty2,OY,TY) nextPos(P, TX, TY) :- origin(P,TX,TY) mod(X,M,Y) :- max(X,M,X) & minus(X,M,X2) & mod(X2,M,Y) mod(X,M,X) :- distinct(X,M) & max(X,M,M)
▶
◼
↪