[prev in list] [next in list] [prev in thread] [next in thread]
List: kstars-devel
Subject: [Kstars-devel] KDE/kdeedu/kstars/kstars
From: Akarsh Simha <akarshsimha () gmail ! com>
Date: 2009-02-13 13:23:09
Message-ID: 1234531389.467925.1725.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 925528 by asimha:
+ Estimate diameters of coma, nucleus and tail of comets
+ Represent comets with the angular size corresponding to the coma.
Nuclear diameters and tail lengths are unused parameters at the
moment, until we get a better representation of the comet.
Many thanks to Jeamy Lee for pointing me to the sources of the
formulae.
CCMAIL: kstars-devel@kde.org
M +19 -0 kscomet.cpp
M +18 -0 kscomet.h
--- trunk/KDE/kdeedu/kstars/kstars/kscomet.cpp #925527:925528
@@ -81,6 +81,23 @@
return true;
}
+void KSComet::findPhysicalParameters() {
+ // Compute and store the estimated Physical size of the comet's coma, tail and \
nucleus + // References:
+ // * http://www.projectpluto.com/update7b.htm#comet_tail_formula [Project Pluto \
/ GUIDE] + // * http://articles.adsabs.harvard.edu//full/1978BAICz..29..103K/0000113.000.html \
[Kresak, 1978a, "Passages of comets and asteroids near the earth"] + NuclearSize = \
pow( 10, 2.1 - 0.2 * H ); + double mHelio = H + 2.5 * G * log10( rsun() );
+ double L0, D0, L, D;
+ L0 = pow( 10, -0.0075 * mHelio * mHelio - 0.19 * mHelio + 2.10 );
+ D0 = pow( 10, -0.0033 * mHelio * mHelio - 0.07 * mHelio + 3.25 );
+ L = L0 * ( 1 - pow( 10, -4 * rsun() ) ) * ( 1 - pow( 10, -2 * rsun() ) );
+ D = D0 * ( 1 - pow( 10, -2 * rsun() ) ) * ( 1 - pow( 10, -rsun() ) );
+ TailLength = L * 1e6;
+ ComaSize = D * 1e3;
+ setPhysicalSize( ComaSize );
+}
+
bool KSComet::findGeocentricPosition( const KSNumbers *num, const KSPlanetBase \
*Earth ) { double v(0.0), r(0.0);
@@ -177,6 +194,8 @@
nutate( num );
aberrate( num );
+ findPhysicalParameters();
+
return true;
}
--- trunk/KDE/kdeedu/kstars/kstars/kscomet.h #925527:925528
@@ -111,7 +111,17 @@
*/
inline float getAbsoluteMagnitude() { return H; }
+ /**
+ *@return the estimated tail length in km
+ */
+ inline float getTailLength() { return TailLength; }
+ /**
+ *@return the estimated diameter of the nucleus in km
+ */
+ inline float getNuclearSize() { return NuclearSize; }
+
+
protected:
/**Calculate the geocentric RA, Dec coordinates of the Comet.
*@note reimplemented from KSPlanetBase
@@ -121,10 +131,18 @@
*/
virtual bool findGeocentricPosition( const KSNumbers *num, const KSPlanetBase \
*Earth=NULL );
+ /**
+ *@short Estimate physical parameters of the comet such as coma size, tail \
length and size of the nucleus + *@note invoked from findGeocentricPosition in \
order + */
+ void findPhysicalParameters();
+
+
private:
KStarsData *kd;
long double JD, JDp;
double q, e, a, P;
+ double TailLength, ComaSize, NuclearSize; // All in kilometres
float H, G;
dms i, w, N;
_______________________________________________
Kstars-devel mailing list
Kstars-devel@kde.org
https://mail.kde.org/mailman/listinfo/kstars-devel
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic