根据空间4点坐标求球心坐标.doc

根据空间4点坐标求球心坐标.doc

ID:55917014

大小:58.94 KB

页数:6页

时间:2020-06-14

根据空间4点坐标求球心坐标.doc_第1页
根据空间4点坐标求球心坐标.doc_第2页
根据空间4点坐标求球心坐标.doc_第3页
根据空间4点坐标求球心坐标.doc_第4页
根据空间4点坐标求球心坐标.doc_第5页
资源描述:

《根据空间4点坐标求球心坐标.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、程序设计艺术与方法课程2012“达内杯”安徽省程序设计竞赛ProblemJ银河系5A风景区解题报告题目原文:Description巴尔坦星是个银河系中一个著名的观光景点,它之所有著名,是因为巴尔坦星有四颗卫星,而且四颗卫星距离巴尔坦星的距离都是一样的!某天,巴尔坦星上的居民们想知道自己星球所处的具体三维宇宙坐标,因为科技落后,巴尔坦星上的居民只有某个时刻测得的四颗卫星的坐标。现在请你写个程序帮可怜的巴尔坦星居民给自己的星球定下位吧。Input第一行是一个整数t,表示有t组测试数据。(t<=30)每组数

2、据占四行,表示四颗卫星的坐标。每行三个实数x,y,z表示该点的坐标为(x,y,z)。输入数据保证每组的数据都可以确定巴尔坦星,设巴尔坦星的坐标为(ox,oy,oz),每颗卫星到巴尔坦星的距离都是r。则以下不等式总是成立:-500<=ox,oy,oz<=500,500<=r<=1000。Output对于每组数据输出一行;"Case#k:xyz"。k表示第k组数据,x,y,z表示巴尔坦星的坐标(均保留到小数点后一位)。SampleInput11.1000.11.000.1-1.000.101.0Sampl

3、eOutputCase#1:0.10.00.0解题思路:本题本质上是一道空间解析几何题,其核心是利用三维空间中不共面的四个点的坐标来求球心坐标。我利用四个点到球心距离相等的性质,列出四个三元二次方程,再两两消去,得到三个三元一次方程,该方程组是一个线性非齐次方程组,利用系数行列式表示,并且运用克拉默法则,可以解出该方程组,方程组的解就是球心的坐标。算法:题中所要求坐标的星球有四颗卫星,可以对应空间中的四个点,因为知道四个卫星的坐标,所以已知这四个点的坐标,可设为A(x1,y1,z1)、B(x2,y2,

4、z2)、C(x3,y3,z3)、D(x4,y4,z4),设半径为r,球心O坐标为(x,y,z)。利用四点到球心距离相等的性质得到如下四个方程。(x-x1)2+(y-y1)2+(z-z1)2=r2;(x-x2)2+(y-y2)2+(z-z2)2=r2;(x-x3)2+(y-y3)2+(z-z3)2=r2;(x-x3)2+(y-y3)2+(z-z3)2=r2;展开得:x2+y2+z2-2(x1x+y1y+z1z)+x12+y12+z12=r2;x2+y2+z2-2(x2x+y2y+z2z)+x22+y22

5、+z22=r2;x2+y2+z2-2(x3x+y3y+z3z)+x32+y32+z32=r2;x2+y2+z2-2(x4x+y4y+z4z)+x42+y42+z42=r2;分别作-、-、-得:(x1-x2)x+(y1-y2)y+(z1-z2)z=12(x12-x22+y12-x22+z12-z22);(x3-x4)x+(y3-y4)y+(z3-z4)z=12(x32-x42+y32-x42+z32-z42);(x2-x3)x+(y2-y3)y+(z2-z3)z=12(x22-x32+y22-x32+z

6、22-z32);其对应的系数行列式可设为:D=abca1b1c1a2b2c2则a=(x1-x2),b=(y1-y2),c=(z1-z2)a1=(x3-x4),b1=(y3-y4),c1=(z3-z4);a2=(x2-x3),b2=(y2-y3),c2=(z2-z3);常数项行列式为:PQR则P=12(x12-x22+y12-x22+z12-z22);Q=12(x32-x42+y32-x42+z32-z42);R=12(x22-x32+y22-x32+z22-z32);现设Dx=PbcQb1c1Rb2c

7、2Dy=aPca1Qc1a2Rc2DZ=abPa1b1Qa2b2R由线性代数中的克拉默法则可知:x=Dx/D;y=Dy/D;z=Dz/D;由此即可解出三元一次方程组的解,所得解也就是空间四个点所在球的球心坐标。还原至题中亦即巴尔坦星的坐标。收获和分析:我的收获:在解决问题的过程中,我了解到了方法和知识的重要性,在解决问题的过程中采取合适的方法将事半功倍,而这需要我们平时不断地积累,善于使用专业课所学的知识;还有就是团队协作的能力得到了锻炼,本题的解答,是我和室友共同努力的结晶,是我们团队协作的成果。关

8、于题目的分析:解题过程中,我曾一度陷入僵局,早先就列出了三元一次方程组,却是利用高中时所学的代入法,解出了x,y,z的公式,但解出的公式却有一个致命伤,对输入的很多组测试数据,偶尔有使公式的分母出现0的情况,此时公式便失去了作用,即程序有bug,这个问题是公式法算法中迟迟无法解决的。而就本题而言,采用行列式的解法和克拉默法则后,只有当空间中的四点共面时才会出现无解的情况,而这时才会使系数行列式D值为0;通过数学我们知道,共面的四个点无法确定一个球,所以本

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。