亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? cearth.cpp

?? 計算地球或橢圓體中兩點距離的程序
?? CPP
?? 第 1 頁 / 共 3 頁
字號:
void CEarth::m_ComputeFlattening( void )
{
   if ( m_EquatorialRadiusInMeters == 0.0 || m_PolarRadiusInMeters == 0.0 )
   {
      return;
   }

   m_Flattening = CMath::AbsoluteValue( m_EquatorialRadiusInMeters - m_PolarRadiusInMeters ) / m_EquatorialRadiusInMeters;
   //printf( "Flattening = %.23lf\n", m_Flattening );
}

void CEarth::m_Initialize( void )
{
   m_EllipsoidID              = 0;
   m_PolarRadiusInMeters      = 0.0;
   m_EquatorialRadiusInMeters = 0.0;
   m_Flattening               = 0.0;
   m_EccentricitySquared      = 0.0;
}

void CEarth::SetEllipsoid( int ellipsoid_identifier )
{
   m_EllipsoidID = ellipsoid_identifier;

   switch( ellipsoid_identifier )
   {
      case Perfect_Sphere:

         m_EquatorialRadiusInMeters = 6378137.0;
         m_PolarRadiusInMeters      = 6378137.0;

         break;

      case Airy:

         m_EquatorialRadiusInMeters = 6377563.396;
         m_PolarRadiusInMeters      = 6356256.909237;

         break;

      case Austrailian_National:

         m_EquatorialRadiusInMeters = 6378160.0;
         m_PolarRadiusInMeters      = 6356774.719195;

         break;

      case Bessell_1841:

         m_EquatorialRadiusInMeters = 6377397.155;
         m_PolarRadiusInMeters      = 6356078.962818;

         break;

      case Bessel_1841_Nambia:

         m_EquatorialRadiusInMeters = 6377483.865;
         m_PolarRadiusInMeters      = 6356165.382966;

         break;

      case Clarke_1866:

         m_EquatorialRadiusInMeters = 6378206.4;
         m_PolarRadiusInMeters      = 6356583.799999;

         break;

      case Clarke_1880:

         m_EquatorialRadiusInMeters = 6378249.145;
         m_PolarRadiusInMeters      = 6356514.86955;

         break;

      case Everest:

         m_EquatorialRadiusInMeters = 6377276.345;
         m_PolarRadiusInMeters      = 6356075.41314;

         break;

      case Fischer_1960_Mercury:

         m_EquatorialRadiusInMeters = 6378166.0;
         m_PolarRadiusInMeters      = 6356784.283607;

         break;

      case Fischer_1968:

         m_EquatorialRadiusInMeters = 6378150.0;
         m_PolarRadiusInMeters      = 6356768.337244;

         break;

      case GRS_1967:

         m_EquatorialRadiusInMeters = 6378160.0;
         m_PolarRadiusInMeters      = 6356774.516091;

         break;

      case GRS_1980:

         m_EquatorialRadiusInMeters = 6378137.0;
         m_PolarRadiusInMeters      = 6356752.31414;

         break;

      case Helmert_1906:

         m_EquatorialRadiusInMeters = 6378200.0;
         m_PolarRadiusInMeters      = 6356818.169628;

         break;

      case Hough:

         m_EquatorialRadiusInMeters = 6378270.0;
         m_PolarRadiusInMeters      = 6356794.343434;

         break;

      case International:

         m_EquatorialRadiusInMeters = 6378388.0;
         m_PolarRadiusInMeters      = 6356911.946128;

         break;

      case Krassovsky:

         m_EquatorialRadiusInMeters = 6378245.0;
         m_PolarRadiusInMeters      = 6356863.018773;

         break;

      case Modified_Airy:

         m_EquatorialRadiusInMeters = 6377340.189;
         m_PolarRadiusInMeters      = 6356034.447939;

         break;

      case Modified_Everest:

         m_EquatorialRadiusInMeters = 6377304.063;
         m_PolarRadiusInMeters      = 6356103.038993;

         break;

      case Modified_Fischer_1960:

         m_EquatorialRadiusInMeters = 6378155.0;
         m_PolarRadiusInMeters      = 6356773.320483;

         break;

      case South_American_1969:

         m_EquatorialRadiusInMeters = 6378160.0;
         m_PolarRadiusInMeters      = 6356774.719195;

         break;

      case Topex_Poseidon_Pathfinder_ITRF: // Source is http://neptune.gsfc.nasa.gov/~krachlin/corr/refframe.html

         m_EquatorialRadiusInMeters = 6378136.3;
         m_PolarRadiusInMeters      = 6356751.6005629376;

         break;

      case WGS_60:

         m_EquatorialRadiusInMeters = 6378165.0;
         m_PolarRadiusInMeters      = 6356783.286959;

         break;

      case WGS_66:

         m_EquatorialRadiusInMeters = 6378145.0;
         m_PolarRadiusInMeters      = 6356759.769489;

         break;

      case WGS_72:

         m_EquatorialRadiusInMeters = 6378135.0;
         m_PolarRadiusInMeters      = 6356750.520016;

         break;

      case WGS_84:

         // Computed polar radius from the flattening value specified at
         // http://acro.harvard.edu/SSA/BGA/wg84figs.html
         // because it had the most digits after the decimal point.

         m_EquatorialRadiusInMeters = 6378137.0;
         m_PolarRadiusInMeters      = 6356752.3142451793;

         break;

      case Unknown:
      default:

         m_EllipsoidID = Unknown;

         m_Initialize();
         return;
   }

   m_ComputeFlattening();
   m_ComputeEccentricitySquared();
}

