The chord progressions sounded very different from the original prelude, until the diminished chords of course, because they would be the same intervals I assume. Neat video.
@rex_-lj3zw7 ай бұрын
whoa this so pretty !!! definitely gonna listen to this when i study beatty sequences :) thank you for sharing
@josephmathmusic7 ай бұрын
Glad that you like this!
@yeetthebeet7 ай бұрын
great!
@josephmathmusic7 ай бұрын
Thank you!
@substantabstruse561110 ай бұрын
At last a good sounding ten edo piece with key like instrumentation ❤❤, interesting and very upbeat composition too ❤
@josephmathmusic10 ай бұрын
Glad that you enjoy it! Most of the notes are in 5 edo in fact :) Another 10-edo piece kzread.info/dash/bejne/eauTs8OFqpTQeLQ.htmlsi=I04UZU83ogr7g58W
@pancakeeatinginarow11 ай бұрын
69 was odd so i just made thhis 70 subs
@josephmathmusic11 ай бұрын
Thank you very much :) 69 is odd in two different ways 😜
@FabriceBLR11 ай бұрын
C'est chouette, mais je ne saurais pas te dire pourquoi, le piano sonne particulièrement faux...
@josephmathmusic11 ай бұрын
Ca me frappe pas tant que ça mais un petit accord ne lui ferait pas de mal :)
@FabriceBLR11 ай бұрын
Très rafraîchissant. Je n'arrive pas à retrouver la source d'inspiration (mise à part le côté "prestidigitation")
@josephmathmusic11 ай бұрын
Je n'ai pas pris de source précise pour cette pièce bien que j'aie pu avoir entendu quelque chose qui ressemble sans m'en rendre compte :)
@FabriceBLR11 ай бұрын
@@josephmathmusic c'est d'autant plus impressionnant :-) Même si ton impro libre sur l'étude de Chopin op 10 n°9 était très bien. Mais j'imaginerais bien un air Tyrollien repris par Liszt pouvant sonner ainsi.
@josephmathmusic11 ай бұрын
Ca pourrait ressembler un peu effectivement :) je suis content que tu apprécies en tout cas !
@FabriceBLR Жыл бұрын
Très jolie ! Elle me fait penser à une étude de Chopin :-) tu l'as écrit avec cela en tête ?
@josephmathmusic Жыл бұрын
C'est une improvisation, j'avais inconsciemment l'op. 10 no. 9 de Chopin en tete mais je ne le savais pas en jouant :)
@josephmathmusic Жыл бұрын
« Pour se jouer 840 fois de suite ce motif, il sera bon de se préparer au préalable, et dans le plus grand silence, par des immobilités sérieuses »
@master_of_krynn Жыл бұрын
nicee
@josephmathmusic Жыл бұрын
Thank you :)
@grouch22 Жыл бұрын
Impressive
@josephmathmusic Жыл бұрын
Glad that you like :)
@Nicola_pvd. Жыл бұрын
C'est fort tu a appris ou?
@josephmathmusic Жыл бұрын
Cours particuliers puis conservatoire :)
@Nicola_pvd. Жыл бұрын
@@josephmathmusic ha ok en tout cas tu es fort
@josephmathmusic Жыл бұрын
@@Nicola_pvd. Merci :)
@josephmathmusic Жыл бұрын
No so childish indeed :)
@StevenGauthier Жыл бұрын
Indeed made me think about the microtonal jazz band. So nice mind opening to other kind/culture of music
@StevenGauthier Жыл бұрын
That's fuckin dark for a child whatever....but it's amazing! I like it. Or hate it ahahhaha
@Cailean_MacCoinnich Жыл бұрын
I wanted to say something like " The sound of science", or "The sound of Nature", but I'm still struggling to get my head round it.
@josephmathmusic Жыл бұрын
Difficult to say, probably similar kind of music can be arranged for other sequences of digits... This video might be a good way to memorize pi.
@christinedonkin7023 Жыл бұрын
Quite a fascinating piece!
@josephmathmusic Жыл бұрын
Thank you very much, glad that you like this piece :)
@Suimamaa Жыл бұрын
👍
@josephmathmusic Жыл бұрын
Thank you :)
@josephmathmusic Жыл бұрын
Here is another microtonal composition kzread.info/dash/bejne/emSO0auvnpyug5s.html
@vaavland Жыл бұрын
i am adding this song to my xen playlist
@josephmathmusic Жыл бұрын
Thank you!
@vaavland Жыл бұрын
sounds great and fun !! good Job
@josephmathmusic Жыл бұрын
Thank you !
@chataignevendemiaire7172 Жыл бұрын
sounds very unusual
@josephmathmusic Жыл бұрын
That is right :)
@gillesd91 Жыл бұрын
Cela donne une couleur très originale, de la musique non tempérée.
@mariadanielaoliveracalvo7040 Жыл бұрын
A happy melody converted to a very sad melody...
@mariadanielaoliveracalvo7040 Жыл бұрын
Sonata N° 16 K545 (Upside Down Notes)
@josephmathmusic Жыл бұрын
Yes :)
@mariadanielaoliveracalvo7040 Жыл бұрын
@@josephmathmusic I know that because I saw a video of that. That sounded so interesting.
@VictorTheVictini Жыл бұрын
This is so cool but the top noise is annoying to listen to lol
@josephmathmusic Жыл бұрын
it makes sound when some vertex touches the vertical string in the center (you can mute if you don't like 😛)
@MrPhil480 Жыл бұрын
Fascinant !
@MrPhil480 Жыл бұрын
Vous êtes ma vrai découverte de l' année. le vrai compositeur. et encore une fois je suis émerveillé par le début de toute beauté.
@josephmathmusic Жыл бұрын
Merci beaucoup :)
@MrPhil480 Жыл бұрын
@@josephmathmusic Coucou. C est vrai que tu es mathématicien... ? modeste de surcroit ? Ca m' étonnerait pas, j ai deviné que tu étais un intello. lol. Vu donc ton double profil, intello et musicien compositeur, j aurais peut etre envi de te dire qch en privé, mais pas long. Une sorte de confidence. C est sérieux....
@MrPhil480 Жыл бұрын
@@josephmathmusic . j ai constaté que peu de gens ne s intéressent aux autres..... les pianistes pro ou amateurs ne veulent que jouer des oeuvres déjà connues ; x fois entendues , que promouvoir des nouvelles mélodies, meme si elles sont belles. eh oui un compositeur peu avoir ses limites pour jouer ses propres morceaux. c est mon cas et j en souffre.
@josephmathmusic Жыл бұрын
Effectivement, il y a deja tellement d'oeuvres et on est facilement attire vers ce qu'on a deja entendu... Merci pour votre interet en tout cas.
@josephmathmusic Жыл бұрын
Merci, effectivement je suis enseignant chercheur en mathematiques (precisement sur les matrices aleatoires, a l'Universite de Bristol), sinon je suis alle assez loin dans les etudes musicales et je continue a faire beaucoup de musique pour le plaisir :)
@MrPhil480 Жыл бұрын
mais c est quoi ce piano inversé....? lol
@MrPhil480 Жыл бұрын
hou là ! mdr
@JustinSolonynka Жыл бұрын
Thanks for pointing me to the sheet music. The piece in G major, "Hello World", is a real trip! Is your transcription available for download?
@josephmathmusic Жыл бұрын
Thank you very much, there are websites where you can dowload youtube videos but unfortunately at this stage I haven't set other ways to download the score. As you may have seen there are 24 pieces in this cycle (4 videos of 6 pieces in my channel, including this one).
@JustinSolonynka Жыл бұрын
@@josephmathmusic Well, I encourage you to make the scores available! These are wonderful and clever compositions. You could charge money (or ask for donations). Please know that I am interested if you do decide to make the scores available. Thanks for sharing your music!
@JustinSolonynka Жыл бұрын
What a terrific piece! Is this your own composition? Do you have sheet music? Bravo!
@josephmathmusic Жыл бұрын
Thank you very much! The score is on this video, at 20:25 kzread.info/dash/bejne/X4OalKWlY6XXh84.html
@josephmathmusic2 жыл бұрын
I would be curious about how it sounds with a string quartet or organ.
@josephmathmusic2 жыл бұрын
Learn around 12 hours of this kind of music and you will reach the world record of memorization of pi !
@christinedonkin70232 жыл бұрын
You post such interesting music!
@josephmathmusic2 жыл бұрын
Thank you very much! I hope I soon have the time to post more of these preludes. I am glad that we today have the tools to record such work with a usual piano.
@intenselypleasantmusic2 жыл бұрын
Bravo!
@josephmathmusic2 жыл бұрын
Thank you very much :)
@0utOfSkill2 жыл бұрын
This deserves more attention! Great work <3
@josephmathmusic2 жыл бұрын
Thank you very much! Maybe I should try to give a more suggestive title.
@zezimorx2 жыл бұрын
Very interesting! Is the music generated using concepts from machine learning? I've been learning machine learning recently and came across a paper on algorithmic music generation, very cool stuff.
@josephmathmusic2 жыл бұрын
I played on a midi keyboard with sounds generated with the help of cubase. I plan to do quite similar videos, with sound generated by the same python program as the one generating the image (with the help of pygame).
@annienajnudel80132 жыл бұрын
La partition en miroir du premier prélude du clavecin bien tempéré, je suppose...
@josephmathmusic2 жыл бұрын
Oui :) (voir la fin de la description de la vidéo)
Пікірлер
Very elegant! Thanks for sharing!
Amazing!!!!❤❤❤
Nice!
Very good!!!❤️❤️❤️👏👏👏
The chord progressions sounded very different from the original prelude, until the diminished chords of course, because they would be the same intervals I assume. Neat video.
whoa this so pretty !!! definitely gonna listen to this when i study beatty sequences :) thank you for sharing
Glad that you like this!
great!
Thank you!
At last a good sounding ten edo piece with key like instrumentation ❤❤, interesting and very upbeat composition too ❤
Glad that you enjoy it! Most of the notes are in 5 edo in fact :) Another 10-edo piece kzread.info/dash/bejne/eauTs8OFqpTQeLQ.htmlsi=I04UZU83ogr7g58W
69 was odd so i just made thhis 70 subs
Thank you very much :) 69 is odd in two different ways 😜
C'est chouette, mais je ne saurais pas te dire pourquoi, le piano sonne particulièrement faux...
Ca me frappe pas tant que ça mais un petit accord ne lui ferait pas de mal :)
Très rafraîchissant. Je n'arrive pas à retrouver la source d'inspiration (mise à part le côté "prestidigitation")
Je n'ai pas pris de source précise pour cette pièce bien que j'aie pu avoir entendu quelque chose qui ressemble sans m'en rendre compte :)
@@josephmathmusic c'est d'autant plus impressionnant :-) Même si ton impro libre sur l'étude de Chopin op 10 n°9 était très bien. Mais j'imaginerais bien un air Tyrollien repris par Liszt pouvant sonner ainsi.
Ca pourrait ressembler un peu effectivement :) je suis content que tu apprécies en tout cas !
Très jolie ! Elle me fait penser à une étude de Chopin :-) tu l'as écrit avec cela en tête ?
C'est une improvisation, j'avais inconsciemment l'op. 10 no. 9 de Chopin en tete mais je ne le savais pas en jouant :)
« Pour se jouer 840 fois de suite ce motif, il sera bon de se préparer au préalable, et dans le plus grand silence, par des immobilités sérieuses »
nicee
Thank you :)
Impressive
Glad that you like :)
C'est fort tu a appris ou?
Cours particuliers puis conservatoire :)
@@josephmathmusic ha ok en tout cas tu es fort
@@Nicola_pvd. Merci :)
No so childish indeed :)
Indeed made me think about the microtonal jazz band. So nice mind opening to other kind/culture of music
That's fuckin dark for a child whatever....but it's amazing! I like it. Or hate it ahahhaha
I wanted to say something like " The sound of science", or "The sound of Nature", but I'm still struggling to get my head round it.
Difficult to say, probably similar kind of music can be arranged for other sequences of digits... This video might be a good way to memorize pi.
Quite a fascinating piece!
Thank you very much, glad that you like this piece :)
👍
Thank you :)
Here is another microtonal composition kzread.info/dash/bejne/emSO0auvnpyug5s.html
i am adding this song to my xen playlist
Thank you!
sounds great and fun !! good Job
Thank you !
sounds very unusual
That is right :)
Cela donne une couleur très originale, de la musique non tempérée.
A happy melody converted to a very sad melody...
Sonata N° 16 K545 (Upside Down Notes)
Yes :)
@@josephmathmusic I know that because I saw a video of that. That sounded so interesting.
This is so cool but the top noise is annoying to listen to lol
it makes sound when some vertex touches the vertical string in the center (you can mute if you don't like 😛)
Fascinant !
Vous êtes ma vrai découverte de l' année. le vrai compositeur. et encore une fois je suis émerveillé par le début de toute beauté.
Merci beaucoup :)
@@josephmathmusic Coucou. C est vrai que tu es mathématicien... ? modeste de surcroit ? Ca m' étonnerait pas, j ai deviné que tu étais un intello. lol. Vu donc ton double profil, intello et musicien compositeur, j aurais peut etre envi de te dire qch en privé, mais pas long. Une sorte de confidence. C est sérieux....
@@josephmathmusic . j ai constaté que peu de gens ne s intéressent aux autres..... les pianistes pro ou amateurs ne veulent que jouer des oeuvres déjà connues ; x fois entendues , que promouvoir des nouvelles mélodies, meme si elles sont belles. eh oui un compositeur peu avoir ses limites pour jouer ses propres morceaux. c est mon cas et j en souffre.
Effectivement, il y a deja tellement d'oeuvres et on est facilement attire vers ce qu'on a deja entendu... Merci pour votre interet en tout cas.
Merci, effectivement je suis enseignant chercheur en mathematiques (precisement sur les matrices aleatoires, a l'Universite de Bristol), sinon je suis alle assez loin dans les etudes musicales et je continue a faire beaucoup de musique pour le plaisir :)
mais c est quoi ce piano inversé....? lol
hou là ! mdr
Thanks for pointing me to the sheet music. The piece in G major, "Hello World", is a real trip! Is your transcription available for download?
Thank you very much, there are websites where you can dowload youtube videos but unfortunately at this stage I haven't set other ways to download the score. As you may have seen there are 24 pieces in this cycle (4 videos of 6 pieces in my channel, including this one).
@@josephmathmusic Well, I encourage you to make the scores available! These are wonderful and clever compositions. You could charge money (or ask for donations). Please know that I am interested if you do decide to make the scores available. Thanks for sharing your music!
What a terrific piece! Is this your own composition? Do you have sheet music? Bravo!
Thank you very much! The score is on this video, at 20:25 kzread.info/dash/bejne/X4OalKWlY6XXh84.html
I would be curious about how it sounds with a string quartet or organ.
Learn around 12 hours of this kind of music and you will reach the world record of memorization of pi !
You post such interesting music!
Thank you very much! I hope I soon have the time to post more of these preludes. I am glad that we today have the tools to record such work with a usual piano.
Bravo!
Thank you very much :)
This deserves more attention! Great work <3
Thank you very much! Maybe I should try to give a more suggestive title.
Very interesting! Is the music generated using concepts from machine learning? I've been learning machine learning recently and came across a paper on algorithmic music generation, very cool stuff.
I played on a midi keyboard with sounds generated with the help of cubase. I plan to do quite similar videos, with sound generated by the same python program as the one generating the image (with the help of pygame).
La partition en miroir du premier prélude du clavecin bien tempéré, je suppose...
Oui :) (voir la fin de la description de la vidéo)
Python program (2/8) stars[0,:] =[numpy.cos(6*3.14159265/12 + 45*3.14159265/720 )*numpy.cos(-16.7*3.14159265/180),numpy.sin(6*3.14159265/12 + 45*3.14159265/720 )*numpy.cos(-16.7*3.14159265/180),numpy.sin(-16.7*3.14159265/180),mag**( - (-1.44))] stars[1,:] =[numpy.cos(6*3.14159265/12 + 24*3.14159265/720 )*numpy.cos(-52.7*3.14159265/180),numpy.sin(6*3.14159265/12 + 24*3.14159265/720 )*numpy.cos(-52.7*3.14159265/180),numpy.sin(52.7*3.14159265/180),mag**( - (-0.62))] stars[2,:] =[numpy.cos(14*3.14159265/12 + 40*3.14159265/720 )*numpy.cos(-60.8*3.14159265/180),numpy.sin(14*3.14159265/12 + 40*3.14159265/720 )*numpy.cos(-60.8*3.14159265/180),numpy.sin(-60.8*3.14159265/180),mag**( - (-0.28))] stars[3,:] =[numpy.cos(14*3.14159265/12 + 16*3.14159265/720 )*numpy.cos(19.2*3.14159265/180),numpy.sin(14*3.14159265/12 + 16*3.14159265/720 )*numpy.cos(19.2*3.14159265/180),numpy.sin(19.2*3.14159265/180),mag**( - (-0.05))] stars[4,:] =[numpy.cos(18*3.14159265/12 + 37*3.14159265/720 )*numpy.cos(38.8*3.14159265/180),numpy.sin(18*3.14159265/12 + 37*3.14159265/720 )*numpy.cos(38.8*3.14159265/180),numpy.sin(38.8*3.14159265/180),mag**( - 0.03)] stars[5,:] =[numpy.cos(5*3.14159265/12 + 17*3.14159265/720 )*numpy.cos(46.0*3.14159265/180),numpy.sin(5*3.14159265/12 + 17*3.14159265/720 )*numpy.cos(46.0*3.14159265/180),numpy.sin(46.0*3.14159265/180),mag**( - 0.08)] stars[6,:] =[numpy.cos(5*3.14159265/12 + 15*3.14159265/720 )*numpy.cos(-8.2*3.14159265/180),numpy.sin(5*3.14159265/12 + 15*3.14159265/720 )*numpy.cos(-8.2*3.14159265/180),numpy.sin(-8.2*3.14159265/180),mag**( - 0.18)] stars[7,:] =[numpy.cos(7*3.14159265/12 + 39*3.14159265/720 )*numpy.cos(5.2*3.14159265/180),numpy.sin(7*3.14159265/12 + 39*3.14159265/720 )*numpy.cos(5.2*3.14159265/180),numpy.sin(5.2*3.14159265/180),mag**( - 0.40)] stars[8,:] =[numpy.cos(5*3.14159265/12 + 55*3.14159265/720 )*numpy.cos(7.4*3.14159265/180),numpy.sin(5*3.14159265/12 + 55*3.14159265/720 )*numpy.cos(7.4*3.14159265/180),numpy.sin(7.4*3.14159265/180),mag**( - 0.45)] stars[9,:] =[numpy.cos(1*3.14159265/12 +38*3.14159265/720 )*numpy.cos(-57.2*3.14159265/180),numpy.sin(1*3.14159265/12 +38*3.14159265/720 )*numpy.cos(-57.2*3.14159265/180),numpy.sin(-57.2*3.14159265/180),mag**( - 0.45)] stars[10,:] =[numpy.cos(14*3.14159265/12 + 4*3.14159265/720 )*numpy.cos(-60.4*3.14159265/180),numpy.sin(14*3.14159265/12 + 4*3.14159265/720 )*numpy.cos(-60.4*3.14159265/180),numpy.sin(-60.4*3.14159265/180),mag**( - 0.61)] stars[11,:] =[numpy.cos(19*3.14159265/12 + 51*3.14159265/720 )*numpy.cos(8.9*3.14159265/180),numpy.sin(19*3.14159265/12 + 51*3.14159265/720)*numpy.cos(8.9*3.14159265/180),numpy.sin(8.9*3.14159265/180),mag**( - 0.76)] stars[12,:] =[numpy.cos(12*3.14159265/12 + 27*3.14159265/720 )*numpy.cos(-63.1*3.14159265/180),numpy.sin(12*3.14159265/12 + 27*3.14159265/720 )*numpy.cos(-63.1*3.14159265/180),numpy.sin(-63.1*3.14159265/180),mag**( - 0.77)] stars[13,:] =[numpy.cos(4*3.14159265/12 + 36*3.14159265/720 )*numpy.cos(16.5*3.14159265/180),numpy.sin(4*3.14159265/12 + 36*3.14159265/720 )*numpy.cos(16.5*3.14159265/180),numpy.sin(16.5*3.14159265/180),mag**( - 0.87)] stars[14,:] =[numpy.cos(13*3.14159265/12 + 25*3.14159265/720 )*numpy.cos(-11.2*3.14159265/180),numpy.sin(13*3.14159265/12 + 25*3.14159265/720 )*numpy.cos(-11.2*3.14159265/180),numpy.sin(-11.2*3.14159265/180),mag**( - 0.98)] stars[15,:] =[numpy.cos(16*3.14159265/12 + 29*3.14159265/720 )*numpy.cos(-26.4*3.14159265/180),numpy.sin(16*3.14159265/12 + 29*3.14159265/720)*numpy.cos(-26.4*3.14159265/180),numpy.sin(-26.4*3.14159265/180),mag**( - 1.06)] stars[16,:] =[numpy.cos(7*3.14159265/12 + 45*3.14159265/720 )*numpy.cos(28*3.14159265/180),numpy.sin(7*3.14159265/12 + 45*3.14159265/720 )*numpy.cos(28*3.14159265/180),numpy.sin(28*3.14159265/180),mag**( - 1.16)] stars[17,:] =[numpy.cos(22*3.14159265/12 + 58*3.14159265/720 )*numpy.cos(-29.6*3.14159265/180),numpy.sin(22*3.14159265/12 + 58*3.14159265/720 )*numpy.cos(-29.6*3.14159265/180),numpy.sin(-29.6*3.14159265/180),mag**( - 1.17)] stars[18,:] =[numpy.cos(20*3.14159265/12 + 41*3.14159265/720 )*numpy.cos(45.3*3.14159265/180),numpy.sin(20*3.14159265/12 + 41*3.14159265/720 )*numpy.cos(45.3*3.14159265/180),numpy.sin(45.3*3.14159265/180),mag**( - 1.25)] stars[19,:] =[numpy.cos(12*3.14159265/12 + 48*3.14159265/720 )*numpy.cos(-59.7*3.14159265/180),numpy.sin(12*3.14159265/12 + 48*3.14159265/720 )*numpy.cos(-59.7*3.14159265/180),numpy.sin(-59.7*3.14159265/180),mag**( - 1.25)] stars[20,:] =[numpy.cos(10*3.14159265/12 + 8*3.14159265/720 )*numpy.cos(12.0*3.14159265/180),numpy.sin(10*3.14159265/12 + 8*3.14159265/720 )*numpy.cos(12.0*3.14159265/180),numpy.sin(12.0*3.14159265/180),mag**( - 1.36)] stars[21,:] =[numpy.cos(6*3.14159265/12 + 59*3.14159265/720 )*numpy.cos(-29.0*3.14159265/180),numpy.sin(6*3.14159265/12 + 59*3.14159265/720 )*numpy.cos(-29.0*3.14159265/180),numpy.sin(-29.0*3.14159265/180),mag**( - 1.50)] stars[22,:] =[numpy.cos(7*3.14159265/12 + 35*3.14159265/720 )*numpy.cos(31.9*3.14159265/180),numpy.sin(7*3.14159265/12 + 35*3.14159265/720 )*numpy.cos(31.9*3.14159265/180),numpy.sin(31.9*3.14159265/180),mag**( - 1.58)] stars[23,:] =[numpy.cos(12*3.14159265/12 + 31*3.14159265/720 )*numpy.cos(-57.1*3.14159265/180),numpy.sin(12*3.14159265/12 + 31*3.14159265/720 )*numpy.cos(-57.1*3.14159265/180),numpy.sin(-57.1*3.14159265/180),mag**( - 1.59)] stars[24,:] =[numpy.cos(17*3.14159265/12 + 34*3.14159265/720 )*numpy.cos(-37.1*3.14159265/180),numpy.sin(17*3.14159265/12 + 34*3.14159265/720 )*numpy.cos(-37.1*3.14159265/180),numpy.sin(-37.1*3.14159265/180),mag**( - 1.62)] stars[25,:] =[numpy.cos(5*3.14159265/12 + 25*3.14159265/720 )*numpy.cos(6.3*3.14159265/180),numpy.sin(5*3.14159265/12 + 25*3.14159265/720 )*numpy.cos(6.3*3.14159265/180),numpy.sin(6.3*3.14159265/180),mag**( -1.64)] stars[26,:] =[numpy.cos(5*3.14159265/12 + 26*3.14159265/720 )*numpy.cos(28.6*3.14159265/180),numpy.sin(5*3.14159265/12 + 26*3.14159265/720 )*numpy.cos(28.6*3.14159265/180),numpy.sin(28.6*3.14159265/180),mag**( - 1.65)] stars[27,:] =[numpy.cos(9*3.14159265/12 + 13*3.14159265/720 )*numpy.cos(-69.7*3.14159265/180),numpy.sin(9*3.14159265/12 + 13*3.14159265/720 )*numpy.cos(-69.7*3.14159265/180),numpy.sin(-69.7*3.14159265/180),mag**( - 1.67)] stars[28,:] =[numpy.cos(5*3.14159265/12 + 36*3.14159265/720 )*numpy.cos(-1.2*3.14159265/180),numpy.sin(5*3.14159265/12 + 36*3.14159265/720)*numpy.cos(-1.2*3.14159265/180),numpy.sin(-1.2*3.14159265/180),mag**( - 1.69)] stars[29,:] =[numpy.cos(22*3.14159265/12 + 8*3.14159265/720 )*numpy.cos(-47.0*3.14159265/180),numpy.sin(22*3.14159265/12 + 8*3.14159265/720)*numpy.cos(-47.0*3.14159265/180),numpy.sin(-47.0*3.14159265/180),mag**( - 1.73)] stars[30,:] =[numpy.cos(5*3.14159265/12 + 41*3.14159265/720 )*numpy.cos(-1.9*3.14159265/180),numpy.sin(5*3.14159265/12 + 41*3.14159265/720 )*numpy.cos(-1.9*3.14159265/180),numpy.sin(-1.9*3.14159265/180),mag**( - 1.74)] stars[31,:] =[numpy.cos(8*3.14159265/12 + 10*3.14159265/720 )*numpy.cos(-47.3*3.14159265/180),numpy.sin(8*3.14159265/12 + 10*3.14159265/720)*numpy.cos(-47.3*3.14159265/180),numpy.sin(-47.3*3.14159265/180),mag**( - 1.75)] stars[32,:] =[numpy.cos(12*3.14159265/12 + 54*3.14159265/720 )*numpy.cos(56.0*3.14159265/180),numpy.sin(12*3.14159265/12 + 54*3.14159265/720 )*numpy.cos(56.0*3.14159265/180),numpy.sin(56.0*3.14159265/180),mag**( -1.76)] stars[33,:] =[numpy.cos(18*3.14159265/12 + 24*3.14159265/720 )*numpy.cos(-34.4*3.14159265/180),numpy.sin(18*3.14159265/12 + 24*3.14159265/720 )*numpy.cos(-34.4*3.14159265/180),numpy.sin(-34.4*3.14159265/180),mag**( - 1.79)] stars[34,:] =[numpy.cos(3*3.14159265/12 + 24*3.14159265/720 )*numpy.cos(49.9*3.14159265/180),numpy.sin(3*3.14159265/12 + 24*3.14159265/720 )*numpy.cos(49.9*3.14159265/180),numpy.sin(49.9*3.14159265/180),mag**( - 1.79)] stars[35,:] =[numpy.cos(11*3.14159265/12 + 4*3.14159265/720 )*numpy.cos(61.8*3.14159265/180),numpy.sin(11*3.14159265/12 + 4*3.14159265/720 )*numpy.cos(61.8*3.14159265/180),numpy.sin(61.8*3.14159265/180),mag**( - 1.81)] stars[36,:] =[numpy.cos(7*3.14159265/12 + 8*3.14159265/720 )*numpy.cos(-26.4*3.14159265/180),numpy.sin(7*3.14159265/12 + 8*3.14159265/720 )*numpy.cos(-26.4*3.14159265/180),numpy.sin(-26.4*3.14159265/180),mag**( - 1.83)] stars[37,:] =[numpy.cos(13*3.14159265/12 + 48*3.14159265/720 )*numpy.cos(49.3*3.14159265/180),numpy.sin(13*3.14159265/12 + 48*3.14159265/720 )*numpy.cos(49.3*3.14159265/180),numpy.sin(49.3*3.14159265/180),mag**( - 1.85)] stars[38,:] =[numpy.cos(17*3.14159265/12 + 37*3.14159265/720 )*numpy.cos(-43*3.14159265/180),numpy.sin(17*3.14159265/12 + 37*3.14159265/720 )*numpy.cos(-43*3.14159265/180),numpy.sin(-43*3.14159265/180),mag**( - 1.86)]
Python program (3/8) stars[39,:] =[numpy.cos(8*3.14159265/12 + 23*3.14159265/720 )*numpy.cos(-59.5*3.14159265/180),numpy.sin(8*3.14159265/12 + 23*3.14159265/720 )*numpy.cos(-59.5*3.14159265/180),numpy.sin(-59.5*3.14159265/180),mag**( - 1.86)] stars[40,:] =[numpy.cos(6*3.14159265/12 + 0*3.14159265/720 )*numpy.cos(44.9*3.14159265/180),numpy.sin(6*3.14159265/12 + 0*3.14159265/720 )*numpy.cos(44.9*3.14159265/180),numpy.sin(44.9*3.14159265/180),mag**( - 1.90)] stars[41,:] =[numpy.cos(16*3.14159265/12 + 49*3.14159265/720 )*numpy.cos(-69.0*3.14159265/180),numpy.sin(16*3.14159265/12 + 49*3.14159265/720 )*numpy.cos(-69.0*3.14159265/180),numpy.sin(-69.0*3.14159265/180),mag**( - 1.91)] stars[42,:] =[numpy.cos(8*3.14159265/12 + 45*3.14159265/720 )*numpy.cos(-54.7*3.14159265/180),numpy.sin(8*3.14159265/12 + 45*3.14159265/720 )*numpy.cos(-54.7*3.14159265/180),numpy.sin(-54.7*3.14159265/180),mag**( - 1.93)] stars[43,:] =[numpy.cos(6*3.14159265/12 + 38*3.14159265/720 )*numpy.cos(16.4*3.14159265/180),numpy.sin(6*3.14159265/12 + 38*3.14159265/720 )*numpy.cos(16.4*3.14159265/180),numpy.sin(16.4*3.14159265/180),mag**( - 1.93)] stars[44,:] =[numpy.cos(20*3.14159265/12 + 26*3.14159265/720 )*numpy.cos(-56.7*3.14159265/180),numpy.sin(20*3.14159265/12 + 26*3.14159265/720 )*numpy.cos(-56.7*3.14159265/180),numpy.sin(-56.7*3.14159265/180),mag**( - 1.94)] stars[45,:] =[numpy.cos(2*3.14159265/12 +32*3.14159265/720 )*numpy.cos(89.3*3.14159265/180),numpy.sin(2*3.14159265/12 +32*3.14159265/720 )*numpy.cos(89.3*3.14159265/180),numpy.sin(89.3*3.14159265/180),mag**( - 1.97)] stars[46,:] =[numpy.cos(6*3.14159265/12 + 23*3.14159265/720 )*numpy.cos(-18*3.14159265/180),numpy.sin(6*3.14159265/12 + 23*3.14159265/720 )*numpy.cos(-18*3.14159265/180),numpy.sin(-18*3.14159265/180),mag**( - 1.98)] stars[47,:] =[numpy.cos(9*3.14159265/12 + 28*3.14159265/720 )*numpy.cos(-8.7*3.14159265/180),numpy.sin(9*3.14159265/12 + 28*3.14159265/720 )*numpy.cos(-8.7*3.14159265/180),numpy.sin(-8.7*3.14159265/180),mag**( -1.99)] stars[48,:] =[numpy.cos(10*3.14159265/12 + 20*3.14159265/720 )*numpy.cos(19.8*3.14159265/180),numpy.sin(10*3.14159265/12 + 20*3.14159265/720 )*numpy.cos(19.8*3.14159265/180),numpy.sin(19.8*3.14159265/180),mag**( -2.01)] stars[49,:] =[numpy.cos(2*3.14159265/12 + 7*3.14159265/720 )*numpy.cos(23.5*3.14159265/180),numpy.sin(2*3.14159265/12 + 7*3.14159265/720 )*numpy.cos(23.5*3.14159265/180),numpy.sin(23.5*3.14159265/180),mag**( - 2.01)] HOURS = numpy.array([0, 18, 14, 0, 1, 5, 14, 22, 17, 3, 2, 11, 0, 12, 8, 9, 15, 9, 13, 20,0,17,5,0,13,16,16,14,14,11,14,21,17,0,11,17,23,7,21,9,20,23,3,16,13,11,16,5,12,12,19,15,15, 1,14,5,6,12,1,13,14,4,10,12,17,7,18,19,16,16,10,12,5,13,17,5,16,12,17,12,15,5,16,0,16, 18,0,8,15,3,17,17,3,13,21,1,19,6,15,22,2,19,7,15,3,16,19,21,3,9, 22,6,12,22,3,5,9,18,13,17,19,2,11,15,16,21,3,6,7,12,5,12,14,20, 6,10,19,18,8,10,11,20,5,8,16,17,14,9,9,17,6,9,17,18,5,14,4,5,16,17, 21,23,15,16,18,21,6,20,7,14,15,18,3,0,17,22,5,10,15,4,10,13,6,17,17,1,3,12, 17,17,19,4,11,7,1,5,6, 8, 19, 15, 13, 8, 5, 10, 12, 22, 4, 1, 4, 13, 15, 20, 22, 1, 16, 17, 20, 9, 10, 19, 10, 18, 0, 1, 7, 15, 2, 10, 16, 1, 7, 1, 15, 18, 22, 6, 7, 22, 19, 22, 3, 9, 9, 18, 22, 4, 8, 11, 15, 17]) MINUTES = numpy.array([44,55,7,8,10,48,51,43,35,8,4,49,57,42,4,17,35,8,24, 22, 41, 57, 32, 9, 40, 0, 50, 42, 36, 2, 45, 44, 42, 26, 54, 10,4,24,19,22,46,5,2,37,56,14,5,33,8,16,3,17,44,55,51,40,0, 34,26,55,59,57,47,37,31,17,21,46,14,24,43,42,35,21,43,8,30, 15,30,56,35,28,41,26,36,28,13,8,55,54,25,32,47,2,47,59,45, 23,19,19,58,10,27,59,58,21,31,32,5,47,43,50,30,6,58,38, 46,6,19,48,5,10,10,21,52,54, 43, 20, 3, 10, 2, 46, 32, 21, 44,22,13,18,55,50,36,38,51,59,59,15,59,21,31,15,38,33,9, 46,7,43,50,5,58,50,13,39,21,18,21,29,48,11,29,6,4,59,47,39,22,55,13,14,25,34,32, 50,15,15,25,6,5,15,12,59,7,14,14,49,54,24,45,30,25,23,35,47,35,17,56,11,29,28,1,50, 12, 45, 41,53,0,46,45,11,17,6,17,50,49,9,57,16,43,7,43,44,2,18,2,27,49,50,20,50, 59,50,43,41,57,58,10,29,17,33,50,38]) DECLIN = numpy.array([-180,-263,-364,291,356,-97,742,-469,126,410,423,146,607, -490,-400,-593,267,-434,549,403,565,515,-3,592,-535,-226,-343,-474,-422,564,271, 99,-390,-423,537,-157,281,-293,626,-550,340,152,41,-106,-473,205,-198,-178,-507, -175,-299,-94,64,208,-160,-341,372,-234,602,184,-431,332,-494,-691,-373,-371,-298, 106,-37,615,-644,-15,-59,-36.7,46,-51,215,-587,523,383,-412,-208,316,-773, -282,-254,152,-243,-634,319,-555,-400,241,110,-161,-616,451,225,-687,-603, -403,-210,83,-261,400,-256,280,-56,535,-651,302,-506,-165,-3,-135,211,238, -304,-232,-401,139,350,445,718,-380,-374,478,-301,-238,-226,438,-681,383, -148,251,415,677,-368,59,-162,-630,-473,-358,480,-560,248,-421,344,-570, 368,-432,517,657,-270,412,-650,70,-224,94,-370,302,776,-406,-47,-29,706, -619,-8,-433,-267,-253,327,-742,309,-250,-158,-162,-700,590,-550,-617, -425,225,144,-564,-467,388,570,-432,-98,-277,-625,154,-249,637,-24,129, 607,31,-447,-6,64,99,-613,34,582,159,-433,125,-417,-521,618,108,296,-384, 277,-662,-589,234,-49,429,334,578,-102, -530,333,32,168,389,-159, -279,331,404,-460,-513,-325,220,662,195,246,-98,99,-546,-211,62,192,92, -319,-34,-154]) MAG = numpy.array([4,5,6,7,7,7,7,7,8,9,10,14,15,20,21,21,22,23,23,23,24,24,25, 28,29,29,29,30,33,34,35,38,39,40,41,43,44,45,45,47,48,49,54,54,55,56,56,58, 58,58,60,61,63,64,64,65,65,65,66,68,68,69,69,69,70,71,72,72,73,73,74,74,75,75, 76,78,78,79,79,80,80,81,81,82,82,82,83,83,83,84,84,84,85,85,85,86,86,87,87, 87,88,88,89,89,90,90,90,90,91,92,93,94,94,95,97,97,97,98,99,99,99,100,100,100, 100,100,101,102,102,102,103,104,104,105,106,106,107,110,111,111,111,111, 112,112,112,112,113,114,116,116,117,117,117,117,118,118,119,119,119,119, 121,121,122,123,123,123,124,124,125, 125,125,125,126,127,127,127,129, 129,129,130,130,130,131,131,131,132,132,132,132,132,132,133,133,134,135,135,135, 135,136,137,138,138,139,139,139,139,140,141,141,141,141,141,141,142,142,142,142, 143,143,143,145,145,146,146,146,146,147,148,148,149,149,149,149,149,149,150,150, 150,151,151,152,152,152,152,152,153,153,154,154,154]) for j in range(250): stars[j+50,:] = [numpy.cos(HOURS[j]*3.14159265/12 + MINUTES[j]*3.14159265/720 )*numpy.cos(DECLIN[j]*3.14159265/1800),numpy.sin(HOURS[j]*3.14159265/12 +MINUTES[j]*3.14159265/720 )*numpy.cos(DECLIN[j]*3.14159265/1800),numpy.sin(DECLIN[j]*3.14159265/1800),mag**( - (2 + MAG[j]/100))]
Python program (1/8) import numpy import pygame import random image = pygame.image.load('/Users/najnudel/PycharmProjects/Games/world.jpg') image= pygame.transform.scale(image, (540, 300)) pygame.init() clock = pygame.time.Clock() I = 1440 J = 800 nbstars = 300 stars = numpy.zeros((nbstars,4)) mag = 1.5
Python program (8/8) play_text = pygame.font.Font('/Users/najnudel/PycharmProjects/Games/Potta_One/PottaOne-Regular.ttf', 8).render('-100 DAYS', 1, (50, 20, 0)) screen.blit(play_text, (a-25, 343)) play_text = pygame.font.Font('/Users/najnudel/PycharmProjects/Games/Potta_One/PottaOne-Regular.ttf', 8).render('-10 DAYS', 1, (50, 20, 0)) screen.blit(play_text, (a +b- 22, 343)) play_text = pygame.font.Font('/Users/najnudel/PycharmProjects/Games/Potta_One/PottaOne-Regular.ttf', 8).render('-1 DAY', 1, (50, 20, 0)) screen.blit(play_text, (a +2*b- 16, 343)) play_text = pygame.font.Font('/Users/najnudel/PycharmProjects/Games/Potta_One/PottaOne-Regular.ttf', 8).render('+1 DAY', 1, (50, 20, 0)) screen.blit(play_text, (a +3*b- 16, 343)) play_text = pygame.font.Font('/Users/najnudel/PycharmProjects/Games/Potta_One/PottaOne-Regular.ttf', 8).render('+10 DAYS', 1, (50, 20, 0)) screen.blit(play_text, (a +4*b- 22, 343)) play_text = pygame.font.Font('/Users/najnudel/PycharmProjects/Games/Potta_One/PottaOne-Regular.ttf', 8).render('+100 DAYS', 1, (50, 20, 0)) screen.blit(play_text, (a +5*b-25, 343)) pygame.draw.circle(screen, (128, 128, 128), (117, 460), 50, 50) pygame.draw.circle(screen, (128, 128, 128), (327, 460), 50, 50) play_text = pygame.font.Font('/Users/najnudel/PycharmProjects/Games/Potta_One/PottaOne-Regular.ttf', 20).render('SLOW', 1, (50, 20, 0)) screen.blit(play_text, (85, 444)) play_text = pygame.font.Font('/Users/najnudel/PycharmProjects/Games/Potta_One/PottaOne-Regular.ttf', 20).render('FAST', 1, (50, 20, 0)) screen.blit(play_text, (299, 444)) play_text = pygame.font.Font('/Users/najnudel/PycharmProjects/Games/Potta_One/PottaOne-Regular.ttf', 20).render('TIME ACCELERATION: ' + str(int(acceleration)), 1, (200, 128, 69)) screen.blit(play_text, (74, 530)) pygame.draw.circle(screen, (128, 128, 128), (117, 630), 50, 50) pygame.draw.circle(screen, (128, 128, 128), (327, 630), 50, 50) play_text = pygame.font.Font('/Users/najnudel/PycharmProjects/Games/Potta_One/PottaOne-Regular.ttf', 15).render('ZOOM IN', 1, (50, 20, 0)) screen.blit(play_text, (80, 618)) play_text = pygame.font.Font('/Users/najnudel/PycharmProjects/Games/Potta_One/PottaOne-Regular.ttf', 15).render('ZOOM OUT', 1, (50, 20, 0)) screen.blit(play_text, (282, 618)) play_text = pygame.font.Font('/Users/najnudel/PycharmProjects/Games/Potta_One/PottaOne-Regular.ttf', 20).render('TIME ACCELERATION: ' + str(int(acceleration)), 1, (200, 128, 69)) screen.blit(play_text, (74, 530)) pygame.draw.circle(screen, (128, 128, 128), (117, 738), 50, 50) pygame.draw.circle(screen, (128, 128, 128), (327, 738), 50, 50) play_text = pygame.font.Font('/Users/najnudel/PycharmProjects/Games/Potta_One/PottaOne-Regular.ttf', 10).render('SHORTEN STICK', 1, (50, 20, 0)) screen.blit(play_text, (69, 730)) play_text = pygame.font.Font('/Users/najnudel/PycharmProjects/Games/Potta_One/PottaOne-Regular.ttf', 10).render('EXTEND STICK', 1, (50, 20, 0)) screen.blit(play_text, (284, 730)) screen.blit(image, (900, 1)) pygame.draw.circle(screen, (200, 12, 12), (1170 + longitude/0.666, 150 - latitude/0.599),4, 4) pygame.display.flip() clock.tick(FPS)
Python program (7/8) if localmonth == 1: play_text = pygame.font.Font('/Users/najnudel/PycharmProjects/Games/Potta_One/PottaOne-Regular.ttf', 20).render('JANUARY ' + str(localdaynumber), 1, (200, 128, 69)) screen.blit(play_text, (32, 149)) if localmonth == 2: play_text = pygame.font.Font('/Users/najnudel/PycharmProjects/Games/Potta_One/PottaOne-Regular.ttf', 20).render('FEBRUARY ' + str(localdaynumber), 1, (200, 128, 69)) screen.blit(play_text, (32, 149)) if localmonth == 3: play_text = pygame.font.Font('/Users/najnudel/PycharmProjects/Games/Potta_One/PottaOne-Regular.ttf', 20).render('MARCH ' + str(localdaynumber), 1, (200, 128, 69)) screen.blit(play_text, (32, 149)) if localmonth == 4: play_text = pygame.font.Font('/Users/najnudel/PycharmProjects/Games/Potta_One/PottaOne-Regular.ttf', 20).render('APRIL ' + str(localdaynumber), 1, (200, 128, 69)) screen.blit(play_text, (32, 149)) if localmonth == 5: play_text = pygame.font.Font('/Users/najnudel/PycharmProjects/Games/Potta_One/PottaOne-Regular.ttf', 20).render('MAY ' + str(localdaynumber), 1, (200, 128, 69)) screen.blit(play_text, (32, 149)) if localmonth == 6: play_text = pygame.font.Font('/Users/najnudel/PycharmProjects/Games/Potta_One/PottaOne-Regular.ttf', 20).render('JUNE ' + str(localdaynumber), 1, (200, 128, 69)) screen.blit(play_text, (32, 149)) if localmonth == 7: play_text = pygame.font.Font('/Users/najnudel/PycharmProjects/Games/Potta_One/PottaOne-Regular.ttf', 20).render('JULY ' + str(localdaynumber), 1, (200, 128, 69)) screen.blit(play_text, (32, 149)) if localmonth == 8: play_text = pygame.font.Font('/Users/najnudel/PycharmProjects/Games/Potta_One/PottaOne-Regular.ttf', 20).render('AUGUST ' + str(localdaynumber), 1, (200, 128, 69)) screen.blit(play_text, (32, 149)) if localmonth == 9: play_text = pygame.font.Font('/Users/najnudel/PycharmProjects/Games/Potta_One/PottaOne-Regular.ttf', 20).render('SEPTEMBER ' + str(localdaynumber), 1, (200, 128, 69)) screen.blit(play_text, (32,149)) if localmonth == 10: play_text = pygame.font.Font('/Users/najnudel/PycharmProjects/Games/Potta_One/PottaOne-Regular.ttf', 20).render('OCTOBER ' + str(localdaynumber), 1, (200, 128, 69)) screen.blit(play_text, (32, 149)) if localmonth == 11: play_text = pygame.font.Font('/Users/najnudel/PycharmProjects/Games/Potta_One/PottaOne-Regular.ttf', 20).render('NOVEMBER ' + str(localdaynumber), 1, (200, 128, 69)) screen.blit(play_text, (32, 149)) if localmonth == 12: play_text = pygame.font.Font('/Users/najnudel/PycharmProjects/Games/Potta_One/PottaOne-Regular.ttf', 20).render('DECEMBER ' + str(localdaynumber), 1, (200, 128, 69)) screen.blit(play_text, (32, 149)) if localminute > 9.5: play_text = pygame.font.Font('/Users/najnudel/PycharmProjects/Games/Potta_One/PottaOne-Regular.ttf', 20).render(str(localhour) + ':' + str(localminute), 1, (200, 128, 69)) if localminute < 9.5: play_text = pygame.font.Font('/Users/najnudel/PycharmProjects/Games/Potta_One/PottaOne-Regular.ttf', 20).render(str(localhour) + ':0' + str(localminute), 1, (200, 128, 69)) screen.blit(play_text, (32, 182)) if int(azimuthlook)- 360* int(azimuthlook/360) < 22.5 or int(azimuthlook)- 360* int(azimuthlook/360) > 337.5: if int(azimuthlook)- 360* int(azimuthlook/360) < 1.5: play_text = pygame.font.Font('/Users/najnudel/PycharmProjects/Games/Potta_One/PottaOne-Regular.ttf', 20).render('AZIMUTH: ' + str(int(azimuthlook)- 360* int(azimuthlook/360))+ ' DEGREE (NORTH)', 1, (200, 128, 69)) if int(azimuthlook)- 360* int(azimuthlook/360) > 1.5: play_text = pygame.font.Font('/Users/najnudel/PycharmProjects/Games/Potta_One/PottaOne-Regular.ttf', 20).render('AZIMUTH: ' + str(int(azimuthlook)- 360* int(azimuthlook/360))+ ' DEGREES (NORTH)', 1, (200, 128, 69)) screen.blit(play_text, (32, 225)) if int(azimuthlook)- 360* int(azimuthlook/360) < 67.5 and int(azimuthlook)- 360* int(azimuthlook/360) > 22.5: play_text = pygame.font.Font('/Users/najnudel/PycharmProjects/Games/Potta_One/PottaOne-Regular.ttf', 20).render('AZIMUTH: ' + str(int(azimuthlook)- 360* int(azimuthlook/360))+ ' DEGREES (NORTH-EAST)', 1, (200, 128, 69)) screen.blit(play_text, (32, 225)) if int(azimuthlook)- 360* int(azimuthlook/360) < 112.5 and int(azimuthlook)- 360* int(azimuthlook/360) > 67.5: play_text = pygame.font.Font('/Users/najnudel/PycharmProjects/Games/Potta_One/PottaOne-Regular.ttf', 20).render('AZIMUTH: ' + str(int(azimuthlook)- 360* int(azimuthlook/360))+ ' DEGREES (EAST)', 1, (200, 128, 69)) screen.blit(play_text, (32, 225)) if int(azimuthlook)- 360* int(azimuthlook/360) < 157.5 and int(azimuthlook)- 360* int(azimuthlook/360) > 112.5: play_text = pygame.font.Font('/Users/najnudel/PycharmProjects/Games/Potta_One/PottaOne-Regular.ttf', 20).render('AZIMUTH: ' + str(int(azimuthlook)- 360* int(azimuthlook/360))+ ' DEGREES (SOUTH-EAST)', 1, (200, 128, 69)) screen.blit(play_text, (32, 225)) if int(azimuthlook)- 360* int(azimuthlook/360) < 202.5 and int(azimuthlook)- 360* int(azimuthlook/360) > 157.5: play_text = pygame.font.Font('/Users/najnudel/PycharmProjects/Games/Potta_One/PottaOne-Regular.ttf', 20).render('AZIMUTH: ' + str(int(azimuthlook)- 360* int(azimuthlook/360))+ ' DEGREES (SOUTH)', 1, (200, 128, 69)) screen.blit(play_text, (32, 225)) if int(azimuthlook)- 360* int(azimuthlook/360) < 247.5 and int(azimuthlook)- 360* int(azimuthlook/360) > 202.5: play_text = pygame.font.Font('/Users/najnudel/PycharmProjects/Games/Potta_One/PottaOne-Regular.ttf', 20).render('AZIMUTH: ' + str(int(azimuthlook)- 360* int(azimuthlook/360))+ ' DEGREES (SOUTH-WEST)', 1, (200, 128, 69)) screen.blit(play_text, (32, 225)) if int(azimuthlook)- 360* int(azimuthlook/360) < 292.5 and int(azimuthlook)- 360* int(azimuthlook/360) > 247.5: play_text = pygame.font.Font('/Users/najnudel/PycharmProjects/Games/Potta_One/PottaOne-Regular.ttf', 20).render('AZIMUTH: ' + str(int(azimuthlook)- 360* int(azimuthlook/360))+ ' DEGREES (WEST)', 1, (200, 128, 69)) screen.blit(play_text, (32, 225)) if int(azimuthlook)- 360* int(azimuthlook/360) < 337.5 and int(azimuthlook)- 360* int(azimuthlook/360) > 292.5: play_text = pygame.font.Font('/Users/najnudel/PycharmProjects/Games/Potta_One/PottaOne-Regular.ttf', 20).render('AZIMUTH: ' + str(int(azimuthlook)- 360* int(azimuthlook/360))+ ' DEGREES (NORTH-WEST)', 1, (200, 128, 69)) screen.blit(play_text, (32, 225)) if angleheightlook >=1 : jjj = int(angleheightlook) if jjj > 1.5: play_text = pygame.font.Font('/Users/najnudel/PycharmProjects/Games/Potta_One/PottaOne-Regular.ttf', 20).render('LOOKING UP : '+str(int(angleheightlook)) + ' DEGREES', 1, (200, 128, 69)) if jjj < 1.5: play_text = pygame.font.Font('/Users/najnudel/PycharmProjects/Games/Potta_One/PottaOne-Regular.ttf', 20).render('LOOKING UP : '+str(int(angleheightlook)) + ' DEGREE', 1, (200, 128, 69)) screen.blit(play_text, (32, 258)) if angleheightlook <= -1: jjj = int(-angleheightlook) if jjj > 1.5: play_text = pygame.font.Font('/Users/najnudel/PycharmProjects/Games/Potta_One/PottaOne-Regular.ttf', 20).render('LOOKING DOWN : '+str(int(-angleheightlook)) + ' DEGREES', 1, (200, 128, 69)) if jjj < 1.5: play_text = pygame.font.Font('/Users/najnudel/PycharmProjects/Games/Potta_One/PottaOne-Regular.ttf', 20).render('LOOKING DOWN : '+str(int(-angleheightlook)) + ' DEGREE', 1, (200, 128, 69)) screen.blit(play_text, (32, 258)) pygame.draw.circle(screen, (128, 128,128), (a, 350), r,r) pygame.draw.circle(screen, (128, 128, 128), (a+b, 350), r,r) pygame.draw.circle(screen, (128, 128, 128), (a+2*b, 350), r,r) pygame.draw.circle(screen, (128, 128, 128), (a+3*b, 350), r,r) pygame.draw.circle(screen, (128, 128, 128), (a+4*b, 350), r,r) pygame.draw.circle(screen, (128, 128, 128), (a+5*b, 350), r,r)
Python program (6/8) pygame.draw.rect(screen,colorsky,(0,0,I,J)) hun = numpy.ones((nbstars)) d1 = hun d2 = hun d3 = hun d1 = numpy.floor((7 * hun + 248 * stars[:, 3]) * (1 - day) + day * colorsky[0] * hun) d2 = numpy.floor(255 * stars[:, 3] * (1 - day) + day * colorsky[1] * hun) d3 =numpy.floor((30* hun + 225 *stars[:, 3]) * (1 - day) + day * colorsky[2] * hun) for j in range(1): if lookingstars[j, 2] > 0: pygame.draw.circle(screen, (255* (1-day) + day * colorsky[0],255* (1-day) + day * colorsky[1],255* (1-day) + day * colorsky[2]), ( int(I / 2 + I * distancescreenoverlargelengthscreen * lookingstars[j, 0] / lookingstars[j, 2]), int(J / 2 + I * distancescreenoverlargelengthscreen * lookingstars[j, 1] / lookingstars[j, 2])), 3, 3) for j in range(1,4): if lookingstars[j, 2] > 0: pygame.draw.circle(screen, (255* (1-day) + day * colorsky[0],255* (1-day) + day * colorsky[1],255* (1-day) + day * colorsky[2]), ( int(I / 2 + I * distancescreenoverlargelengthscreen * lookingstars[j, 0] / lookingstars[j, 2]), int(J / 2 + I * distancescreenoverlargelengthscreen * lookingstars[j, 1] / lookingstars[j, 2])), 2, 2) for j in range(4,nbstars): if lookingstars[j, 2] > 0: pygame.draw.circle(screen, (d1[j], d2[j], d3[j]), ( int(I / 2 + I * distancescreenoverlargelengthscreen * lookingstars[j, 0] / lookingstars[j, 2]), int(J / 2 + I * distancescreenoverlargelengthscreen * lookingstars[j, 1] / lookingstars[j, 2])), 1, 1) pygame.draw.circle(screen, (255, 255, 0), (suninscreen[0], suninscreen[1]), screenradiussun, screenradiussun) pygame.draw.polygon(screen, colorsand, [(0,limitesol),(I-1,limitesol),(I-1,J-1),(0, J-1)],width=0) xscr = -100 yscr = -100 for j in range(int(lengthstick/meshshadow)): t = j*meshshadow s1 = apparentsunposition[0] s2 = apparentsunposition[1] s3 = apparentsunposition[2] x = t * apparentsunposition[0] * lookright[0] + t * apparentsunposition[1] * lookright[1] + apparentsunposition[2] * lookright[2] y = - t*apparentsunposition[0]*lookhigh[0] - t*apparentsunposition[1]*lookhigh[1] - apparentsunposition[2]*lookhigh[2] z = t * apparentsunposition[0] * lookvector[0] + t * apparentsunposition[1] *lookvector[1] + apparentsunposition[2] * lookvector[2] xscrprevious = xscr yscrprevious = yscr if z< 0: xscr = distancescreenoverlargelengthscreen*x/z yscr = distancescreenoverlargelengthscreen * y / z else: xscr = -100 yscr = -100 if j > 0: xscreenprev = xscreen yscreenprev = yscreen xscreen = int(I/2 + I*xscr) yscreen = int(J/2 + I*yscr) if j > 0 and s3 > 0 and xscr < 5 and xscr > -5 and yscr < 5 and yscr > -5 and xscrprevious < 5 and xscrprevious > -5 and yscrprevious < 5 and yscrprevious > -5: day2 = min(7*s3,1) pygame.draw.line(screen, (colorsand[0]*(1-day2) + 69*day2, colorsand[1]*(1-day2) + 69*day2, colorsand[2]*(1-day2) + 69*day2), (xscreenprev, yscreenprev), (xscreen, yscreen), width=1 + int(distancescreenoverlargelengthscreen)) play_text = pygame.font.Font('/Users/najnudel/PycharmProjects/Games/Potta_One/PottaOne-Regular.ttf', 20).render('DAY AND TIME (UTC):', 1, (200, 128, 69)) screen.blit(play_text, (32, 7)) if month == 1: play_text = pygame.font.Font('/Users/najnudel/PycharmProjects/Games/Potta_One/PottaOne-Regular.ttf', 20).render('JANUARY ' + str(daynumber), 1, (200, 128, 69)) screen.blit(play_text, (32, 40)) if month == 2: play_text = pygame.font.Font('/Users/najnudel/PycharmProjects/Games/Potta_One/PottaOne-Regular.ttf', 20).render('FEBRUARY ' + str(daynumber), 1, (200, 128, 69)) screen.blit(play_text, (32, 40)) if month == 3: play_text = pygame.font.Font('/Users/najnudel/PycharmProjects/Games/Potta_One/PottaOne-Regular.ttf', 20).render('MARCH ' + str(daynumber), 1, (200, 128, 69)) screen.blit(play_text, (32, 40)) if month == 4: play_text = pygame.font.Font('/Users/najnudel/PycharmProjects/Games/Potta_One/PottaOne-Regular.ttf', 20).render('APRIL ' + str(daynumber), 1, (200, 128, 69)) screen.blit(play_text, (32, 40)) if month == 5: play_text = pygame.font.Font('/Users/najnudel/PycharmProjects/Games/Potta_One/PottaOne-Regular.ttf', 20).render('MAY ' + str(daynumber), 1, (200, 128, 69)) screen.blit(play_text, (32, 40)) if month == 6: play_text = pygame.font.Font('/Users/najnudel/PycharmProjects/Games/Potta_One/PottaOne-Regular.ttf', 20).render('JUNE ' + str(daynumber), 1, (200, 128, 69)) screen.blit(play_text, (32, 40)) if month == 7: play_text = pygame.font.Font('/Users/najnudel/PycharmProjects/Games/Potta_One/PottaOne-Regular.ttf', 20).render('JULY ' + str(daynumber), 1, (200, 128, 69)) screen.blit(play_text, (32, 40)) if month == 8: play_text = pygame.font.Font('/Users/najnudel/PycharmProjects/Games/Potta_One/PottaOne-Regular.ttf', 20).render('AUGUST ' + str(daynumber), 1, (200, 128, 69)) screen.blit(play_text, (32, 40)) if month == 9: play_text = pygame.font.Font('/Users/najnudel/PycharmProjects/Games/Potta_One/PottaOne-Regular.ttf', 20).render('SEPTEMBER ' + str(daynumber), 1, (200, 128, 69)) screen.blit(play_text, (32, 40)) if month == 10: play_text = pygame.font.Font('/Users/najnudel/PycharmProjects/Games/Potta_One/PottaOne-Regular.ttf', 20).render('OCTOBER ' + str(daynumber), 1, (200, 128, 69)) screen.blit(play_text, (32, 40)) if month == 11: play_text = pygame.font.Font('/Users/najnudel/PycharmProjects/Games/Potta_One/PottaOne-Regular.ttf', 20).render('NOVEMBER ' + str(daynumber), 1, (200, 128, 69)) screen.blit(play_text, (32, 40)) if month == 12: play_text = pygame.font.Font('/Users/najnudel/PycharmProjects/Games/Potta_One/PottaOne-Regular.ttf', 20).render('DECEMBER ' + str(daynumber), 1, (200, 128, 69)) screen.blit(play_text, (32, 40)) if minute > 9.5: play_text = pygame.font.Font('/Users/najnudel/PycharmProjects/Games/Potta_One/PottaOne-Regular.ttf', 20).render(str(hour) + ':' + str(minute), 1, (200, 128, 69)) if minute <9.5: play_text = pygame.font.Font('/Users/najnudel/PycharmProjects/Games/Potta_One/PottaOne-Regular.ttf', 20).render(str(hour) + ':0' + str(minute), 1, (200, 128, 69)) screen.blit(play_text, (32, 73)) play_text = pygame.font.Font('/Users/najnudel/PycharmProjects/Games/Potta_One/PottaOne-Regular.ttf', 20).render('DAY AND TIME (SOLAR LOCAL):', 1, (200, 128, 69)) screen.blit(play_text, (32, 116))
Python program (5/8) lookvector = numpy.array([numpy.sin(azimuthlook*3.14159265/180)* numpy.cos(angleheightlook*3.14159265/180), numpy.cos(azimuthlook*3.14159265/180)* numpy.cos(angleheightlook*3.14159265/180), numpy.sin(angleheightlook*3.14159265/180)]) lookhigh = numpy.array([-numpy.sin(azimuthlook*3.14159265/180) * numpy.sin(angleheightlook*3.14159265/180), -numpy.cos(azimuthlook*3.14159265/180) * numpy.sin(angleheightlook*3.14159265/180),numpy.cos(angleheightlook*3.14159265/180)]) lookright = numpy.array([numpy.cos(azimuthlook*3.14159265/180),- numpy.sin(azimuthlook*3.14159265/180),0]) time += acceleration/(FPS*86400) timereduced = time - year*numpy.floor(time/year) month = 1 for j in range(numbermonths-1): if timereduced >= monthcumulated[j]: month += 1 timeinsidemonth = timereduced if month >= 2: timeinsidemonth = timereduced - monthcumulated[month-2] daynumber = int( timeinsidemonth) + 1 timeinsideday = timeinsidemonth - numpy.floor( timeinsidemonth) hour = int(timeinsideday*24) minute = int(1440* timeinsideday - 60* hour) localtime = time + longitude/360 localtimereduced = localtime - year * numpy.floor(localtime / year) localmonth = 1 for j in range(numbermonths - 1): if localtimereduced >= monthcumulated[j]: localmonth += 1 localtimeinsidemonth = localtimereduced if localmonth >= 2: localtimeinsidemonth = localtimereduced - monthcumulated[localmonth - 2] localdaynumber = int(localtimeinsidemonth) + 1 localtimeinsideday = localtimeinsidemonth - numpy.floor(localtimeinsidemonth) localhour = int(localtimeinsideday * 24) localminute = int(1440 * localtimeinsideday - 60 * localhour) proportionorbit = (time - peri)/year - numpy.floor ((time - peri)/year ) indexorbit = int(proportionorbit*N) anglesun = Theta[indexorbit] - thetaspring sunposition = numpy.zeros((3)) sunposition[0] =numpy.cos(anglesun) sunposition[1] = numpy.sin(anglesun)* numpy.cos(inclination*3.14159265/180) sunposition[2] = numpy.sin(anglesun) * numpy.sin(inclination*3.14159265/180) apparentlongituderad = 2*3.1415926535*(longitude/360 + (time * (1 + 1/year))) + anglesuntimezero - 3.1415926535/2 latituderad = latitude * 3.14159265/180 vectorhigh = numpy.array([numpy.sin(apparentlongituderad) * numpy.cos(latituderad), - numpy.cos(apparentlongituderad) * numpy.cos(latituderad), numpy.sin(latituderad)]) vectornorth = numpy.array([-numpy.sin(latituderad)* numpy.sin(apparentlongituderad) ,numpy.sin(latituderad)*numpy.cos(apparentlongituderad) ,numpy.cos(latituderad)]) vectoreast = numpy.array([numpy.cos(apparentlongituderad),numpy.sin(apparentlongituderad) , 0]) apparentsunposition = numpy.zeros((3)) apparentsunposition[0] =vectoreast[0] * sunposition[0] + vectoreast[1] * sunposition[1] + vectoreast[2] * sunposition[2] apparentsunposition[1] = vectornorth[0] * sunposition[0] + vectornorth[1] * sunposition[1] + vectornorth[2] * sunposition[2] apparentsunposition[2] = vectorhigh[0] * sunposition[0] + vectorhigh[1] * sunposition[1] + vectorhigh[2] * sunposition[2] apparentstars = numpy.zeros((nbstars,3)) apparentstars[:,0] = vectoreast[0] * stars[:,0] + vectoreast[1] * stars[:,1] + vectoreast[2] *stars[:,2] apparentstars[:, 1] = vectornorth[0] * stars[:, 0] + vectornorth[1] * stars[:, 1] + vectornorth[2] * stars[:, 2] apparentstars[:, 2] = vectorhigh[0] * stars[:, 0] + vectorhigh[1] * stars[:, 1] + vectorhigh[2] * stars[:, 2] lookingstars = numpy.zeros((nbstars, 3)) lookingstars[:,0] = apparentstars[:,0] * lookright[0] + apparentstars[:,1] * lookright[1] + apparentstars[:,2] * lookright[2] lookingstars[:,1] = - apparentstars[:,0] * lookhigh[0] - apparentstars[:,1] * lookhigh[1] - apparentstars[:,2] * lookhigh[2] lookingstars[:,2] = apparentstars[:,0] * lookvector[0] + apparentstars[:,1] * lookvector[1] + apparentstars[:,2] * lookvector[2] lookingsunposition = numpy.zeros((3)) lookingsunposition[0] = apparentsunposition[0] * lookright[0] + apparentsunposition[1] * lookright[1] + apparentsunposition[2] * lookright[2] lookingsunposition[1] = - apparentsunposition[0] * lookhigh[0] - apparentsunposition[1] * lookhigh[1] - apparentsunposition[2] * lookhigh[2] lookingsunposition[2] = lookingsunposition[2] = apparentsunposition[0] * lookvector[0] + apparentsunposition[1] * lookvector[1] + apparentsunposition[2] * lookvector[2] bleuciel = numpy.array([135,206,235]) bleunuit = numpy.array([7,0,30]) day = min(0.7 * numpy.exp(12*apparentsunposition[2]), 1) colorsky = bleunuit * (1-day) + bleuciel * day colorsandsunny = numpy.array([224,205,169]) colorsand = colorsandsunny * (0.3 + 0.7*day) suninscreen = [-1000,-1000] if lookingsunposition[2] > 0: suninscreen[0]= int(I/2 + I*distancescreenoverlargelengthscreen*lookingsunposition[0] /lookingsunposition[2] ) suninscreen[1] = int(J/ 2 + I * distancescreenoverlargelengthscreen * lookingsunposition[1] / lookingsunposition[2]) limitesol = int(J/2 + distancescreenoverlargelengthscreen * I * numpy.tan(angleheightlook*3.14159/180)) if limitesol <= 0: limitesol = 1 if limitesol >= J: limitesol = J