• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>


            May the force be with you!
            posts - 52,  comments - 33,  trackbacks - 0

            這么簡單的幾何題居然讓我WA了3次,果然一日不編程即手生矣...
            要點(diǎn): (1)   經(jīng)緯度->球面坐標(biāo)->直角坐標(biāo)
                   (2)   求的是球面距離
                   (3)   計(jì)算大圓圓心角的時候,要注意三角形不是以R=6370為腰的等腰三角形,而是以A,B,O三點(diǎn)各自距離為邊的三角形
                   (4)   計(jì)算圓心角時用點(diǎn)乘會方便很多(還是看到Feli的才發(fā)現(xiàn),誒)
                                                            2007.10.25
                                                             Simbaforrest
             1 #include<stdio.h>
             2 #include<math.h>
             3 const double R=6370;
             4 const double pi=3.14159265358979323846264338327950;
             5 typedef struct tagAngle
             6 {
             7     double d,m;
             8     double ang;
             9     char s[20];
            10 }Angle;
            11 typedef struct tagPoint
            12 {
            13     Angle a,b;
            14     double x,y,z;
            15 }Point;
            16 
            17 Point self,dest;
            18 
            19 void change(Point &pt)
            20 {
            21     pt.a.ang=pt.a.d+pt.a.m/60;
            22     pt.b.ang=pt.b.d+pt.b.m/60;
            23     //change lat
            24     if(pt.a.s[0]=='N')
            25     {
            26         pt.a.ang=90-pt.a.ang;
            27     }
            28     else
            29     {
            30         pt.a.ang+=90;
            31     }
            32     //change lot;
            33     if(pt.b.s[0]=='W')
            34     {
            35         pt.b.ang=360-pt.b.ang;
            36     }
            37     pt.z=R*cos(pt.a.ang*pi/180);
            38     pt.x=R*sin(pt.a.ang*pi/180)*cos(pt.b.ang*pi/180);
            39     pt.y=R*sin(pt.a.ang*pi/180)*sin(pt.b.ang*pi/180);
            40 }
            41 
            42 bool init()
            43 {
            44     if(scanf("%lf",&self.a.d)!=EOF)
            45     {
            46         scanf("%lf%s%lf%lf%s",&self.a.m,self.a.s,&self.b.d,&self.b.m,self.b.s);
            47         change(self);
            48         scanf("%lf%lf%s%lf%lf%s",&dest.a.d,&dest.a.m,dest.a.s,&dest.b.d,&dest.b.m,dest.b.s);
            49         change(dest);
            50         return 1;
            51     }
            52     return 0;
            53 }
            54 
            55 double dist(Point a)
            56 {
            57     return sqrt( (a.x)*(a.x)+(a.y)*(a.y)+(a.z)*(a.z) );
            58 }
            59 
            60 double cross(Point a,Point b)
            61 {
            62     return (a.x*b.x+a.y*b.y+a.z*b.z);
            63 }
            64 
            65 void solve()
            66 {
            67     double ans,thita;
            68     thita=acos( (cross(self,dest))/dist(self)/dist(dest) );
            69     printf("%.3lf\n",R*thita);
            70 }
            71 
            72 int main()
            73 {
            74     while(init())
            75     {
            76         solve();
            77     }
            78     return 0;
            79 }
            80 

            posted on 2007-10-25 17:00 R2 閱讀(162) 評論(0)  編輯 收藏 引用

            只有注冊用戶登錄后才能發(fā)表評論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            你是第 free hit counter 位訪客




            <2007年10月>
            30123456
            78910111213
            14151617181920
            21222324252627
            28293031123
            45678910

            常用鏈接

            留言簿(4)

            隨筆分類(54)

            隨筆檔案(52)

            文章檔案(1)

            ACM/ICPC

            技術(shù)綜合

            最新隨筆

            搜索

            •  

            積分與排名

            • 積分 - 63675
            • 排名 - 358

            最新評論

            閱讀排行榜

            評論排行榜

            久久精品国产亚洲av日韩 | 久久天天躁狠狠躁夜夜躁2O2O| 久久久久无码中| 亚洲日本va中文字幕久久| 国内精品久久久久影院日本| 99麻豆久久久国产精品免费| 久久精品中文字幕一区| 久久久久久九九99精品| 国产一区二区精品久久凹凸| 欧美黑人激情性久久| 99久久亚洲综合精品网站| 欧美国产成人久久精品| 国产精品狼人久久久久影院 | 久久亚洲欧美国产精品| 国产亚州精品女人久久久久久| 97久久婷婷五月综合色d啪蜜芽| 国产亚洲成人久久| 久久久精品一区二区三区| 久久精品国产久精国产果冻传媒| 亚洲成色999久久网站| 亚洲AV无码久久| 久久久久久亚洲精品影院| 国产精品丝袜久久久久久不卡| 久久亚洲精品成人AV| 久久精品国产久精国产果冻传媒| 狠狠色综合久久久久尤物| .精品久久久麻豆国产精品| 色婷婷综合久久久久中文| 九九精品久久久久久噜噜| 亚洲精品美女久久久久99小说| 久久精品无码专区免费 | 一本一本久久aa综合精品| 久久性精品| 亚洲国产成人久久综合野外| 久久精品国产72国产精福利| 国产精品激情综合久久| 国产精品99久久久久久www| 久久996热精品xxxx| 思思久久99热免费精品6| 香蕉久久AⅤ一区二区三区| 久久男人AV资源网站|