void CEarth::SetEllipsoidByRadii( double equatorial_radius, double polar_radius )
{
   m_EquatorialRadiusInMeters = equatorial_radius;
   m_PolarRadiusInMeters      = polar_radius;
   m_EllipsoidID              = Custom;

   m_ComputeFlattening();
   m_ComputeEccentricitySquared();
}

void CEarth::SetEllipsoidByEquatorialRadiusAndFlattening( double equatorial_radius, double flattening )
{
   m_EquatorialRadiusInMeters = equatorial_radius;
   m_Flattening               = flattening;
   m_EllipsoidID              = Custom;

   // We must compute the polar radius

   double temp_double = m_Flattening * m_EquatorialRadiusInMeters;

   m_PolarRadiusInMeters = m_EquatorialRadiusInMeters - temp_double;

   m_ComputeEccentricitySquared();
}
#if 0
<WFC_DOCUMENTATION>
<HTML>
<HEAD><TITLE>GFC - CEarth</TITLE></HEAD>
<BODY>
<H1>CEarth</H1>
$Revision: 11 $
<HR>
<H2>Description</H2>
This class encapsulates the Earth. It holds the data necessary to perform the
calculations of distance and direction. The Earth is not a perfect sphere.
It is an ellipsoid (flattened at the top and bottom). All angles are expressed
in degrees and all distances are expressed in meters.
<H2>Methods</H2>
<DL COMPACT>
<DT><PRE>void <B>AddLineOfSightDistanceAndDirectionToCoordinate</B>( const <A HREF="CPolarCoordinate.htm">CPolarCoordinate</A>& point_1, double distance, double direction, <A HREF="CPolarCoordinate.htm">CPolarCoordinate</A>& point_2, double height_above_surface_of_point_2 = 0.0 )</PRE><DD>
If you were to shine a laser from <CODE>point_1</CODE> pointing towards <CODE>direction</CODE>
for <CODE>distance</CODE> meters, this function will tell you what location you would
be at. It will also let you specify a point <CODE>height_above_surface_of_point_2</CODE>
meters above the surface. This method does not take into account the curvature of
the Earth.
<DT><PRE>void <B>AddSurfaceDistanceAndDirectionToCoordinate</B>( const <A HREF="CEarthCoordinate.htm">CEarthCoordinate</A>& point_1, double distance, double direction, <A HREF="CEarthCoordinate.htm">CEarthCoordinate</A>& point_2 )
void <B>AddSurfaceDistanceAndDirectionToCoordinate</B>( const <A HREF="CEarthCoordinate.htm">CEarthCoordinate</A>& point_1, double distance, double direction, <A HREF="CPolarCoordinate.htm">CPolarCoordinate</A>& point_2 )
void <B>AddSurfaceDistanceAndDirectionToCoordinate</B>( const <A HREF="CPolarCoordinate.htm">CPolarCoordinate</A>& point_1, double distance, double direction, <A HREF="CEarthCoordinate.htm">CEarthCoordinate</A>& point_2 )
void <B>AddSurfaceDistanceAndDirectionToCoordinate</B>( const <A HREF="CPolarCoordinate.htm">CPolarCoordinate</A>& point_1, double distance, double direction, <A HREF="CPolarCoordinate.htm">CPolarCoordinate</A>& point_2 )</PRE><DD>
This allows you to add a distance over the surface of the Earth to a location and
get a new location. It answers the question &quot;If I head out in this direction
for that amout of meters, where will I be?&quot;
<DT><PRE>void <B>Convert</B>( const <A HREF="CEarthCoordinate.htm">CEarthCoordinate</A>& cartesian_coordinate, <A HREF="CPolarCoordinate.htm">CPolarCoordinate</A>& polar_coordinate ) const
void <B>Convert</B>( const <A HREF="CPolarCoordinate.htm">CPolarCoordinate</A>& polar_coordinate, <A HREF="CEarthCoordinate.htm">CEarthCoordinate</A>& cartesian_coordinate ) const</PRE><DD>
This method allows you to convert from polar and cartestian coordinates.
<DT><PRE>double <B>GetDistanceToHorizon</B>( const <A HREF="CEarthCoordinate.htm">CEarthCoordinate</A>& point_1 ) const
double <B>GetDistanceToHorizon</B>( const <A HREF="CPolarCoordinate.htm">CPolarCoordinate</A>& point_1 ) const</PRE><DD>
This tells you how far (in meters) from the horizon <CODE>point_1</CODE> is.
<DT><PRE>double <B>GetEquatorialRadiusInMeters</B>( void ) const</PRE><DD>
This tells you what the equatorial radius is in meters for the selected ellipsoid.
<DT><PRE>double <B>GetPolarRadiusInMeters</B>( void ) const</PRE><DD>
This tells you what the polar radius is in meters for the selected ellipsoid.
<DT><PRE>double <B>GetLineOfSightDistanceFromCourse</B>( const <A HREF="CEarthCoordinate.htm">CEarthCoordinate</A>& current_location, const <A HREF="CEarthCoordinate.htm">CEarthCoordinate</A>& point_a, const <A HREF="CEarthCoordinate.htm">CEarthCoordinate</A>& point_b ) const</PRE><DD>
Draw a line from <CODE>point_a</CODE> to <CODE>point_b</CODE>. This function will tell
you how far <CODE>current_location</CODE> is from that line.
<DT><PRE>double <B>GetLineOfSightDistance</B>( const <A HREF="CEarthCoordinate.htm">CEarthCoordinate</A>& point_1, const <A HREF="CEarthCoordinate.htm">CEarthCoordinate</A>& point_2 ) const
double <B>GetLineOfSightDistance</B>( const <A HREF="CPolarCoordinate.htm">CPolarCoordinate</A>& point_1, const <A HREF="CEarthCoordinate.htm">CEarthCoordinate</A>& point_2 ) const
double <B>GetLineOfSightDistance</B>( const <A HREF="CEarthCoordinate.htm">CEarthCoordinate</A>& point_1, const <A HREF="CPolarCoordinate.htm">CPolarCoordinate</A>& point_2 ) const
double <B>GetLineOfSightDistance</B>( const <A HREF="CPolarCoordinate.htm">CPolarCoordinate</A>& point_1, const <A HREF="CPolarCoordinate.htm">CPolarCoordinate</A>& point_2 ) const</PRE><DD>
This will tell you how many meters it is between two points. It answers the question, &quot;If I
pointed a laser from <CODE>point_1</CODE> to <CODE>point_2</CODE>, how far would the
laser beam travel?&quot;
<DT><PRE>double <B>GetSurfaceDistance</B>( const <A HREF="CEarthCoordinate.htm">CEarthCoordinate</A>& point_1, const <A HREF="CEarthCoordinate.htm">CEarthCoordinate</A>& point_2, double * heading_from_point_1_to_point_2 = 0, double * heading_from_point_2_to_point_1 = 0 ) const
double <B>GetSurfaceDistance</B>( const <A HREF="CEarthCoordinate.htm">CEarthCoordinate</A>& point_1, const <A HREF="CPolarCoordinate.htm">CPolarCoordinate</A>& point_2, double * heading_from_point_1_to_point_2 = 0, double * heading_from_point_2_to_point_1 = 0 ) const
double <B>GetSurfaceDistance</B>( const <A HREF="CPolarCoordinate.htm">CPolarCoordinate</A>& point_1, const <A HREF="CEarthCoordinate.htm">CEarthCoordinate</A>& point_2, double * heading_from_point_1_to_point_2 = 0, double * heading_from_point_2_to_point_1 = 0 ) const
double <B>GetSurfaceDistance</B>( const <A HREF="CPolarCoordinate.htm">CPolarCoordinate</A>& point_1, const <A HREF="CPolarCoordinate.htm">CPolarCoordinate</A>& point_2, double * heading_from_point_1_to_point_2 = 0, double * heading_from_point_2_to_point_1 = 0 ) const</PRE><DD>
This will tell you how many meters it is between two points. It answers the question, &quot;If I
were to walk from <CODE>point_1</CODE> to <CODE>point_2</CODE>, how far would I walk?&quot;
<DT><PRE>void <B>SetEllipsoid</B>( int ellipsoid )</PRE><DD>
This allows you to set the ellipsoid used by <B>CEarth</B> in its calculations. The
default is <CODE>WGS84</CODE> which is generally accepted as being the closest
approximation of the Earth's ellipsoid. The <CODE>ellipsoid</CODE> parameter
may be one of the following:
<UL>
<LI>Perfect_Sphere
<LI>Airy,
<LI>Austrailian_National,
<LI>Bessell_1841,
<LI>Bessel_1841_Nambia,
<LI>Clarke_1866,
<LI>Clarke_1880,
<LI>Everest,
<LI>Fischer_1960_Mercury,
<LI>Fischer_1968,
<LI>GRS_1967,
<LI>GRS_1980,
<LI>Helmert_1906,
<LI>Hough,
<LI>International,
<LI>Krassovsky,
<LI>Modified_Airy,
<LI>Modified_Everest,
<LI>Modified_Fischer_1960,
<LI>South_American_1969,
<LI>Topex_Poseidon_Pathfinder_ITRF,
<LI>WGS_60,
<LI>WGS_66,
<LI>WGS_72,
<LI>WGS_84
<LI>NAD_27
<LI>Tokyo
</UL>
<DT><PRE>void <B>SetEllipsoidByRadii</B>( double equatorial_radius, double polar_radius )</PRE><DD>
This let's you use your own (custom) values to describe the ellipsoid of the Earth.
<DT><PRE>void <B>SetEllipsoidByEquatorialRadiusAndFlattening</B>( double equatorial_radius, double flattening )</PRE><DD>
This let's you use your own (custom) values to describe the ellipsoid of the Earth.
</DL>
<H2>Example</H2>
<PRE><CODE>#include &lt;stdio.h&gt;
#include &lt;GFC.h&gt;
#pragma hdrstop

