Jump to content

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

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. 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. AMARSISSAGE , ça écorche les oreilles. Lune Alunissage Titan Atitanissage Venus Avénussage Europa Aeuropaéssage Mercur amercurage Je continue ??
  3. Et tout ça ? , tout seule !! :-) , bravo bonne continuation.
  4. Bon je viens de vérifier ton code PHP, tu utilise la DATE PC. tu oublie de passer l heure en TU.
  5. 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é :-)
  6. // 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; } }
  7. Bonjour si ca t interresse je peux te filer ma Class JAva que j'utilise pour ce genre de calcul.
  8. Et Steeve qui a pompé sur rank xerox.
  9. Si jamais tu passe ton S2 sous Ice Scream, tu pourra me dire si ca marche toujours :-) Merci raf
  10. Si tu as une question n’hésite pas, je me ferais un plaisir de répondre .
  11. 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/
  12. airconone

    Polar Finder

    ben tu le jettes, ce n'est pas compatible avec ton smartphone android. Cherche sur le "market" polarisfinder.
  13. A oui ça pourrai être ça, le cargo d'un coté et un autre morceau de l'autre.
  14. Je ne suis tout seul ouf.. Je corrobore ta description, mais voir ces 2 points identiques en magnitude est quand meme curieux.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.