airconone

Membre
  • Content Count

    408
  • Joined

  • Last visited

About airconone

  • Rank
    Membre
  • Birthday 08/12/1963

A propos

  • Résidence
    Centre ( montlucon )
  • Intérêts
    Informatique, astronomie, série TV
  • Matériel
    Dobson GSO 300/1500, skyview pro, skywatcher 150/750, apn 350d
  1. airconone

    Générateur de soirée

    Je suis quand même impressionner par le coté "propre" de ce que tu as fait . Et surtout tu n'a jamais renoncé malgré les difficultés et les critiques. Continues :-)
  2. airconone

    AMARSISSAGE de CURIOSITY demain!

    AMARSISSAGE , ça écorche les oreilles. Lune Alunissage Titan Atitanissage Venus Avénussage Europa Aeuropaéssage Mercur amercurage Je continue ??
  3. airconone

    Lumière du jour, même la nuit ?

    star trek 6 terre inconnue ?
  4. airconone

    Générateur de soirée

    Et tout ça ? , tout seule !! :-) , bravo bonne continuation.
  5. airconone

    Calculer coordonnées objet ?

    Bon je viens de vérifier ton code PHP, tu utilise la DATE PC. tu oublie de passer l heure en TU.
  6. airconone

    Calculer coordonnées objet ?

    je me suis servi du bouquin de jean meuus ( acheter a Paris ) et divers sites internet. Sinon c'est une classe que j'ai extraite de mon programme "android" astrotools dans lequel je gere bien sur le TU. Comme ca fait un an que je n'y ai pas touché , j'ai adapté la class à l arrache. PS: en Java on obtient la valeur de pi par Math.PI... Des fois on est pas inspiré :-)
  7. airconone

    Calculer coordonnées objet ?

    // comme ca peut servir a du monde je met ma class Java ici brut de decoffrage // j'ai mit un Main pour l exemple // public class Astro { public static void main(String[] args){ System.out.println("test"); // TEST sur M13 pour le 12 aout 2012 a 20h45 // latitude 48 51 36 // longitude 2 20 24 // M13 AD = 16h 41mn 42 Declinaison = 36° 28' 00 // 1) je convertit le AD en Decimal int[] ad ={16,41,42}; double raDecimal = rightAscensionToDegreeDecimal( ad ); // 2) je convertit la declinaison en degree decimals int[] dec ={36,28,00}; double declinaisonDecimal = coordonneeToDegreeDecimal(dec ); // 3) int[] dateTU ={2012,8,12}; int[] heureTU ={20,45,00}; int[] lat = {48,51,36} ; double latdecimal = coordonneeToDegreeDecimal( lat ); int[] longi = {2,20,24} ; double longiDecimal = coordonneeToDegreeDecimal( longi ); double[] hauteurAzimut = hauteurAzimutDegree(dateTU, heureTU, raDecimal, declinaisonDecimal, latdecimal, longiDecimal); System.out.println("hauteur "+hauteurAzimut[0]); System.out.println("azimut "+hauteurAzimut[1]); System.out.println("hauteur "+ degreeDecimalToDMS( hauteurAzimut[0] ) ); System.out.println("azimut "+degreeDecimalToDMS( hauteurAzimut[1] ) ); } public static double toJulianDay(int dateTU[], int heureTU[]){ double julianDay; double y , m , d , h, min, sec; double T,C,B; y = dateTU[0]; m = dateTU[1]; d = dateTU[2]; h = heureTU[0]; min = heureTU[1]; sec = heureTU[2]; if (m<3){ y = y -1; m = m +12; } C= partieEntiere(y/100.0); B = 2.0 - C + partieEntiere(C/4.0); T = h/24.00 + min/1440.00 + sec/86400.00; // julianDay = (double) (partieEntiere(365.25 * (y+4716.0))) ; julianDay = julianDay + partieEntiere(30.6001*(m+1.0)) + d + T + B - 1524.5 ; return julianDay; } public static double toJulianDay2000(int dateTU[], int heureTU[]){ double j2000=0.0; double julianDay = toJulianDay(dateTU, heureTU); //j2000 = 2000.0 + (julianDay - 2451545.0)/365.25 ; j2000 = julianDay - 2451545; return j2000; } public static int partieEntiere(double val){ // Log.i(" ","val: "+val); if(val<0){ val = Math.ceil(val); }else{ val = Math.floor(val); } // Log.i(" "," "+val); return (int)val; } public static double partieDecimal(double val){ if(val<0){ val = val - Math.ceil(val); }else{ val = val - Math.floor(val); } return val; } public static String degreeDecimalToDMS(double val){ String signe="+"; String str=""; int d=0, m=0 ; if( val<0 ){ signe="-"; val = Math.abs(val); } d = partieEntiere(val); m = (int) ((val-d)*60) ; //s= (int) ((((val-d)*60) - m) * 60) ; // str = String.format("% 03d",(int)d) +"°"+ String.format("% 03d",(int)m) +"m"+ String.format("% 03d",(int)s)+"s"; str = signe+String.format("%02d",(int)d) +"°"+ String.format("%02d",(int)m) +"m"; return str; } public static double heureSiderale(int[] dateTU, int[] heureTU){ // double hs=0; /* * L'heure sidérale va nous permettre de calculer un angle qui dépend de l'heure d'observation et de la date. Nous connaissons le jour julien, nous en déduisons le nombre de siècle depuis le 01/01/2000 grâce à la formule suivante : T = ( JJ - 2451545 ) / 36525 On en déduit l'heure sidérale en seconde grâce à la formule suivante : H1 = 24110.54841 + ( 8640184.812866 * T) + ( 0.093104 * ( T^2 ) ) - (0.0000062 * ( T^3 ) ) en heure l'heure sidérale est donc : HSH = H1 / 3600 Mais il faut ramener cette heure dans un intervalle de 0 à 24H et ne garder que la partie fractionnaire de ce nombre d'où : HS = (( HSH / 24 ) - Int( HSH / 24 ))*24 Calcul du décalage dû à l'heure sidérale * */ double T = ( toJulianDay2000(dateTU, heureTU) - 2451545.0 )/36525.0; double H1 = 24110.54841 + ( 8640184.812866 * T) + ( 0.093104 * ( T*T ) ) - (0.0000062 * ( T*T*T ) ); double HSH = H1 / 3600.0; double HS = ( ( HSH / 24.0 ) - partieEntiere( HSH / 24.0 ) )*24.0 ; //Log.i("","hs:"+HS); return HS; } public static double toHeureMeridianLocalTime(int[] dateTU, int[] heureTU, double ra , double longi,double timeZone){ double heureMeridian=0.0; double j2000 = toJulianDay2000(dateTU, heureTU); heureMeridian = ra - 100.460 - 0.985647*j2000 - longi + timeZone*15.0 ; heureMeridian = heureMeridian % 360.0; if ( heureMeridian < 0 ){ heureMeridian = heureMeridian + 360; } return heureMeridian; } public static double toAngleHoraireDegree(int[] dateTU, int[] heureTU, double ra , double longi){ double angleHoraire ; double heureDegree = (heureTU[0] + heureTU[1]/60.0 + heureTU[2]/3600.0) * 15.0; double heureSiderale ; double jd = toJulianDay(dateTU, heureTU); double t = ( jd - 2451545.0) / 36525.0; heureSiderale = 280.46061837 + 360.98564736629*(jd - 2451545.0 ) + t *( t*(0.000387933 - t/38710000.0) ) ; heureSiderale = heureSiderale + longi ; /* double j2000 = toJulianDay2000(dateTU, heureTU); heureSiderale = 100.460 + 0.985647*j2000 + longi + ( heureDegree ); */ heureSiderale = heureSiderale % 360.0; if ( heureSiderale < 0 ){ heureSiderale = heureSiderale + 360; } // Log.i("", " heureSiderale:"+degreDecimalToHMS(heureSiderale) ); //Log.i(""," heureSiderale "+ degreDecimalToHMS( heureSiderale) ); angleHoraire = heureSiderale - ra; if (angleHoraire <0 ){ angleHoraire = 360 + angleHoraire; } return angleHoraire; //return 54.382617; // return (H); } public static double round(double what, int howmuch) { return (double)( (int)(what * Math.pow(10,howmuch) + .5) ) / Math.pow(10,howmuch); } public static String degreDecimalToHMS(double val){ String str=""; val = Math.abs(val); int h; double m; h= (int)Math.floor( val/15.0 ); m = ((val/15) - h)*60.0 ; m = round(m,0); // m = partieEntiere( ((val/15) - h)*60.0 ); //s= ((((val/15) - h)*60 ) - m)*60.0; //str = "RA:" + String.format("% 03d",(int)h) +"h"+ String.format("% 03d",(int)m) +"m"+ String.format("% 03d",(int)s)+"s"; str = String.format("%02d",(int)h) +"h"+ String.format("%02d",(int)m) +"m"; return str; } public static double rightAscensionToDegreeDecimal(int ra[]){ double ra2DegreeDecimal = 0.0 ; double heure,minute,seconde; heure = ra[0]; minute = ra[1]; seconde = ra[2]; ra2DegreeDecimal = (heure*15.0 + minute*15/60.0 + seconde*15/3600.0) ; return ra2DegreeDecimal; } public static double rightAscensionToRadian(int val[]){ return Math.toRadians( rightAscensionToDegreeDecimal(val) ); } public static double coordonneeToDegreeDecimal(int val[]){ double decDegreeDecimal=0.0; double degree,minute,seconde ; degree = val[0]; minute = val[1]; seconde = val[2]; decDegreeDecimal = degree + minute/60.0 + seconde/3600.0 ; return decDegreeDecimal; } public static double coordonneeToRadian(int val[]){ return Math.toRadians( coordonneeToDegreeDecimal(val) ); } public static double degtoradian(double angledeg){ double pi = 3.141592653589793238462 ; double resultat = 0.0; // pi * (angle en degré) / 180 resultat = (pi * angledeg) / 180.0 ; return resultat; } public static double[] altazToRaDEc(int[] dateTU, int[] heureTU, double lat , double longi, double alt, double az){ double[] rd = {0,0}; /* * http://groups.google.com/group/sara-list/browse_thread/thread/d62b27bf7df04a85?pli=1 sin DEC = sin LAT sin ALT + cos LAT cos ALT cos AZ cos H = (sin ALT - sin DEC sin LAT)/(cos DEC cos LAT) The arc cos function may be used to find H. H = LST - RA therefore RA = LST - H */ // 1 => sin DEC = sin LAT sin ALT + cos LAT cos ALT cos AZ if (alt==90) alt = 89.99; if(lat ==90) lat = 89.99; double sinDec =0; double sinLat = Math.sin( Math.toRadians(lat) ) ; double sinAlt = Math.sin( Math.toRadians(alt) ) ; double cosLat = Math.cos( Math.toRadians(lat) ) ; double cosAlt = Math.cos( Math.toRadians(alt) ) ; double cosAz = Math.cos( Math.toRadians(az) ) ; //if(az<180) cosAz = -1 * cosAz; sinDec = (sinLat * sinAlt) + (cosLat * cosAlt * cosAz); double decRadian = Math.asin(sinDec); //2=> cos H = (sin ALT - sin DEC sin LAT)/(cos DEC cos LAT) double cosDec = Math.cos(decRadian); double cosH = (sinAlt - sinDec * sinLat) / (cosDec * cosLat); Double H = Math.acos(cosH); if(az<180) H = -1 * H; double lstDegree = toAngleHoraireDegree(dateTU, heureTU, 0, longi); // en mettant RA a 0 j ai le LST; double RAdegree = lstDegree - Math.toDegrees(H); double decDegree = Math.toDegrees(decRadian); rd[0]=RAdegree; rd[1]=decDegree; return rd; } public static double[] hauteurAzimutDegree(int[] dateTU, int[] heureTU, double ra, double dec, double lat , double longi){ // correction de la precession sur ra et dec double[] radecCorriger = RaDecPrecession(dateTU[0], ra, dec); ra = radecCorriger[0]; dec = radecCorriger[1]; double angleHoraireDegre = toAngleHoraireDegree(dateTU, heureTU, ra, longi); double sinDec = Math.sin( (float) degtoradian(dec) ); double sinLat = Math.sin( (float) degtoradian(lat)); double cosDec = Math.cos( (float) degtoradian(dec) ); double cosLat = Math.cos( (float) degtoradian(lat)); double cosHA = Math.cos( (float) degtoradian(angleHoraireDegre) ); double sinHA = Math.sin( (float) degtoradian(angleHoraireDegre) ); double hauteur; double azimuth; double cosazimuth = 0.0; double sinHauteur = 0.0; double cosHauteur = 0.0; sinHauteur = (sinDec * sinLat) + ( cosDec * cosLat * cosHA ); hauteur = Math.asin(sinHauteur); cosHauteur = Math.cos(hauteur); cosazimuth =(sinDec - sinHauteur * sinLat) / (cosHauteur * cosLat) ; if ( sinHA< 0){ azimuth = Math.acos(cosazimuth); azimuth = Math.toDegrees(azimuth); }else {azimuth =360- Math.toDegrees( Math.acos(cosazimuth) );} hauteur = Math.toDegrees(hauteur); // azimuth = Math.toDegrees(azimuth); double[] altAz ={hauteur,azimuth,angleHoraireDegre}; return altAz; } public static double calculateDifferenceBetweenAngles(double firstAngleDegree, double secondAngleDegree) { double difference = secondAngleDegree - firstAngleDegree; while (difference < -180) difference += 360; while (difference > 180) difference -= 360; return difference; } public static double[] RaDecPrecession(int year, double ra,double dec){ double[] RaDec = {0,0}; int deltaAnnee = year - 2000; // methode simplifier page 124 astronomical algorithme //Log.i(" xxxx ","ra: "+ra+" dec:"+dec+" year: "+year); double m = 3.075 ; // en seconde double n = 20.04 ; // en seconde degree double deltaRa = m + n * Math.sin( Math.toRadians(ra) ) * Math.tan( Math.toRadians(dec) ); double deltaDec = n * Math.cos( Math.toRadians(ra) ); ra = ra + (deltaRa * deltaAnnee)/3600.0; dec = dec + (deltaDec * deltaAnnee)/3600.0; //Log.i("yyyy ","ra: "+ra+" dec:"+dec); RaDec[0]=ra; RaDec[1]=dec; return RaDec; } }
  8. airconone

    Calculer coordonnées objet ?

    Bonjour si ca t interresse je peux te filer ma Class JAva que j'utilise pour ce genre de calcul.
  9. airconone

    le PDA peut il remplacer un PC?

    Et Steeve qui a pompé sur rank xerox.
  10. airconone

    Astro tools sur Android (gratos)

    Si jamais tu passe ton S2 sous Ice Scream, tu pourra me dire si ca marche toujours :-) Merci raf
  11. airconone

    Astro tools sur Android (gratos)

    Si tu as une question n’hésite pas, je me ferais un plaisir de répondre .
  12. airconone

    Pour se detendre

    Bonjour Un petit jeux sympas ou vous devez construire votre fusée...... je vous donne le lien du topic sur canard PC http://forum.canardpc.com/threads/63350-Kerbal-Space-Program-avec-ce-jeu-on-se-mars-sien-%C3%A0-conqu%C3%A9rir-l-espace Le site des créateurs http://www.kerbalspaceprogram.com/
  13. airconone

    Polar Finder

    ben tu le jettes, ce n'est pas compatible avec ton smartphone android. Cherche sur le "market" polarisfinder.
  14. airconone

    Phénomène curieux

    A oui ça pourrai être ça, le cargo d'un coté et un autre morceau de l'autre.
  15. airconone

    Phénomène curieux

    Je ne suis tout seul ouf.. Je corrobore ta description, mais voir ces 2 points identiques en magnitude est quand meme curieux.