void main( void )
{
   // Let's figure out how far it is from here to there

   CPolarCoordinate here;
   CPolarCoordinate there;

   // Convert from Latitude/Longitude to coordinates our system understands

   // here is 39 degrees 12.152 minutes North Latitude, 76 degrees 46.795 minutes West Longitude
   here.SetUpDownAngleInDegrees(     CMath::ConvertDegreesMinutesSecondsCoordinateToDecimalDegrees(  39.0, 12.152, 0.0 ) );
   here.SetLeftRightAngleInDegrees(  CMath::ConvertDegreesMinutesSecondsCoordinateToDecimalDegrees( -76.0, 46.795, 0.0 ) );

   // there is 12 degrees 8.535 minutes North Latitude, 68 degrees 16.547 West Longitude
   there.SetUpDownAngleInDegrees(    CMath::ConvertDegreesMinutesSecondsCoordinateToDecimalDegrees(  12.0,  8.535, 0.0 ) );
   there.SetLeftRightAngleInDegrees( CMath::ConvertDegreesMinutesSecondsCoordinateToDecimalDegrees( -68.0, 16.547, 0.0 ) );

   <B>CEarth</B> earth; // We are talking about the earth...

   double distance_in_meters         = 0.0;
   double heading_from_here_to_there = 0.0;
   double heading_from_there_to_here = 0.0;

   distance_in_meters = earth.GetSurfaceDistance( here, there, &heading_from_here_to_there, &heading_from_there_to_here );

   printf( &quot;Distance between here and there: %.23lf meters\nHeading from here to there:      %.19lf degrees\nHeading from there to here:      %.19lf degrees\n&quot;,
           distance_in_meters,
           heading_from_here_to_there,
           heading_from_there_to_here );

   double degrees = 0.0;
   double minutes = 0.0;
   double seconds = 0.0;

   CMath::ConvertDecimalDegreesToDegreesMinutesSeconds( heading_from_here_to_there, degrees, minutes, seconds );
   printf( &quot;Heading %lf degrees, %lf minutes, %lf seconds\n&quot;, degrees, minutes, seconds );

   CMath::ConvertDecimalDegreesToDegreesMinutesSeconds( heading_from_there_to_here, degrees, minutes, seconds );
   printf( &quot;Heading %lf degrees, %lf minutes, %lf seconds\n&quot;, degrees, minutes, seconds );
}</CODE></PRE>
<I>Copyright, 1998, Samuel R. Blackburn</I><BR>
$Workfile: CEarth.cpp $<BR>
$Modtime: 9/01/98 9:56p $
</BODY>
</HTML>
</WFC_DOCUMENTATION>
ToolTipFormatLine=CEarth=m_EllipsoidID=<m_EllipsoidID>
#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区四区精品在线视频| 日本sm残虐另类| 亚洲综合一二三区| 欧美一区二区三区不卡| 制服丝袜国产精品| 国内精品久久久久影院一蜜桃| 国产成人精品网址| 欧美性xxxxxxxx| 26uuu另类欧美亚洲曰本| 自拍视频在线观看一区二区| 亚洲已满18点击进入久久| 精品中文字幕一区二区小辣椒| 91老师片黄在线观看| 欧美一区二区视频在线观看| 综合在线观看色| 国产盗摄一区二区三区| 欧美人成免费网站| 中文字幕一区日韩精品欧美| 亚洲v中文字幕| 99天天综合性| 欧美国产精品久久| 日韩不卡在线观看日韩不卡视频| av综合在线播放| 欧美精品一区二| 蜜臀久久99精品久久久久久9| 色偷偷久久人人79超碰人人澡| 中文字幕欧美国产| 国产馆精品极品| 国产欧美日韩视频一区二区 | 久久99久久99小草精品免视看| 欧美亚男人的天堂| 亚洲欧美激情插 | 国产欧美精品一区| 丁香婷婷综合激情五月色| 久久精品视频网| 国产超碰在线一区| 男男视频亚洲欧美| 久久美女高清视频| 国产精品亚洲成人| 国产精品伦理在线| 欧美不卡在线视频| 国产酒店精品激情| 国产精品美女久久久久久| 欧美在线综合视频| 免费在线成人网| 日韩三级视频中文字幕| 国产精品一区久久久久| 一区二区国产盗摄色噜噜| 欧美日韩国产三级| 久久91精品久久久久久秒播| 亚洲三级免费观看| 欧美成人a视频| 在线免费观看日本欧美| 韩国精品一区二区| 亚洲电影在线免费观看| 欧美激情一区二区三区蜜桃视频 | 亚洲一区二区三区四区在线| 欧美日韩国产三级| 99久久精品国产网站| 国产一区二区主播在线| 亚洲va欧美va人人爽| 国产丝袜美腿一区二区三区| 欧美日韩视频在线第一区| 国产成人小视频| 亚洲一区二区三区三| 国产精品久久久久久久久久免费看| 91麻豆精品国产91久久久更新时间| 爽爽淫人综合网网站| 国产精品久久久久婷婷| 91精品婷婷国产综合久久竹菊| 国产99久久久国产精品免费看| 免费日本视频一区| 日韩影院免费视频| 夜夜嗨av一区二区三区| 亚洲免费观看高清完整版在线观看熊 | 日韩精品91亚洲二区在线观看| 一卡二卡三卡日韩欧美| 一区二区三区中文免费| 亚洲欧洲精品一区二区三区不卡| 国产欧美日韩在线看| 亚洲欧洲99久久| 一区二区久久久久| 亚欧色一区w666天堂| 日本欧美一区二区三区乱码| 日本美女一区二区三区| 美日韩一区二区三区| 亚洲动漫第一页| 久久精品国产秦先生| 国产精品99久| 日本精品一区二区三区高清| 欧美色国产精品| 久久久久久久久久电影| 亚洲图片激情小说| 午夜精品aaa| 99精品欧美一区二区三区小说 | 毛片基地黄久久久久久天堂| 国产91精品免费| 精品视频在线免费| 国产女人水真多18毛片18精品视频| 国产精品女同一区二区三区| 亚洲一区二区视频| 国产成人综合网| 欧美一区二区三区免费大片| 亚洲人成精品久久久久| 国产又黄又大久久| 在线看日韩精品电影| 中文一区在线播放| 美女免费视频一区二区| 欧美色电影在线| 国产精品乱码人人做人人爱| 美美哒免费高清在线观看视频一区二区 | 911国产精品| 一区二区在线免费观看| 成人免费高清在线| 国产女人水真多18毛片18精品视频| 欧美a一区二区| 日韩视频国产视频| 韩国三级中文字幕hd久久精品| 欧美精品九九99久久| 亚洲成人av一区二区| 欧美日韩黄视频| 同产精品九九九| 日韩一二三区视频| 日韩激情视频在线观看| 欧美一级一区二区| 久久精品国产成人一区二区三区| 日韩一二三四区| 国产精品影视在线观看| 中文字幕一区二区三区四区不卡| 成av人片一区二区| 亚洲国产美女搞黄色| 91精品国产综合久久久蜜臀图片 | 欧美日韩国产天堂| 国产精品成人午夜| 日本一区二区在线不卡| 国产精品白丝jk黑袜喷水| 亚洲欧美在线aaa| 欧美日韩高清不卡| 国产一区二区三区在线观看免费| 亚洲一区免费在线观看| 3751色影院一区二区三区| 国产综合色精品一区二区三区| 日韩免费看的电影| 波多野结衣亚洲一区| 理论电影国产精品| 一区二区三区免费网站| 精品国产乱子伦一区| 欧美一区二区女人| 成人av网站大全| 美女爽到高潮91| 亚洲不卡av一区二区三区| 久久精品在线免费观看| 国产日产欧美一区| 成人影视亚洲图片在线| 爽爽淫人综合网网站| 亚洲精品免费在线观看| 欧美激情一区三区| 精品电影一区二区| 欧美日韩国产小视频| 欧美精品亚洲二区| 91美女片黄在线| 91影院在线免费观看| 国内精品伊人久久久久av影院 | 国产盗摄女厕一区二区三区| 婷婷丁香久久五月婷婷| 视频在线观看国产精品| 一区二区三区美女| 亚洲国产精品自拍| 亚洲国产精品视频| 丝袜脚交一区二区| 日本vs亚洲vs韩国一区三区| 日韩av在线免费观看不卡| 久久激情五月激情| 国产一区久久久| 一本大道av伊人久久综合| 欧美日韩精品一区二区在线播放| 在线精品视频小说1| 欧美一区二区视频在线观看2022| 欧美成人精品高清在线播放| 国产日韩欧美激情| 亚洲国产成人91porn| 久久99精品一区二区三区三区| 国产ts人妖一区二区| 99精品国产99久久久久久白柏| 欧美日韩国产中文| 国产农村妇女毛片精品久久麻豆| 亚洲精品亚洲人成人网| 国产自产2019最新不卡| 91久久国产最好的精华液| 日韩欧美高清一区| 一区二区免费看| 国产成人av资源| 欧美一级理论性理论a| 亚洲欧美偷拍三级| 国产69精品久久久久毛片 | 麻豆久久久久久久| 欧美三片在线视频观看| 国产精品美女久久福利网站| 免费在线观看视频一区| 欧美午夜视频网站|