UVa11437
求D点坐标:
D在BC上,直线BC的参数方程为:B+(C-B)*t, 这里D是三等分点,所以D
坐标为B+(C-B)/3 。同理求E点坐标。
然后调用函数求出线段AD和BE的交点P的坐标
同理,求得Q,R的坐标。ΔPQR面积既可有各种方法能够求出来
这种使用直线参数方程求E点坐标的方法,详见白书P257
本题除了学会 理解+应用 书中的参数方程外,另外一个值得学习的地方就是如何处理:rounded to the nearest integer.
printf ( "%.0lf\n", ans );
部分代码如下:
Point solve ( Point A, Point B, Point C ) { Point D = B*2.0/3 + C/3; Vector AD = D-A; Point E = C*2.0/3 + A/3; Vector BE = E-B; return GetLineIntersection(A, AD, B, BE); }