解题思路:
(学习了别人的方法,原文地址http://hi.baidu.com/watermoon_littlegui/blog/item/ce42cfecd2c20edcb21cb1d6.html):
同一层每相邻两个可求出上一层的其中一个
直到只剩下一个即是最顶层的那个
知道两点坐标和三边长度(其中两边相等),求第三点的坐标。
如图:
已知A、B点坐标以及AC=BC=2,求C点的坐标。
作辅助线AD垂直BD,三角形ABC边AB上的中线AO并延长交AD于F,过0作GE垂直AD于G,
过C做CE垂直G0延长线与E。
AC=BC,O是中点,所有CO垂直AB;
因此C点坐标等于0点坐标加上(或减去OE和CE的长度),O点坐标为(A+B)/2
AB长度由A、B坐标可求,则CO长度len为sqrt( 2^2-(AB/2)^2)
所以只要求得<COE即可求得OE和CE的长度。
由于图中的垂直关系,可以推导出<BAD = <GOF = <COE
sin<BAD = BD / AB = sin<COE
至此,问题就基本解决了,代码如下: