• <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次,果然一日不編程即手生矣...
            要點: (1)   經緯度->球面坐標->直角坐標
                   (2)   求的是球面距離
                   (3)   計算大圓圓心角的時候,要注意三角形不是以R=6370為腰的等腰三角形,而是以A,B,O三點各自距離為邊的三角形
                   (4)   計算圓心角時用點乘會方便很多(還是看到Feli的才發現,誒)
                                                            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 閱讀(161) 評論(0)  編輯 收藏 引用
            你是第 free hit counter 位訪客




            <2008年2月>
            272829303112
            3456789
            10111213141516
            17181920212223
            2425262728291
            2345678

            常用鏈接

            留言簿(4)

            隨筆分類(54)

            隨筆檔案(52)

            文章檔案(1)

            ACM/ICPC

            技術綜合

            最新隨筆

            搜索

            •  

            積分與排名

            • 積分 - 63327
            • 排名 - 355

            最新評論

            閱讀排行榜

            評論排行榜

            亚洲国产成人久久综合一区77| www.久久热.com| 国产精品一区二区久久精品无码 | 99久久精品这里只有精品 | 欧美日韩精品久久久久| 亚洲另类欧美综合久久图片区| 亚洲人成无码网站久久99热国产| av色综合久久天堂av色综合在| 国产色综合久久无码有码| 久久久久亚洲av无码专区喷水 | 色综合久久88色综合天天 | 久久精品国产精品亚洲精品 | 一本久久a久久精品亚洲| 激情伊人五月天久久综合| 伊人热人久久中文字幕| 中文字幕无码久久人妻| 无码精品久久久天天影视| 九九久久99综合一区二区| 欧美久久综合九色综合| 久久99国产精品久久| 精品久久久久久久国产潘金莲| 久久人人爽人人爽人人片av高请 | 亚洲精品99久久久久中文字幕 | 国产欧美久久一区二区| 久久只这里是精品66| 99久久国产主播综合精品| 中文字幕无码精品亚洲资源网久久| 亚洲国产精品久久66| 99国产欧美精品久久久蜜芽| 综合久久一区二区三区| 国产精品99久久久久久董美香| 久久综合精品国产二区无码| 久久99热这里只有精品66| 一本久久a久久精品综合夜夜| 欧美牲交A欧牲交aⅴ久久| 亚洲乱码中文字幕久久孕妇黑人| 久久久久国产成人精品亚洲午夜| 久久久久夜夜夜精品国产| 久久国产精品久久久| 2021久久精品国产99国产精品| 无码人妻少妇久久中文字幕蜜桃|