《无线电测向》解题报告
http://www.mydrs.org 7/31/2001 大榕树
题目大意:
本题的大意是给出一个未知点(就是船的所在未知)所在一条直线(就是船的航向)的和坐标轴的夹角,以及两个已知点(就是灯塔)和位置点分别确定的一条直线和航向直线分别所成的角度,求未知点的坐标。
题意分析:

由于题目给出了两个已知点的坐标,未知点所在直线的角度,两个已知点各自所在一条直线和未知点所在一条直线的角度,那么可以求得通过将两个已知点坐标带入求得两个点各自所在的直线的方程。通过解这两个方程联立成的方程组就可以得到它们的焦点也就是未知点的坐标。所以这道题是典型的通过数学方法就可以完成的解析几何题目。
深入探讨:
本题的解法比较简单,但是在题目中有许多细节需要考虑:
(1)题目中所定义的坐标轴的X,Y坐标的定义和数学相同,但是的角度定义和数学中不同。题目定义正上方(北)为0o,也就相当于把坐标轴中所有的角都变成它相应的余角了。
(2)本题中角度的定义和数学中不同。数学中通过逆时针旋转而的到的角是正角,而题目中定义的正角是从顺时针开始的。
针对一上两点,对于第一点,由于Turbo Pascal中三角函数的函数的定义都是和数学相同的,因此把坐标轴做适当的变换对解题有帮助。我们只要把所有的角度都再去他们的余角,比如原来是α现在变成90o-α就可以了。由于XY坐标的定义没有改变,点的坐标都不要更改。对于第二点,因为都是用顺时针方向做正角的,我们只要把每个角的度数都去相反数就可以了。
解题步骤:
有了一上对题目的分析,现在就可以开始求解了。
首先读入数据,并且作相应处理。
(1)将航向的角度作变换,变成90o-α的形式;
(2)设航向的角度为α,过船和灯塔的直线关于航向的角度是β,则这条直线关于X轴的角度是α-β。
(3)将所有的角度从弧度制转换为角度制。
然后计算得出未知点和已知点所确定的直线的方程。程序中的方程采用点斜式y=kx+b的形式,记直线关于X坐标的倾角是α,则k=tgα,然后带入已知点的坐标解方程得到b的职。这样就可以得到两个直线方程,联立解方程组 得到(x1,y1)和(X2,y2)。但是由于这道题目可能出现航线和两条直线的倾角为90o的情况。我们要加以特别考虑:
设未知点的坐标位(x,y),两条直线的斜率为k1,k2。首先将x,y,k1,k2赋值为∞。
(1)如果有一个塔的斜率=∞,那么这条直线是平行与Y轴的,方程是x=?。而我们所求的未知点在这条直线上,那么未知点的x坐标一定等于?,直接将x赋值为?而不用计算。
(2)如果两条直线的斜率一样,而他们又有一个公共电也就是我们要求的未知点,那么这两条直线一定重合。所以求不出它们的交点,输出误解。
通过以上步骤求解,本题完成。
结语:
本题是比较简单的几何问题,通过比较简单的分析就可以得出大致的想法。但是存在一些特别的情况比如斜率为∞等等。必须通过细致的分析解决。
|